{C : Type u_1} →
  [inst : CategoryTheory.Category.{v_1, u_1} C] →
    {X Y : C} →
      [inst_1 : CategoryTheory.Limits.HasPullbacks C] →
        {U V₁ V₂ : C} →
          (f : X ⟶ Y) →
            (i : U ⟶ Y) →
              (i₁ : V₁ ⟶ CategoryTheory.Limits.pullback f i) →
                (i₂ : V₂ ⟶ CategoryTheory.Limits.pullback f i) →
                  [inst_2 : CategoryTheory.Limits.HasPullback i₁ i₂] →
                    CategoryTheory.Limits.pullback (CategoryTheory.Limits.pullback.diagonal f)
                        (CategoryTheory.Limits.pullback.map
                          (CategoryTheory.CategoryStruct.comp i₁ (CategoryTheory.Limits.pullback.snd f i))
                          (CategoryTheory.CategoryStruct.comp i₂ (CategoryTheory.Limits.pullback.snd f i)) f f
                          (CategoryTheory.CategoryStruct.comp i₁ (CategoryTheory.Limits.pullback.fst f i))
                          (CategoryTheory.CategoryStruct.comp i₂ (CategoryTheory.Limits.pullback.fst f i)) i ⋯ ⋯) ⟶
                      CategoryTheory.Limits.pullback i₁ i₂