-- Module: Mathlib.CategoryTheory.Limits.Bicones
Goal:
J : Type v₁
inst : SmallCategory J
C : Type u₁
inst_1 : Category.{v₁, u₁} C
F : J ⥤ C
c₁ c₂ : Cone F
X : Bicone J
left :
  Eq.{v₁ + 1} (α :=
    Quiver.Hom.{v₁, u₁} (V := C)
      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
    (@BiconeHom.casesOn _ _
        (fun (a a_1 : Bicone J) (x : BiconeHom J a a_1) ↦
          (h : Bicone.left = a) →
            (h : Bicone.left = a_1) →
              (h : HEq (α := Quiver.Hom (V := Bicone J) Bicone.left Bicone.left) (𝟙 Bicone.left) x) →
                Quiver.Hom.{v₁, u₁} (V := C)
                  (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                  (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
        Bicone.left Bicone.left (𝟙 Bicone.left)
        (fun (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.left Bicone.left) ↦
          Eq.ndrec (motive := fun {X : Bicone J} ↦
            (f : X ⟶ Bicone.left) →
              (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.left Bicone.left) →
                (h : HEq f (β := BiconeHom J Bicone.left Bicone.left) BiconeHom.left_id) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                      C))
            (fun (f : Quiver.Hom (V := Bicone J) Bicone.left Bicone.left)
                (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.left Bicone.left) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f : Bicone.left ⟶ Y) →
                  (h : HEq f (β := BiconeHom J Bicone.left Bicone.left) BiconeHom.left_id) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f : Quiver.Hom (V := Bicone J) Bicone.left Bicone.left)
                    (h : HEq f (β := BiconeHom J Bicone.left Bicone.left) BiconeHom.left_id) ↦
                  𝟙 (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j))
                ⋯ f)
            ⋯ (𝟙 Bicone.left))
        (fun (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.left Bicone.right) ↦
          Eq.ndrec (motive := fun {X : Bicone J} ↦
            (f : X ⟶ Bicone.left) →
              (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.left Bicone.right) →
                (h : HEq f (β := BiconeHom J Bicone.right Bicone.right) BiconeHom.right_id) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                      C))
            (fun (f : Quiver.Hom (V := Bicone J) Bicone.right Bicone.left)
                (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.left Bicone.right) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f : Bicone.right ⟶ Y) →
                  (h : HEq f (β := BiconeHom J Bicone.right Bicone.right) BiconeHom.right_id) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦
                          F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f : Quiver.Hom (V := Bicone J) Bicone.right Bicone.right)
                    (h : HEq f (β := BiconeHom J Bicone.right Bicone.right) BiconeHom.right_id) ↦
                  𝟙 (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j))
                ⋯ f)
            ⋯ (𝟙 Bicone.left))
        (fun (j : J) (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.left Bicone.left) ↦
          Eq.ndrec (motive := fun {X : Bicone J} ↦
            (f : X ⟶ Bicone.left) →
              (h : Bicone.left = Bicone.diagram j) →
                (h : HEq f (β := BiconeHom J Bicone.left (Bicone.diagram j)) (BiconeHom.left j)) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                      C))
            (fun (f : Quiver.Hom (V := Bicone J) Bicone.left Bicone.left) (h : Bicone.left = Bicone.diagram j) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f : Bicone.left ⟶ Y) →
                  (h : HEq f (β := BiconeHom J Bicone.left (Bicone.diagram j)) (BiconeHom.left j)) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f : Bicone.left ⟶ Bicone.diagram j)
                    (h : HEq f (β := BiconeHom J Bicone.left (Bicone.diagram j)) (BiconeHom.left j)) ↦
                  c₁.π.app j)
                ⋯ f)
            ⋯ (𝟙 Bicone.left))
        (fun (j : J) (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.left Bicone.right) ↦
          Eq.ndrec (motive := fun {X : Bicone J} ↦
            (f : X ⟶ Bicone.left) →
              (h : Bicone.left = Bicone.diagram j) →
                (h : HEq f (β := BiconeHom J Bicone.right (Bicone.diagram j)) (BiconeHom.right j)) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                      C))
            (fun (f : Quiver.Hom (V := Bicone J) Bicone.right Bicone.left) (h : Bicone.left = Bicone.diagram j) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f : Bicone.right ⟶ Y) →
                  (h : HEq f (β := BiconeHom J Bicone.right (Bicone.diagram j)) (BiconeHom.right j)) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦
                          F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f : Bicone.right ⟶ Bicone.diagram j)
                    (h : HEq f (β := BiconeHom J Bicone.right (Bicone.diagram j)) (BiconeHom.right j)) ↦
                  c₂.π.app j)
                ⋯ f)
            ⋯ (𝟙 Bicone.left))
        (fun {j k : J} (f : j ⟶ k) (h : Bicone.left = Bicone.diagram j) ↦
          Eq.ndrec (motive := fun {X : Bicone J} ↦
            (f_1 : X ⟶ Bicone.left) →
              (h : Bicone.left = Bicone.diagram k) →
                (h : f_1 ≍ BiconeHom.diagram f) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                      C))
            (fun (f_1 : Bicone.diagram j ⟶ Bicone.left) (h : Bicone.left = Bicone.diagram k) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f_2 : Bicone.diagram j ⟶ Y) →
                  (h : f_2 ≍ BiconeHom.diagram f) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram j) c₁.pt c₂.pt fun (j : J) ↦
                          F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f_2 : Bicone.diagram j ⟶ Bicone.diagram k) (h : f_2 ≍ BiconeHom.diagram f) ↦ F.map f) ⋯ f_1)
            ⋯ (𝟙 Bicone.left))
        ⋯ ⋯ ⋯ :
      Quiver.Hom.{v₁, u₁} (V := C)
        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
    (𝟙 (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j) :
      Quiver.Hom.{v₁, u₁} (V := C)
        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
right :
  Eq.{v₁ + 1} (α :=
    Quiver.Hom.{v₁, u₁} (V := C)
      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
    (@BiconeHom.casesOn _ _
        (fun (a a_1 : Bicone J) (x : BiconeHom J a a_1) ↦
          (h : Bicone.right = a) →
            (h : Bicone.right = a_1) →
              (h : HEq (α := Quiver.Hom (V := Bicone J) Bicone.right Bicone.right) (𝟙 Bicone.right) x) →
                Quiver.Hom.{v₁, u₁} (V := C)
                  (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                  (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                    C))
        Bicone.right Bicone.right (𝟙 Bicone.right)
        (fun (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.right Bicone.left) ↦
          Eq.ndrec (motive := fun {X : Bicone J} ↦
            (f : X ⟶ Bicone.right) →
              (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.right Bicone.left) →
                (h : HEq f (β := BiconeHom J Bicone.left Bicone.left) BiconeHom.left_id) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                      C))
            (fun (f : Quiver.Hom (V := Bicone J) Bicone.left Bicone.right)
                (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.right Bicone.left) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f : Bicone.left ⟶ Y) →
                  (h : HEq f (β := BiconeHom J Bicone.left Bicone.left) BiconeHom.left_id) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f : Quiver.Hom (V := Bicone J) Bicone.left Bicone.left)
                    (h : HEq f (β := BiconeHom J Bicone.left Bicone.left) BiconeHom.left_id) ↦
                  𝟙 (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j))
                ⋯ f)
            ⋯ (𝟙 Bicone.right))
        (fun (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.right Bicone.right) ↦
          Eq.ndrec (motive := fun {X : Bicone J} ↦
            (f : X ⟶ Bicone.right) →
              (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.right Bicone.right) →
                (h : HEq f (β := BiconeHom J Bicone.right Bicone.right) BiconeHom.right_id) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                      C))
            (fun (f : Quiver.Hom (V := Bicone J) Bicone.right Bicone.right)
                (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.right Bicone.right) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f : Bicone.right ⟶ Y) →
                  (h : HEq f (β := BiconeHom J Bicone.right Bicone.right) BiconeHom.right_id) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦
                          F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f : Quiver.Hom (V := Bicone J) Bicone.right Bicone.right)
                    (h : HEq f (β := BiconeHom J Bicone.right Bicone.right) BiconeHom.right_id) ↦
                  𝟙 (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j))
                ⋯ f)
            ⋯ (𝟙 Bicone.right))
        (fun (j : J) (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.right Bicone.left) ↦
          Eq.ndrec (motive := fun {X : Bicone J} ↦
            (f : X ⟶ Bicone.right) →
              (h : Bicone.right = Bicone.diagram j) →
                (h : HEq f (β := BiconeHom J Bicone.left (Bicone.diagram j)) (BiconeHom.left j)) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                      C))
            (fun (f : Quiver.Hom (V := Bicone J) Bicone.left Bicone.right) (h : Bicone.right = Bicone.diagram j) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f : Bicone.left ⟶ Y) →
                  (h : HEq f (β := BiconeHom J Bicone.left (Bicone.diagram j)) (BiconeHom.left j)) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f : Bicone.left ⟶ Bicone.diagram j)
                    (h : HEq f (β := BiconeHom J Bicone.left (Bicone.diagram j)) (BiconeHom.left j)) ↦
                  c₁.π.app j)
                ⋯ f)
            ⋯ (𝟙 Bicone.right))
        (fun (j : J) (h : Eq.{v₁ + 1} (α := Bicone J) Bicone.right Bicone.right) ↦
          Eq.ndrec (motive := fun {X : Bicone J} ↦
            (f : X ⟶ Bicone.right) →
              (h : Bicone.right = Bicone.diagram j) →
                (h : HEq f (β := BiconeHom J Bicone.right (Bicone.diagram j)) (BiconeHom.right j)) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                      C))
            (fun (f : Quiver.Hom (V := Bicone J) Bicone.right Bicone.right) (h : Bicone.right = Bicone.diagram j) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f : Bicone.right ⟶ Y) →
                  (h : HEq f (β := BiconeHom J Bicone.right (Bicone.diagram j)) (BiconeHom.right j)) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦
                          F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f : Bicone.right ⟶ Bicone.diagram j)
                    (h : HEq f (β := BiconeHom J Bicone.right (Bicone.diagram j)) (BiconeHom.right j)) ↦
                  c₂.π.app j)
                ⋯ f)
            ⋯ (𝟙 Bicone.right))
        (fun {j k : J} (f : j ⟶ k) (h : Bicone.right = Bicone.diagram j) ↦
          Eq.ndrec (motive := fun {X : Bicone J} ↦
            (f_1 : X ⟶ Bicone.right) →
              (h : Bicone.right = Bicone.diagram k) →
                (h : f_1 ≍ BiconeHom.diagram f) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                      C))
            (fun (f_1 : Bicone.diagram j ⟶ Bicone.right) (h : Bicone.right = Bicone.diagram k) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f_2 : Bicone.diagram j ⟶ Y) →
                  (h : f_2 ≍ BiconeHom.diagram f) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram j) c₁.pt c₂.pt fun (j : J) ↦
                          F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f_2 : Bicone.diagram j ⟶ Bicone.diagram k) (h : f_2 ≍ BiconeHom.diagram f) ↦ F.map f) ⋯ f_1)
            ⋯ (𝟙 Bicone.right))
        ⋯ ⋯ ⋯ :
      Quiver.Hom.{v₁, u₁} (V := C)
        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
    (𝟙 (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j) :
      Quiver.Hom.{v₁, u₁} (V := C)
        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
diagram :
  ∀ (val : J),
    Eq.{v₁ + 1} (α :=
      Quiver.Hom.{v₁, u₁} (V := C)
        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram val) c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram val) c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
      (@BiconeHom.casesOn _ _
          (fun (a a_1 : Bicone J) (x : BiconeHom J a a_1) ↦
            (h : Bicone.diagram val = a) →
              (h : Bicone.diagram val = a_1) →
                (h : HEq (α := Bicone.diagram val ⟶ Bicone.diagram val) (𝟙 (Bicone.diagram val)) x) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram val) c₁.pt c₂.pt fun (j : J) ↦
                        F.obj j :
                      C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram val) c₁.pt c₂.pt fun (j : J) ↦
                        F.obj j :
                      C))
          (Bicone.diagram val) (Bicone.diagram val) (𝟙 (Bicone.diagram val))
          (fun (h : Bicone.diagram val = Bicone.left) ↦
            Eq.ndrec (motive := fun {X : Bicone J} ↦
              (f : X ⟶ Bicone.diagram val) →
                (h : Bicone.diagram val = Bicone.left) →
                  (h : HEq f (β := BiconeHom J Bicone.left Bicone.left) BiconeHom.left_id) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram val) c₁.pt c₂.pt fun (j : J) ↦
                          F.obj j :
                        C))
              (fun (f : Bicone.left ⟶ Bicone.diagram val) (h : Bicone.diagram val = Bicone.left) ↦
                Eq.ndrec (motive := fun {Y : Bicone J} ↦
                  (f : Bicone.left ⟶ Y) →
                    (h : HEq f (β := BiconeHom J Bicone.left Bicone.left) BiconeHom.left_id) →
                      Quiver.Hom.{v₁, u₁} (V := C)
                        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦
                            F.obj j :
                          C)
                        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                  (fun (f : Quiver.Hom (V := Bicone J) Bicone.left Bicone.left)
                      (h : HEq f (β := BiconeHom J Bicone.left Bicone.left) BiconeHom.left_id) ↦
                    𝟙 (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j))
                  ⋯ f)
              ⋯ (𝟙 (Bicone.diagram val)))
          (fun (h : Bicone.diagram val = Bicone.right) ↦
            Eq.ndrec (motive := fun {X : Bicone J} ↦
              (f : X ⟶ Bicone.diagram val) →
                (h : Bicone.diagram val = Bicone.right) →
                  (h : HEq f (β := BiconeHom J Bicone.right Bicone.right) BiconeHom.right_id) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram val) c₁.pt c₂.pt fun (j : J) ↦
                          F.obj j :
                        C))
              (fun (f : Bicone.right ⟶ Bicone.diagram val) (h : Bicone.diagram val = Bicone.right) ↦
                Eq.ndrec (motive := fun {Y : Bicone J} ↦
                  (f : Bicone.right ⟶ Y) →
                    (h : HEq f (β := BiconeHom J Bicone.right Bicone.right) BiconeHom.right_id) →
                      Quiver.Hom.{v₁, u₁} (V := C)
                        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦
                            F.obj j :
                          C)
                        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                  (fun (f : Quiver.Hom (V := Bicone J) Bicone.right Bicone.right)
                      (h : HEq f (β := BiconeHom J Bicone.right Bicone.right) BiconeHom.right_id) ↦
                    𝟙
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦
                        F.obj j))
                  ⋯ f)
              ⋯ (𝟙 (Bicone.diagram val)))
          (fun (j : J) (h : Bicone.diagram val = Bicone.left) ↦
            Eq.ndrec (motive := fun {X : Bicone J} ↦
              (f : X ⟶ Bicone.diagram val) →
                (h : Bicone.diagram val = Bicone.diagram j) →
                  (h : HEq f (β := BiconeHom J Bicone.left (Bicone.diagram j)) (BiconeHom.left j)) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram val) c₁.pt c₂.pt fun (j : J) ↦
                          F.obj j :
                        C))
              (fun (f : Bicone.left ⟶ Bicone.diagram val) (h : Bicone.diagram val = Bicone.diagram j) ↦
                Eq.ndrec (motive := fun {Y : Bicone J} ↦
                  (f : Bicone.left ⟶ Y) →
                    (h : HEq f (β := BiconeHom J Bicone.left (Bicone.diagram j)) (BiconeHom.left j)) →
                      Quiver.Hom.{v₁, u₁} (V := C)
                        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦
                            F.obj j :
                          C)
                        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                  (fun (f : Bicone.left ⟶ Bicone.diagram j)
                      (h : HEq f (β := BiconeHom J Bicone.left (Bicone.diagram j)) (BiconeHom.left j)) ↦
                    c₁.π.app j)
                  ⋯ f)
              ⋯ (𝟙 (Bicone.diagram val)))
          (fun (j : J) (h : Bicone.diagram val = Bicone.right) ↦
            Eq.ndrec (motive := fun {X : Bicone J} ↦
              (f : X ⟶ Bicone.diagram val) →
                (h : Bicone.diagram val = Bicone.diagram j) →
                  (h : HEq f (β := BiconeHom J Bicone.right (Bicone.diagram j)) (BiconeHom.right j)) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram val) c₁.pt c₂.pt fun (j : J) ↦
                          F.obj j :
                        C))
              (fun (f : Bicone.right ⟶ Bicone.diagram val) (h : Bicone.diagram val = Bicone.diagram j) ↦
                Eq.ndrec (motive := fun {Y : Bicone J} ↦
                  (f : Bicone.right ⟶ Y) →
                    (h : HEq f (β := BiconeHom J Bicone.right (Bicone.diagram j)) (BiconeHom.right j)) →
                      Quiver.Hom.{v₁, u₁} (V := C)
                        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦
                            F.obj j :
                          C)
                        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                  (fun (f : Bicone.right ⟶ Bicone.diagram j)
                      (h : HEq f (β := BiconeHom J Bicone.right (Bicone.diagram j)) (BiconeHom.right j)) ↦
                    c₂.π.app j)
                  ⋯ f)
              ⋯ (𝟙 (Bicone.diagram val)))
          (fun {j k : J} (f : j ⟶ k) (h : Bicone.diagram val = Bicone.diagram j) ↦
            Eq.ndrec (motive := fun {X : Bicone J} ↦
              (f_1 : X ⟶ Bicone.diagram val) →
                (h : Bicone.diagram val = Bicone.diagram k) →
                  (h : f_1 ≍ BiconeHom.diagram f) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram val) c₁.pt c₂.pt fun (j : J) ↦
                          F.obj j :
                        C))
              (fun (f_1 : Bicone.diagram j ⟶ Bicone.diagram val) (h : Bicone.diagram val = Bicone.diagram k) ↦
                Eq.ndrec (motive := fun {Y : Bicone J} ↦
                  (f_2 : Bicone.diagram j ⟶ Y) →
                    (h : f_2 ≍ BiconeHom.diagram f) →
                      Quiver.Hom.{v₁, u₁} (V := C)
                        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram j) c₁.pt c₂.pt fun (j : J) ↦
                            F.obj j :
                          C)
                        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                  (fun (f_2 : Bicone.diagram j ⟶ Bicone.diagram k) (h : f_2 ≍ BiconeHom.diagram f) ↦ F.map f) ⋯ f_1)
              ⋯ (𝟙 (Bicone.diagram val)))
          ⋯ ⋯ ⋯ :
        Quiver.Hom.{v₁, u₁} (V := C)
          (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram val) c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
          (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram val) c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
            C))
      (𝟙 (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram val) c₁.pt c₂.pt fun (j : J) ↦ F.obj j) :
        Quiver.Hom.{v₁, u₁} (V := C)
          (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram val) c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
          (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram val) c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
            C))
⊢ Eq.{v₁ + 1} (α :=
    Quiver.Hom.{v₁, u₁} (V := C)
      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
    (@BiconeHom.casesOn _ _
        (fun (a a_1 : Bicone J) (x : BiconeHom J a a_1) ↦
          (h : X = a) →
            (h : X = a_1) →
              (h : HEq (α := X ⟶ X) (𝟙 X) x) →
                Quiver.Hom.{v₁, u₁} (V := C)
                  (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                  (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
        X X (𝟙 X)
        (fun (h : X = Bicone.left) ↦
          Eq.ndrec (motive := fun {X_1 : Bicone J} ↦
            (f : X_1 ⟶ X) →
              (h : X = Bicone.left) →
                (h : HEq f (β := BiconeHom J Bicone.left Bicone.left) BiconeHom.left_id) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X_1 c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
            (fun (f : Bicone.left ⟶ X) (h : X = Bicone.left) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f : Bicone.left ⟶ Y) →
                  (h : HEq f (β := BiconeHom J Bicone.left Bicone.left) BiconeHom.left_id) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f : Quiver.Hom (V := Bicone J) Bicone.left Bicone.left)
                    (h : HEq f (β := BiconeHom J Bicone.left Bicone.left) BiconeHom.left_id) ↦
                  𝟙 (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j))
                ⋯ f)
            ⋯ (𝟙 X))
        (fun (h : X = Bicone.right) ↦
          Eq.ndrec (motive := fun {X_1 : Bicone J} ↦
            (f : X_1 ⟶ X) →
              (h : X = Bicone.right) →
                (h : HEq f (β := BiconeHom J Bicone.right Bicone.right) BiconeHom.right_id) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X_1 c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
            (fun (f : Bicone.right ⟶ X) (h : X = Bicone.right) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f : Bicone.right ⟶ Y) →
                  (h : HEq f (β := BiconeHom J Bicone.right Bicone.right) BiconeHom.right_id) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦
                          F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f : Quiver.Hom (V := Bicone J) Bicone.right Bicone.right)
                    (h : HEq f (β := BiconeHom J Bicone.right Bicone.right) BiconeHom.right_id) ↦
                  𝟙 (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦ F.obj j))
                ⋯ f)
            ⋯ (𝟙 X))
        (fun (j : J) (h : X = Bicone.left) ↦
          Eq.ndrec (motive := fun {X_1 : Bicone J} ↦
            (f : X_1 ⟶ X) →
              (h : X = Bicone.diagram j) →
                (h : HEq f (β := BiconeHom J Bicone.left (Bicone.diagram j)) (BiconeHom.left j)) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X_1 c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
            (fun (f : Bicone.left ⟶ X) (h : X = Bicone.diagram j) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f : Bicone.left ⟶ Y) →
                  (h : HEq f (β := BiconeHom J Bicone.left (Bicone.diagram j)) (BiconeHom.left j)) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.left c₁.pt c₂.pt fun (j : J) ↦ F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f : Bicone.left ⟶ Bicone.diagram j)
                    (h : HEq f (β := BiconeHom J Bicone.left (Bicone.diagram j)) (BiconeHom.left j)) ↦
                  c₁.π.app j)
                ⋯ f)
            ⋯ (𝟙 X))
        (fun (j : J) (h : X = Bicone.right) ↦
          Eq.ndrec (motive := fun {X_1 : Bicone J} ↦
            (f : X_1 ⟶ X) →
              (h : X = Bicone.diagram j) →
                (h : HEq f (β := BiconeHom J Bicone.right (Bicone.diagram j)) (BiconeHom.right j)) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X_1 c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
            (fun (f : Bicone.right ⟶ X) (h : X = Bicone.diagram j) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f : Bicone.right ⟶ Y) →
                  (h : HEq f (β := BiconeHom J Bicone.right (Bicone.diagram j)) (BiconeHom.right j)) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Bicone.right c₁.pt c₂.pt fun (j : J) ↦
                          F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f : Bicone.right ⟶ Bicone.diagram j)
                    (h : HEq f (β := BiconeHom J Bicone.right (Bicone.diagram j)) (BiconeHom.right j)) ↦
                  c₂.π.app j)
                ⋯ f)
            ⋯ (𝟙 X))
        (fun {j k : J} (f : j ⟶ k) (h : X = Bicone.diagram j) ↦
          Eq.ndrec (motive := fun {X_1 : Bicone J} ↦
            (f_1 : X_1 ⟶ X) →
              (h : X = Bicone.diagram k) →
                (h : f_1 ≍ BiconeHom.diagram f) →
                  Quiver.Hom.{v₁, u₁} (V := C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X_1 c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
                    (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
            (fun (f_1 : Bicone.diagram j ⟶ X) (h : X = Bicone.diagram k) ↦
              Eq.ndrec (motive := fun {Y : Bicone J} ↦
                (f_2 : Bicone.diagram j ⟶ Y) →
                  (h : f_2 ≍ BiconeHom.diagram f) →
                    Quiver.Hom.{v₁, u₁} (V := C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) (Bicone.diagram j) c₁.pt c₂.pt fun (j : J) ↦
                          F.obj j :
                        C)
                      (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) Y c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
                (fun (f_2 : Bicone.diagram j ⟶ Bicone.diagram k) (h : f_2 ≍ BiconeHom.diagram f) ↦ F.map f) ⋯ f_1)
            ⋯ (𝟙 X))
        ⋯ ⋯ ⋯ :
      Quiver.Hom.{v₁, u₁} (V := C)
        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))
    (𝟙 (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j) :
      Quiver.Hom.{v₁, u₁} (V := C)
        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C)
        (Bicone.casesOn (motive := fun (x : Bicone J) ↦ C) X c₁.pt c₂.pt fun (j : J) ↦ F.obj j : C))

Tactic:
cases X