Theorem: CategoryTheory.Functor.isRightDerivedFunctor_iff_isIso_rightDerivedDesc
File: Mathlib/CategoryTheory/Functor/Derived/RightDerived.lean

Proof steps:
state_before: C : Type u_5
C' : Type ?u.64843
D : Type u_3
D' : Type ?u.64849
H : Type u_4
H' : Type ?u.64855
inst✝⁹ : Category.{u_6, u_5} C
inst✝⁸ : Category.{?u.64863, ?u.64843} C'
inst✝⁷ : Category.{u_1, u_3} D
inst✝⁶ : Category.{?u.64871, ?u.64849} D'
inst✝⁵ : Category.{u_2, u_4} H
inst✝⁴ : Category.{?u.64879, ?u.64855} H'
RF RF' RF'' : D ⥤ H
F F' F'' : C ⥤ H
e : F ≅ F'
L : C ⥤ D
α : F ⟶ L ⋙ RF
α' : F' ⟶ L ⋙ RF'
α'' : F'' ⟶ L ⋙ RF''
α'₂ : F ⟶ L ⋙ RF'
W : MorphismProperty C
inst✝³ : L.IsLocalization W
inst✝² : RF.IsRightDerivedFunctor α W
inst✝¹ : RF'.IsRightDerivedFunctor α' W
inst✝ : RF''.IsRightDerivedFunctor α'' W
G : D ⥤ H
β : F ⟶ L ⋙ G
⊢ G.IsRightDerivedFunctor β W ↔ IsIso (RF.rightDerivedDesc α W G β)
state_after: C : Type u_5
C' : Type ?u.64843
D : Type u_3
D' : Type ?u.64849
H : Type u_4
H' : Type ?u.64855
inst✝⁹ : Category.{u_6, u_5} C
inst✝⁸ : Category.{?u.64863, ?u.64843} C'
inst✝⁷ : Category.{u_1, u_3} D
inst✝⁶ : Category.{?u.64871, ?u.64849} D'
inst✝⁵ : Category.{u_2, u_4} H
inst✝⁴ : Category.{?u.64879, ?u.64855} H'
RF RF' RF'' : D ⥤ H
F F' F'' : C ⥤ H
e : F ≅ F'
L : C ⥤ D
α : F ⟶ L ⋙ RF
α' : F' ⟶ L ⋙ RF'
α'' : F'' ⟶ L ⋙ RF''
α'₂ : F ⟶ L ⋙ RF'
W : MorphismProperty C
inst✝³ : L.IsLocalization W
inst✝² : RF.IsRightDerivedFunctor α W
inst✝¹ : RF'.IsRightDerivedFunctor α' W
inst✝ : RF''.IsRightDerivedFunctor α'' W
G : D ⥤ H
β : F ⟶ L ⋙ G
⊢ G.IsLeftKanExtension β ↔ IsIso (RF.rightDerivedDesc α W G β)
tactic: rw [isRightDerivedFunctor_iff_isLeftKanExtension]
state_before: C : Type u_5
C' : Type ?u.64843
D : Type u_3
D' : Type ?u.64849
H : Type u_4
H' : Type ?u.64855
inst✝⁹ : Category.{u_6, u_5} C
inst✝⁸ : Category.{?u.64863, ?u.64843} C'
inst✝⁷ : Category.{u_1, u_3} D
inst✝⁶ : Category.{?u.64871, ?u.64849} D'
inst✝⁵ : Category.{u_2, u_4} H
inst✝⁴ : Category.{?u.64879, ?u.64855} H'
RF RF' RF'' : D ⥤ H
F F' F'' : C ⥤ H
e : F ≅ F'
L : C ⥤ D
α : F ⟶ L ⋙ RF
α' : F' ⟶ L ⋙ RF'
α'' : F'' ⟶ L ⋙ RF''
α'₂ : F ⟶ L ⋙ RF'
W : MorphismProperty C
inst✝³ : L.IsLocalization W
inst✝² : RF.IsRightDerivedFunctor α W
inst✝¹ : RF'.IsRightDerivedFunctor α' W
inst✝ : RF''.IsRightDerivedFunctor α'' W
G : D ⥤ H
β : F ⟶ L ⋙ G
⊢ G.IsLeftKanExtension β ↔ IsIso (RF.rightDerivedDesc α W G β)
state_after: C : Type u_5
C' : Type ?u.64843
D : Type u_3
D' : Type ?u.64849
H : Type u_4
H' : Type ?u.64855
inst✝⁹ : Category.{u_6, u_5} C
inst✝⁸ : Category.{?u.64863, ?u.64843} C'
inst✝⁷ : Category.{u_1, u_3} D
inst✝⁶ : Category.{?u.64871, ?u.64849} D'
inst✝⁵ : Category.{u_2, u_4} H
inst✝⁴ : Category.{?u.64879, ?u.64855} H'
RF RF' RF'' : D ⥤ H
F F' F'' : C ⥤ H
e : F ≅ F'
L : C ⥤ D
α : F ⟶ L ⋙ RF
α' : F' ⟶ L ⋙ RF'
α'' : F'' ⟶ L ⋙ RF''
α'₂ : F ⟶ L ⋙ RF'
W : MorphismProperty C
inst✝³ : L.IsLocalization W
inst✝² : RF.IsRightDerivedFunctor α W
inst✝¹ : RF'.IsRightDerivedFunctor α' W
inst✝ : RF''.IsRightDerivedFunctor α'' W
G : D ⥤ H
β : F ⟶ L ⋙ G
this : RF.IsLeftKanExtension α
⊢ G.IsLeftKanExtension β ↔ IsIso (RF.rightDerivedDesc α W G β)
tactic: have := IsRightDerivedFunctor.isLeftKanExtension _ α W
state_before: C : Type u_5
C' : Type ?u.64843
D : Type u_3
D' : Type ?u.64849
H : Type u_4
H' : Type ?u.64855
inst✝⁹ : Category.{u_6, u_5} C
inst✝⁸ : Category.{?u.64863, ?u.64843} C'
inst✝⁷ : Category.{u_1, u_3} D
inst✝⁶ : Category.{?u.64871, ?u.64849} D'
inst✝⁵ : Category.{u_2, u_4} H
inst✝⁴ : Category.{?u.64879, ?u.64855} H'
RF RF' RF'' : D ⥤ H
F F' F'' : C ⥤ H
e : F ≅ F'
L : C ⥤ D
α : F ⟶ L ⋙ RF
α' : F' ⟶ L ⋙ RF'
α'' : F'' ⟶ L ⋙ RF''
α'₂ : F ⟶ L ⋙ RF'
W : MorphismProperty C
inst✝³ : L.IsLocalization W
inst✝² : RF.IsRightDerivedFunctor α W
inst✝¹ : RF'.IsRightDerivedFunctor α' W
inst✝ : RF''.IsRightDerivedFunctor α'' W
G : D ⥤ H
β : F ⟶ L ⋙ G
this : RF.IsLeftKanExtension α
⊢ G.IsLeftKanExtension β ↔ IsIso (RF.rightDerivedDesc α W G β)
state_after: no goals
tactic: exact isLeftKanExtension_iff_isIso _ α _ (by simp)