Module: Mathlib.Logic.Equiv.Sum

Goal state before:
pp: α✝ : Sort u_1
α₁ : Sort u_2
α₂ : Sort u_3
β✝ : Sort u_4
β₁ : Sort u_5
β₂ : Sort u_6
γ✝ : Sort u_7
δ✝ : Sort u_8
α : Type ?u.19
β : Type ?u.18
γ : Type ?u.21
δ : Type ?u.20
x : (α ⊕ γ) ⊕ β ⊕ δ
⊢ (⇑(sumAssoc (α ⊕ γ) β δ) ∘
        Sum.map (⇑(sumAssoc α γ β).symm) id ∘
          Sum.map (Sum.map id ⇑(sumComm β γ)) id ∘ Sum.map (⇑(sumAssoc α β γ)) id ∘ ⇑(sumAssoc (α ⊕ β) γ δ).symm)
      ((⇑(sumAssoc (α ⊕ β) γ δ) ∘
          Sum.map (⇑(sumAssoc α β γ).symm) id ∘
            Sum.map (Sum.map id ⇑(sumComm β γ).symm) id ∘ Sum.map (⇑(sumAssoc α γ β)) id ∘ ⇑(sumAssoc (α ⊕ γ) β δ).symm)
        x) =
    x

Tactic:
rcases x with ((a | c) | (b | d))

Goal state after:
case inl.inl
α✝ : Sort u_1
α₁ : Sort u_2
α₂ : Sort u_3
β✝ : Sort u_4
β₁ : Sort u_5
β₂ : Sort u_6
γ✝ : Sort u_7
δ✝ : Sort u_8
α : Type ?u.19
β : Type ?u.18
γ : Type ?u.21
δ : Type ?u.20
a : α
⊢ (⇑(sumAssoc (α ⊕ γ) β δ) ∘
        Sum.map (⇑(sumAssoc α γ β).symm) id ∘
          Sum.map (Sum.map id ⇑(sumComm β γ)) id ∘ Sum.map (⇑(sumAssoc α β γ)) id ∘ ⇑(sumAssoc (α ⊕ β) γ δ).symm)
      ((⇑(sumAssoc (α ⊕ β) γ δ) ∘
          Sum.map (⇑(sumAssoc α β γ).symm) id ∘
            Sum.map (Sum.map id ⇑(sumComm β γ).symm) id ∘ Sum.map (⇑(sumAssoc α γ β)) id ∘ ⇑(sumAssoc (α ⊕ γ) β δ).symm)
        (inl (inl a))) =
    inl (inl a)

case inl.inr
α✝ : Sort u_1
α₁ : Sort u_2
α₂ : Sort u_3
β✝ : Sort u_4
β₁ : Sort u_5
β₂ : Sort u_6
γ✝ : Sort u_7
δ✝ : Sort u_8
α : Type ?u.19
β : Type ?u.18
γ : Type ?u.21
δ : Type ?u.20
c : γ
⊢ (⇑(sumAssoc (α ⊕ γ) β δ) ∘
        Sum.map (⇑(sumAssoc α γ β).symm) id ∘
          Sum.map (Sum.map id ⇑(sumComm β γ)) id ∘ Sum.map (⇑(sumAssoc α β γ)) id ∘ ⇑(sumAssoc (α ⊕ β) γ δ).symm)
      ((⇑(sumAssoc (α ⊕ β) γ δ) ∘
          Sum.map (⇑(sumAssoc α β γ).symm) id ∘
            Sum.map (Sum.map id ⇑(sumComm β γ).symm) id ∘ Sum.map (⇑(sumAssoc α γ β)) id ∘ ⇑(sumAssoc (α ⊕ γ) β δ).symm)
        (inl (inr c))) =
    inl (inr c)

case inr.inl
α✝ : Sort u_1
α₁ : Sort u_2
α₂ : Sort u_3
β✝ : Sort u_4
β₁ : Sort u_5
β₂ : Sort u_6
γ✝ : Sort u_7
δ✝ : Sort u_8
α : Type ?u.19
β : Type ?u.18
γ : Type ?u.21
δ : Type ?u.20
b : β
⊢ (⇑(sumAssoc (α ⊕ γ) β δ) ∘
        Sum.map (⇑(sumAssoc α γ β).symm) id ∘
          Sum.map (Sum.map id ⇑(sumComm β γ)) id ∘ Sum.map (⇑(sumAssoc α β γ)) id ∘ ⇑(sumAssoc (α ⊕ β) γ δ).symm)
      ((⇑(sumAssoc (α ⊕ β) γ δ) ∘
          Sum.map (⇑(sumAssoc α β γ).symm) id ∘
            Sum.map (Sum.map id ⇑(sumComm β γ).symm) id ∘ Sum.map (⇑(sumAssoc α γ β)) id ∘ ⇑(sumAssoc (α ⊕ γ) β δ).symm)
        (inr (inl b))) =
    inr (inl b)

case inr.inr
α✝ : Sort u_1
α₁ : Sort u_2
α₂ : Sort u_3
β✝ : Sort u_4
β₁ : Sort u_5
β₂ : Sort u_6
γ✝ : Sort u_7
δ✝ : Sort u_8
α : Type ?u.19
β : Type ?u.18
γ : Type ?u.21
δ : Type ?u.20
d : δ
⊢ (⇑(sumAssoc (α ⊕ γ) β δ) ∘
        Sum.map (⇑(sumAssoc α γ β).symm) id ∘
          Sum.map (Sum.map id ⇑(sumComm β γ)) id ∘ Sum.map (⇑(sumAssoc α β γ)) id ∘ ⇑(sumAssoc (α ⊕ β) γ δ).symm)
      ((⇑(sumAssoc (α ⊕ β) γ δ) ∘
          Sum.map (⇑(sumAssoc α β γ).symm) id ∘
            Sum.map (Sum.map id ⇑(sumComm β γ).symm) id ∘ Sum.map (⇑(sumAssoc α γ β)) id ∘ ⇑(sumAssoc (α ⊕ γ) β δ).symm)
        (inr (inr d))) =
    inr (inr d)