Theorem: CategoryTheory.NatTrans.CommShift.of_isIso
File: Mathlib/CategoryTheory/Shift/CommShift.lean

Proof steps:
state_before: C : Type u_1
D : Type u_2
E : Type u_3
J : Type u_4
inst✝¹⁶ : Category.{u_7, u_1} C
inst✝¹⁵ : Category.{u_6, u_2} D
inst✝¹⁴ : Category.{?u.121665, u_3} E
inst✝¹³ : Category.{?u.121669, u_4} J
F₁ F₂ F₃ : C ⥤ D
τ : F₁ ⟶ F₂
τ' : F₂ ⟶ F₃
e : F₁ ≅ F₂
G G' : D ⥤ E
τ'' : G ⟶ G'
H : E ⥤ J
A : Type u_5
inst✝¹² : AddMonoid A
inst✝¹¹ : HasShift C A
inst✝¹⁰ : HasShift D A
inst✝⁹ : HasShift E A
inst✝⁸ : HasShift J A
inst✝⁷ : F₁.CommShift A
inst✝⁶ : F₂.CommShift A
inst✝⁵ : F₃.CommShift A
inst✝⁴ : G.CommShift A
inst✝³ : G'.CommShift A
inst✝² : H.CommShift A
inst✝¹ : IsIso τ
inst✝ : CommShift τ A
⊢ CommShift (inv τ) A
state_after: C : Type u_1
D : Type u_2
E : Type u_3
J : Type u_4
inst✝¹⁶ : Category.{u_7, u_1} C
inst✝¹⁵ : Category.{u_6, u_2} D
inst✝¹⁴ : Category.{?u.121665, u_3} E
inst✝¹³ : Category.{?u.121669, u_4} J
F₁ F₂ F₃ : C ⥤ D
τ : F₁ ⟶ F₂
τ' : F₂ ⟶ F₃
e : F₁ ≅ F₂
G G' : D ⥤ E
τ'' : G ⟶ G'
H : E ⥤ J
A : Type u_5
inst✝¹² : AddMonoid A
inst✝¹¹ : HasShift C A
inst✝¹⁰ : HasShift D A
inst✝⁹ : HasShift E A
inst✝⁸ : HasShift J A
inst✝⁷ : F₁.CommShift A
inst✝⁶ : F₂.CommShift A
inst✝⁵ : F₃.CommShift A
inst✝⁴ : G.CommShift A
inst✝³ : G'.CommShift A
inst✝² : H.CommShift A
inst✝¹ : IsIso τ
inst✝ : CommShift τ A
this : CommShift (asIso τ).hom A
⊢ CommShift (inv τ) A
tactic: haveI : NatTrans.CommShift (asIso τ).hom A := by
    dsimp
    infer_instance
state_before: C : Type u_1
D : Type u_2
E : Type u_3
J : Type u_4
inst✝¹⁶ : Category.{u_7, u_1} C
inst✝¹⁵ : Category.{u_6, u_2} D
inst✝¹⁴ : Category.{?u.121665, u_3} E
inst✝¹³ : Category.{?u.121669, u_4} J
F₁ F₂ F₃ : C ⥤ D
τ : F₁ ⟶ F₂
τ' : F₂ ⟶ F₃
e : F₁ ≅ F₂
G G' : D ⥤ E
τ'' : G ⟶ G'
H : E ⥤ J
A : Type u_5
inst✝¹² : AddMonoid A
inst✝¹¹ : HasShift C A
inst✝¹⁰ : HasShift D A
inst✝⁹ : HasShift E A
inst✝⁸ : HasShift J A
inst✝⁷ : F₁.CommShift A
inst✝⁶ : F₂.CommShift A
inst✝⁵ : F₃.CommShift A
inst✝⁴ : G.CommShift A
inst✝³ : G'.CommShift A
inst✝² : H.CommShift A
inst✝¹ : IsIso τ
inst✝ : CommShift τ A
this : CommShift (asIso τ).hom A
⊢ CommShift (inv τ) A
state_after: C : Type u_1
D : Type u_2
E : Type u_3
J : Type u_4
inst✝¹⁶ : Category.{u_7, u_1} C
inst✝¹⁵ : Category.{u_6, u_2} D
inst✝¹⁴ : Category.{?u.121665, u_3} E
inst✝¹³ : Category.{?u.121669, u_4} J
F₁ F₂ F₃ : C ⥤ D
τ : F₁ ⟶ F₂
τ' : F₂ ⟶ F₃
e : F₁ ≅ F₂
G G' : D ⥤ E
τ'' : G ⟶ G'
H : E ⥤ J
A : Type u_5
inst✝¹² : AddMonoid A
inst✝¹¹ : HasShift C A
inst✝¹⁰ : HasShift D A
inst✝⁹ : HasShift E A
inst✝⁸ : HasShift J A
inst✝⁷ : F₁.CommShift A
inst✝⁶ : F₂.CommShift A
inst✝⁵ : F₃.CommShift A
inst✝⁴ : G.CommShift A
inst✝³ : G'.CommShift A
inst✝² : H.CommShift A
inst✝¹ : IsIso τ
inst✝ : CommShift τ A
this : CommShift (asIso τ).hom A
⊢ CommShift (asIso τ).inv A
tactic: change NatTrans.CommShift (asIso τ).inv A
state_before: C : Type u_1
D : Type u_2
E : Type u_3
J : Type u_4
inst✝¹⁶ : Category.{u_7, u_1} C
inst✝¹⁵ : Category.{u_6, u_2} D
inst✝¹⁴ : Category.{?u.121665, u_3} E
inst✝¹³ : Category.{?u.121669, u_4} J
F₁ F₂ F₃ : C ⥤ D
τ : F₁ ⟶ F₂
τ' : F₂ ⟶ F₃
e : F₁ ≅ F₂
G G' : D ⥤ E
τ'' : G ⟶ G'
H : E ⥤ J
A : Type u_5
inst✝¹² : AddMonoid A
inst✝¹¹ : HasShift C A
inst✝¹⁰ : HasShift D A
inst✝⁹ : HasShift E A
inst✝⁸ : HasShift J A
inst✝⁷ : F₁.CommShift A
inst✝⁶ : F₂.CommShift A
inst✝⁵ : F₃.CommShift A
inst✝⁴ : G.CommShift A
inst✝³ : G'.CommShift A
inst✝² : H.CommShift A
inst✝¹ : IsIso τ
inst✝ : CommShift τ A
this : CommShift (asIso τ).hom A
⊢ CommShift (asIso τ).inv A
state_after: no goals
tactic: infer_instance