Theorem: CategoryTheory.ComposableArrows.isoMk₅_inv
File: Mathlib/CategoryTheory/ComposableArrows.lean

Proof steps:
state_before: C : Type u_1
inst✝ : Category.{?u.440575, u_1} C
n m : ℕ
F G : ComposableArrows C n
f g : ComposableArrows C 5
app₀ : f.obj' 0 ⋯ ≅ g.obj' 0 ⋯
app₁ : f.obj' 1 ⋯ ≅ g.obj' 1 ⋯
app₂ : f.obj' 2 ⋯ ≅ g.obj' 2 ⋯
app₃ : f.obj' 3 ⋯ ≅ g.obj' 3 ⋯
app₄ : f.obj' 4 ⋯ ≅ g.obj' 4 ⋯
app₅ : f.obj' 5 ⋯ ≅ g.obj' 5 ⋯
w₀ : f.map' 0 1 ⋯ ⋯ ≫ app₁.hom = app₀.hom ≫ g.map' 0 1 ⋯ ⋯
w₁ : f.map' 1 2 ⋯ ⋯ ≫ app₂.hom = app₁.hom ≫ g.map' 1 2 ⋯ ⋯
w₂ : f.map' 2 3 ⋯ ⋯ ≫ app₃.hom = app₂.hom ≫ g.map' 2 3 ⋯ ⋯
w₃ : f.map' 3 4 ⋯ ⋯ ≫ app₄.hom = app₃.hom ≫ g.map' 3 4 ⋯ ⋯
w₄ : f.map' 4 5 ⋯ ⋯ ≫ app₅.hom = app₄.hom ≫ g.map' 4 5 ⋯ ⋯
⊢ g.map' 0 1 ⋯ ⋯ ≫ app₁.inv = app₀.inv ≫ f.map' 0 1 ⋯ ⋯
state_after: no goals
tactic: rw [map'_inv_eq_inv_map' (by valid) app₀ app₁ w₀]
state_before: C : Type u_1
inst✝ : Category.{?u.440575, u_1} C
n m : ℕ
F G : ComposableArrows C n
f g : ComposableArrows C 5
app₀ : f.obj' 0 ⋯ ≅ g.obj' 0 ⋯
app₁ : f.obj' 1 ⋯ ≅ g.obj' 1 ⋯
app₂ : f.obj' 2 ⋯ ≅ g.obj' 2 ⋯
app₃ : f.obj' 3 ⋯ ≅ g.obj' 3 ⋯
app₄ : f.obj' 4 ⋯ ≅ g.obj' 4 ⋯
app₅ : f.obj' 5 ⋯ ≅ g.obj' 5 ⋯
w₀ : f.map' 0 1 ⋯ ⋯ ≫ app₁.hom = app₀.hom ≫ g.map' 0 1 ⋯ ⋯
w₁ : f.map' 1 2 ⋯ ⋯ ≫ app₂.hom = app₁.hom ≫ g.map' 1 2 ⋯ ⋯
w₂ : f.map' 2 3 ⋯ ⋯ ≫ app₃.hom = app₂.hom ≫ g.map' 2 3 ⋯ ⋯
w₃ : f.map' 3 4 ⋯ ⋯ ≫ app₄.hom = app₃.hom ≫ g.map' 3 4 ⋯ ⋯
w₄ : f.map' 4 5 ⋯ ⋯ ≫ app₅.hom = app₄.hom ≫ g.map' 4 5 ⋯ ⋯
⊢ g.map' 1 2 ⋯ ⋯ ≫ app₂.inv = app₁.inv ≫ f.map' 1 2 ⋯ ⋯
state_after: no goals
tactic: rw [map'_inv_eq_inv_map' (by valid) app₁ app₂ w₁]
state_before: C : Type u_1
inst✝ : Category.{?u.440575, u_1} C
n m : ℕ
F G : ComposableArrows C n
f g : ComposableArrows C 5
app₀ : f.obj' 0 ⋯ ≅ g.obj' 0 ⋯
app₁ : f.obj' 1 ⋯ ≅ g.obj' 1 ⋯
app₂ : f.obj' 2 ⋯ ≅ g.obj' 2 ⋯
app₃ : f.obj' 3 ⋯ ≅ g.obj' 3 ⋯
app₄ : f.obj' 4 ⋯ ≅ g.obj' 4 ⋯
app₅ : f.obj' 5 ⋯ ≅ g.obj' 5 ⋯
w₀ : f.map' 0 1 ⋯ ⋯ ≫ app₁.hom = app₀.hom ≫ g.map' 0 1 ⋯ ⋯
w₁ : f.map' 1 2 ⋯ ⋯ ≫ app₂.hom = app₁.hom ≫ g.map' 1 2 ⋯ ⋯
w₂ : f.map' 2 3 ⋯ ⋯ ≫ app₃.hom = app₂.hom ≫ g.map' 2 3 ⋯ ⋯
w₃ : f.map' 3 4 ⋯ ⋯ ≫ app₄.hom = app₃.hom ≫ g.map' 3 4 ⋯ ⋯
w₄ : f.map' 4 5 ⋯ ⋯ ≫ app₅.hom = app₄.hom ≫ g.map' 4 5 ⋯ ⋯
⊢ g.map' 2 3 ⋯ ⋯ ≫ app₃.inv = app₂.inv ≫ f.map' 2 3 ⋯ ⋯
state_after: no goals
tactic: rw [map'_inv_eq_inv_map' (by valid) app₂ app₃ w₂]
state_before: C : Type u_1
inst✝ : Category.{?u.440575, u_1} C
n m : ℕ
F G : ComposableArrows C n
f g : ComposableArrows C 5
app₀ : f.obj' 0 ⋯ ≅ g.obj' 0 ⋯
app₁ : f.obj' 1 ⋯ ≅ g.obj' 1 ⋯
app₂ : f.obj' 2 ⋯ ≅ g.obj' 2 ⋯
app₃ : f.obj' 3 ⋯ ≅ g.obj' 3 ⋯
app₄ : f.obj' 4 ⋯ ≅ g.obj' 4 ⋯
app₅ : f.obj' 5 ⋯ ≅ g.obj' 5 ⋯
w₀ : f.map' 0 1 ⋯ ⋯ ≫ app₁.hom = app₀.hom ≫ g.map' 0 1 ⋯ ⋯
w₁ : f.map' 1 2 ⋯ ⋯ ≫ app₂.hom = app₁.hom ≫ g.map' 1 2 ⋯ ⋯
w₂ : f.map' 2 3 ⋯ ⋯ ≫ app₃.hom = app₂.hom ≫ g.map' 2 3 ⋯ ⋯
w₃ : f.map' 3 4 ⋯ ⋯ ≫ app₄.hom = app₃.hom ≫ g.map' 3 4 ⋯ ⋯
w₄ : f.map' 4 5 ⋯ ⋯ ≫ app₅.hom = app₄.hom ≫ g.map' 4 5 ⋯ ⋯
⊢ g.map' 3 4 ⋯ ⋯ ≫ app₄.inv = app₃.inv ≫ f.map' 3 4 ⋯ ⋯
state_after: no goals
tactic: rw [map'_inv_eq_inv_map' (by valid) app₃ app₄ w₃]
state_before: C : Type u_1
inst✝ : Category.{?u.440575, u_1} C
n m : ℕ
F G : ComposableArrows C n
f g : ComposableArrows C 5
app₀ : f.obj' 0 ⋯ ≅ g.obj' 0 ⋯
app₁ : f.obj' 1 ⋯ ≅ g.obj' 1 ⋯
app₂ : f.obj' 2 ⋯ ≅ g.obj' 2 ⋯
app₃ : f.obj' 3 ⋯ ≅ g.obj' 3 ⋯
app₄ : f.obj' 4 ⋯ ≅ g.obj' 4 ⋯
app₅ : f.obj' 5 ⋯ ≅ g.obj' 5 ⋯
w₀ : f.map' 0 1 ⋯ ⋯ ≫ app₁.hom = app₀.hom ≫ g.map' 0 1 ⋯ ⋯
w₁ : f.map' 1 2 ⋯ ⋯ ≫ app₂.hom = app₁.hom ≫ g.map' 1 2 ⋯ ⋯
w₂ : f.map' 2 3 ⋯ ⋯ ≫ app₃.hom = app₂.hom ≫ g.map' 2 3 ⋯ ⋯
w₃ : f.map' 3 4 ⋯ ⋯ ≫ app₄.hom = app₃.hom ≫ g.map' 3 4 ⋯ ⋯
w₄ : f.map' 4 5 ⋯ ⋯ ≫ app₅.hom = app₄.hom ≫ g.map' 4 5 ⋯ ⋯
⊢ g.map' 4 5 ⋯ ⋯ ≫ app₅.inv = app₄.inv ≫ f.map' 4 5 ⋯ ⋯
state_after: no goals
tactic: rw [map'_inv_eq_inv_map' (by valid) app₄ app₅ w₄]