Theorem: CategoryTheory.Limits.Multicofork.ofSigmaCofork_pt
File: Mathlib/CategoryTheory/Limits/Shapes/Multiequalizer.lean

Proof steps:
state_before: C : Type u
inst✝² : Category.{v, u} C
I : MultispanIndex C
K : Multicofork I
inst✝¹ : HasCoproduct I.left
inst✝ : HasCoproduct I.right
c : Cofork I.fstSigmaMap I.sndSigmaMap
⊢ ∀ ⦃X Y : WalkingMultispan I.fstFrom I.sndFrom⦄ (f : X ⟶ Y),
    I.multispan.map f ≫
        (fun x =>
            match x with
            | WalkingMultispan.left a => Sigma.ι I.left a ≫ I.fstSigmaMap ≫ c.π
            | WalkingMultispan.right b => Sigma.ι I.right b ≫ c.π)
          Y =
      (fun x =>
            match x with
            | WalkingMultispan.left a => Sigma.ι I.left a ≫ I.fstSigmaMap ≫ c.π
            | WalkingMultispan.right b => Sigma.ι I.right b ≫ c.π)
          X ≫
        ((Functor.const (WalkingMultispan I.fstFrom I.sndFrom)).obj c.pt).map f
state_after: case left.left.id
C : Type u
inst✝² : Category.{v, u} C
I : MultispanIndex C
K : Multicofork I
inst✝¹ : HasCoproduct I.left
inst✝ : HasCoproduct I.right
c : Cofork I.fstSigmaMap I.sndSigmaMap
a✝ : I.L
⊢ I.multispan.map (WalkingMultispan.Hom.id (WalkingMultispan.left a✝)) ≫
      (fun x =>
          match x with
          | WalkingMultispan.left a => Sigma.ι I.left a ≫ I.fstSigmaMap ≫ c.π
          | WalkingMultispan.right b => Sigma.ι I.right b ≫ c.π)
        (WalkingMultispan.left a✝) =
    (fun x =>
          match x with
          | WalkingMultispan.left a => Sigma.ι I.left a ≫ I.fstSigmaMap ≫ c.π
          | WalkingMultispan.right b => Sigma.ι I.right b ≫ c.π)
        (WalkingMultispan.left a✝) ≫
      ((Functor.const (WalkingMultispan I.fstFrom I.sndFrom)).obj c.pt).map
        (WalkingMultispan.Hom.id (WalkingMultispan.left a✝))

case left.right.fst
C : Type u
inst✝² : Category.{v, u} C
I : MultispanIndex C
K : Multicofork I
inst✝¹ : HasCoproduct I.left
inst✝ : HasCoproduct I.right
c : Cofork I.fstSigmaMap I.sndSigmaMap
a✝ : I.L
⊢ I.multispan.map (WalkingMultispan.Hom.fst a✝) ≫
      (fun x =>
          match x with
          | WalkingMultispan.left a => Sigma.ι I.left a ≫ I.fstSigmaMap ≫ c.π
          | WalkingMultispan.right b => Sigma.ι I.right b ≫ c.π)
        (WalkingMultispan.right (I.fstFrom a✝)) =
    (fun x =>
          match x with
          | WalkingMultispan.left a => Sigma.ι I.left a ≫ I.fstSigmaMap ≫ c.π
          | WalkingMultispan.right b => Sigma.ι I.right b ≫ c.π)
        (WalkingMultispan.left a✝) ≫
      ((Functor.const (WalkingMultispan I.fstFrom I.sndFrom)).obj c.pt).map (WalkingMultispan.Hom.fst a✝)

case left.right.snd
C : Type u
inst✝² : Category.{v, u} C
I : MultispanIndex C
K : Multicofork I
inst✝¹ : HasCoproduct I.left
inst✝ : HasCoproduct I.right
c : Cofork I.fstSigmaMap I.sndSigmaMap
a✝ : I.L
⊢ I.multispan.map (WalkingMultispan.Hom.snd a✝) ≫
      (fun x =>
          match x with
          | WalkingMultispan.left a => Sigma.ι I.left a ≫ I.fstSigmaMap ≫ c.π
          | WalkingMultispan.right b => Sigma.ι I.right b ≫ c.π)
        (WalkingMultispan.right (I.sndFrom a✝)) =
    (fun x =>
          match x with
          | WalkingMultispan.left a => Sigma.ι I.left a ≫ I.fstSigmaMap ≫ c.π
          | WalkingMultispan.right b => Sigma.ι I.right b ≫ c.π)
        (WalkingMultispan.left a✝) ≫
      ((Functor.const (WalkingMultispan I.fstFrom I.sndFrom)).obj c.pt).map (WalkingMultispan.Hom.snd a✝)

case right.right.id
C : Type u
inst✝² : Category.{v, u} C
I : MultispanIndex C
K : Multicofork I
inst✝¹ : HasCoproduct I.left
inst✝ : HasCoproduct I.right
c : Cofork I.fstSigmaMap I.sndSigmaMap
a✝ : I.R
⊢ I.multispan.map (WalkingMultispan.Hom.id (WalkingMultispan.right a✝)) ≫
      (fun x =>
          match x with
          | WalkingMultispan.left a => Sigma.ι I.left a ≫ I.fstSigmaMap ≫ c.π
          | WalkingMultispan.right b => Sigma.ι I.right b ≫ c.π)
        (WalkingMultispan.right a✝) =
    (fun x =>
          match x with
          | WalkingMultispan.left a => Sigma.ι I.left a ≫ I.fstSigmaMap ≫ c.π
          | WalkingMultispan.right b => Sigma.ι I.right b ≫ c.π)
        (WalkingMultispan.right a✝) ≫
      ((Functor.const (WalkingMultispan I.fstFrom I.sndFrom)).obj c.pt).map
        (WalkingMultispan.Hom.id (WalkingMultispan.right a✝))
tactic: rintro (_ | _) (_ | _) (_ | _ | _)