{C : Type u} →
  [inst : CategoryTheory.Category.{v, u} C] →
    {motive : CategoryTheory.Square C → Sort u_1} →
      ({X₁ X₂ X₃ X₄ : C} →
          (f₁₂ : X₁ ⟶ X₂) →
            (f₁₃ : X₁ ⟶ X₃) →
              (f₂₄ : X₂ ⟶ X₄) →
                (f₃₄ : X₃ ⟶ X₄) →
                  (fac : CategoryTheory.CategoryStruct.comp f₁₂ f₂₄ = CategoryTheory.CategoryStruct.comp f₁₃ f₃₄) →
                    motive
                      { X₁ := X₁, X₂ := X₂, X₃ := X₃, X₄ := X₄, f₁₂ := f₁₂, f₁₃ := f₁₃, f₂₄ := f₂₄, f₃₄ := f₃₄,
                        fac := fac }) →
        (t : CategoryTheory.Square C) → motive t