{C : Type u₁} →
  [inst : CategoryTheory.Category.{v₁, u₁} C] →
    {D : Type u₂} →
      [inst_1 : CategoryTheory.Category.{v₂, u₂} D] →
        {J : CategoryTheory.GrothendieckTopology C} →
          {K : CategoryTheory.GrothendieckTopology D} →
            {G : CategoryTheory.Functor C D} →
              {motive : CategoryTheory.CoverPreserving J K G → Sort u} →
                ((cover_preserve :
                      ∀ {U : C} {S : CategoryTheory.Sieve U},
                        S ∈ J U → CategoryTheory.Sieve.functorPushforward G S ∈ K (G.obj U)) →
                    motive ⋯) →
                  (t : CategoryTheory.CoverPreserving J K G) → motive t