{A : Type u₁} →
  {B : Type u₂} →
    {C : Type u₃} →
      [inst : CategoryTheory.Category.{v₁, u₁} A] →
        [inst_1 : CategoryTheory.Category.{v₂, u₂} B] →
          [inst_2 : CategoryTheory.Category.{v₃, u₃} C] →
            {F : CategoryTheory.Functor A B} →
              {G : CategoryTheory.Functor C B} →
                {X : Type u₄} →
                  [inst_3 : CategoryTheory.Category.{v₄, u₄} X] →
                    {x y : CategoryTheory.Limits.CategoricalPullback.CatCommSqOver F G X} →
                      {motive : CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.Hom X x y → Sort u} →
                        ((fst : x.fst ⟶ y.fst) →
                            (snd : x.snd ⟶ y.snd) →
                              (w :
                                  CategoryTheory.CategoryStruct.comp (CategoryTheory.Functor.whiskerRight fst F)
                                      y.iso.hom =
                                    CategoryTheory.CategoryStruct.comp x.iso.hom
                                      (CategoryTheory.Functor.whiskerRight snd G)) →
                                motive { fst := fst, snd := snd, w := w }) →
                          (t : CategoryTheory.Limits.CategoricalPullback.CatCommSqOver.Hom X x y) → motive t