File: Mathlib/CategoryTheory/Localization/Resolution.lean

full_name: CategoryTheory.LocalizerMorphism.RightResolution.w
code: /-- The category of right resolutions of an object in the target category
of a localizer morphism. -/
structure RightResolution (X₂ : C₂) where
  /-- an object in the source category -/
  {X₁ : C₁}
  /-- a morphism to an object of the form `Φ.functor.obj X₁` -/
  w : X₂ ⟶ Φ.functor.obj X₁
  hw : W₂ w
goal: X₂ ⟶ Φ.functor.obj self.X₁

full_name: CategoryTheory.LocalizerMorphism.RightResolution
code: /-- The category of right resolutions of an object in the target category
of a localizer morphism. -/
structure RightResolution (X₂ : C₂) where
  /-- an object in the source category -/
  {X₁ : C₁}
  /-- a morphism to an object of the form `Φ.functor.obj X₁` -/
  w : X₂ ⟶ Φ.functor.obj X₁
  hw : W₂ w
goal: Type (max u_1 u_6)

full_name: CategoryTheory.LocalizerMorphism.RightResolution.X₁
code: /-- The category of right resolutions of an object in the target category
of a localizer morphism. -/
structure RightResolution (X₂ : C₂) where
  /-- an object in the source category -/
  {X₁ : C₁}
  /-- a morphism to an object of the form `Φ.functor.obj X₁` -/
  w : X₂ ⟶ Φ.functor.obj X₁
  hw : W₂ w
goal: C₁

full_name: CategoryTheory.LocalizerMorphism.RightResolution.hw
code: /-- The category of right resolutions of an object in the target category
of a localizer morphism. -/
structure RightResolution (X₂ : C₂) where
  /-- an object in the source category -/
  {X₁ : C₁}
  /-- a morphism to an object of the form `Φ.functor.obj X₁` -/
  w : X₂ ⟶ Φ.functor.obj X₁
  hw : W₂ w
goal: W₂ self.w

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.X₁
code: /-- The category of left resolutions of an object in the target category
of a localizer morphism. -/
structure LeftResolution (X₂ : C₂) where
  /-- an object in the source category -/
  {X₁ : C₁}
  /-- a morphism from an object of the form `Φ.functor.obj X₁` -/
  w : Φ.functor.obj X₁ ⟶ X₂
  hw : W₂ w
goal: C₁

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.hw
code: /-- The category of left resolutions of an object in the target category
of a localizer morphism. -/
structure LeftResolution (X₂ : C₂) where
  /-- an object in the source category -/
  {X₁ : C₁}
  /-- a morphism from an object of the form `Φ.functor.obj X₁` -/
  w : Φ.functor.obj X₁ ⟶ X₂
  hw : W₂ w
goal: W₂ self.w

full_name: CategoryTheory.LocalizerMorphism.LeftResolution
code: /-- The category of left resolutions of an object in the target category
of a localizer morphism. -/
structure LeftResolution (X₂ : C₂) where
  /-- an object in the source category -/
  {X₁ : C₁}
  /-- a morphism from an object of the form `Φ.functor.obj X₁` -/
  w : Φ.functor.obj X₁ ⟶ X₂
  hw : W₂ w
goal: Type (max u_1 u_6)

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.w
code: /-- The category of left resolutions of an object in the target category
of a localizer morphism. -/
structure LeftResolution (X₂ : C₂) where
  /-- an object in the source category -/
  {X₁ : C₁}
  /-- a morphism from an object of the form `Φ.functor.obj X₁` -/
  w : Φ.functor.obj X₁ ⟶ X₂
  hw : W₂ w
goal: Φ.functor.obj self.X₁ ⟶ X₂

full_name: CategoryTheory.LocalizerMorphism.RightResolution.mk_surjective
code: lemma RightResolution.mk_surjective (R : Φ.RightResolution X₂) :
    ∃ (X₁ : C₁) (w : X₂ ⟶ Φ.functor.obj X₁) (hw : W₂ w), R = RightResolution.mk w hw 
goal: ∃ X₁ w, ∃ (hw : W₂ w), R = CategoryTheory.LocalizerMorphism.RightResolution.mk w hw

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.mk_surjective
code: lemma LeftResolution.mk_surjective (L : Φ.LeftResolution X₂) :
    ∃ (X₁ : C₁) (w : Φ.functor.obj X₁ ⟶ X₂) (hw : W₂ w), L = LeftResolution.mk w hw 
goal: ∃ X₁ w, ∃ (hw : W₂ w), L = CategoryTheory.LocalizerMorphism.LeftResolution.mk w hw

full_name: CategoryTheory.LocalizerMorphism.HasRightResolutions
code: /-- A localizer morphism has right resolutions when any object has a right resolution. -/
abbrev HasRightResolutions 
goal: Prop

full_name: CategoryTheory.LocalizerMorphism.HasLeftResolutions
code: /-- A localizer morphism has right resolutions when any object has a right resolution. -/
abbrev HasLeftResolutions 
goal: Prop

full_name: CategoryTheory.LocalizerMorphism.RightResolution.Hom.comm
code: /-- The type of morphisms in the category `Φ.RightResolution X₂` (when `W₁` is multiplicative). -/
@[ext]
structure Hom (R R' : Φ.RightResolution X₂) where
  /-- a morphism in the source category -/
  f : R.X₁ ⟶ R'.X₁
  hf : W₁ f
  comm : R.w ≫ Φ.functor.map f = R'.w := by aesop_cat
goal: CategoryTheory.CategoryStruct.comp R.w (Φ.functor.map self.f) = R'.w

full_name: CategoryTheory.LocalizerMorphism.RightResolution.Hom.hf
code: /-- The type of morphisms in the category `Φ.RightResolution X₂` (when `W₁` is multiplicative). -/
@[ext]
structure Hom (R R' : Φ.RightResolution X₂) where
  /-- a morphism in the source category -/
  f : R.X₁ ⟶ R'.X₁
  hf : W₁ f
  comm : R.w ≫ Φ.functor.map f = R'.w := by aesop_cat
goal: W₁ self.f

full_name: CategoryTheory.LocalizerMorphism.RightResolution.Hom.f
code: /-- The type of morphisms in the category `Φ.RightResolution X₂` (when `W₁` is multiplicative). -/
@[ext]
structure Hom (R R' : Φ.RightResolution X₂) where
  /-- a morphism in the source category -/
  f : R.X₁ ⟶ R'.X₁
  hf : W₁ f
  comm : R.w ≫ Φ.functor.map f = R'.w := by aesop_cat
goal: R.X₁ ⟶ R'.X₁

full_name: CategoryTheory.LocalizerMorphism.RightResolution.Hom
code: /-- The type of morphisms in the category `Φ.RightResolution X₂` (when `W₁` is multiplicative). -/
@[ext]
structure Hom (R R' : Φ.RightResolution X₂) where
  /-- a morphism in the source category -/
  f : R.X₁ ⟶ R'.X₁
  hf : W₁ f
  comm : R.w ≫ Φ.functor.map f = R'.w := by aesop_cat
goal: Type u_5

full_name: CategoryTheory.LocalizerMorphism.RightResolution.Hom.id
code: /-- The identity of a object in `Φ.RightResolution X₂`. -/
@[simps]
def Hom.id [W₁.ContainsIdentities] (R : Φ.RightResolution X₂) : Hom R R 
goal: R.Hom R

full_name: CategoryTheory.LocalizerMorphism.RightResolution.Hom.id_f
code: /-- The identity of a object in `Φ.RightResolution X₂`. -/
@[simps]
def Hom.id [W₁.ContainsIdentities] (R : Φ.RightResolution X₂) : Hom R R 
goal: (CategoryTheory.LocalizerMorphism.RightResolution.Hom.id R).f = CategoryTheory.CategoryStruct.id R.X₁

full_name: CategoryTheory.LocalizerMorphism.RightResolution.Hom.comp
code: /-- The composition of morphisms in `Φ.RightResolution X₂`. -/
@[simps]
def Hom.comp {R R' R'' : Φ.RightResolution X₂}
    (φ : Hom R R') (ψ : Hom R' R'') :
    Hom R R'' 
goal: R.Hom R''

full_name: CategoryTheory.LocalizerMorphism.RightResolution.Hom.comp_f
code: /-- The composition of morphisms in `Φ.RightResolution X₂`. -/
@[simps]
def Hom.comp {R R' R'' : Φ.RightResolution X₂}
    (φ : Hom R R') (ψ : Hom R' R'') :
    Hom R R'' 
goal: (φ.comp ψ).f = CategoryTheory.CategoryStruct.comp φ.f ψ.f

full_name: CategoryTheory.LocalizerMorphism.RightResolution.instCategory
code: instance : Category (Φ.RightResolution X₂) 
goal: CategoryTheory.Category.{u_5, max u_1 u_6} (Φ.RightResolution X₂)

full_name: CategoryTheory.LocalizerMorphism.RightResolution.id_f
code: @[simp]
lemma id_f (R : Φ.RightResolution X₂) : Hom.f (𝟙 R) = 𝟙 R.X₁ 
goal: (CategoryTheory.CategoryStruct.id R).f = CategoryTheory.CategoryStruct.id R.X₁

full_name: CategoryTheory.LocalizerMorphism.RightResolution.comp_f
code: @[simp, reassoc]
lemma comp_f {R R' R'' : Φ.RightResolution X₂} (φ : R ⟶ R') (ψ : R' ⟶ R'') :
    (φ ≫ ψ).f = φ.f ≫ ψ.f 
goal: (CategoryTheory.CategoryStruct.comp φ ψ).f = CategoryTheory.CategoryStruct.comp φ.f ψ.f

full_name: CategoryTheory.LocalizerMorphism.RightResolution.hom_ext
code: @[ext]
lemma hom_ext {R R' : Φ.RightResolution X₂} {φ₁ φ₂ : R ⟶ R'} (h : φ₁.f = φ₂.f) :
    φ₁ = φ₂ 
goal: φ₁ = φ₂

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.Hom
code: /-- The type of morphisms in the category `Φ.LeftResolution X₂` (when `W₁` is multiplicative). -/
@[ext]
structure Hom (L L' : Φ.LeftResolution X₂) where
  /-- a morphism in the source category -/
  f : L.X₁ ⟶ L'.X₁
  hf : W₁ f
  comm : Φ.functor.map f ≫ L'.w = L.w := by aesop_cat
goal: Type u_5

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.Hom.comm
code: /-- The type of morphisms in the category `Φ.LeftResolution X₂` (when `W₁` is multiplicative). -/
@[ext]
structure Hom (L L' : Φ.LeftResolution X₂) where
  /-- a morphism in the source category -/
  f : L.X₁ ⟶ L'.X₁
  hf : W₁ f
  comm : Φ.functor.map f ≫ L'.w = L.w := by aesop_cat
goal: CategoryTheory.CategoryStruct.comp (Φ.functor.map self.f) L'.w = L.w

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.Hom.hf
code: /-- The type of morphisms in the category `Φ.LeftResolution X₂` (when `W₁` is multiplicative). -/
@[ext]
structure Hom (L L' : Φ.LeftResolution X₂) where
  /-- a morphism in the source category -/
  f : L.X₁ ⟶ L'.X₁
  hf : W₁ f
  comm : Φ.functor.map f ≫ L'.w = L.w := by aesop_cat
goal: W₁ self.f

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.Hom.f
code: /-- The type of morphisms in the category `Φ.LeftResolution X₂` (when `W₁` is multiplicative). -/
@[ext]
structure Hom (L L' : Φ.LeftResolution X₂) where
  /-- a morphism in the source category -/
  f : L.X₁ ⟶ L'.X₁
  hf : W₁ f
  comm : Φ.functor.map f ≫ L'.w = L.w := by aesop_cat
goal: L.X₁ ⟶ L'.X₁

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.Hom.id_f
code: /-- The identity of a object in `Φ.LeftResolution X₂`. -/
@[simps]
def Hom.id [W₁.ContainsIdentities] (L : Φ.LeftResolution X₂) : Hom L L 
goal: (CategoryTheory.LocalizerMorphism.LeftResolution.Hom.id L).f = CategoryTheory.CategoryStruct.id L.X₁

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.Hom.id
code: /-- The identity of a object in `Φ.LeftResolution X₂`. -/
@[simps]
def Hom.id [W₁.ContainsIdentities] (L : Φ.LeftResolution X₂) : Hom L L 
goal: L.Hom L

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.Hom.comp_f
code: /-- The composition of morphisms in `Φ.LeftResolution X₂`. -/
@[simps]
def Hom.comp {L L' L'' : Φ.LeftResolution X₂}
    (φ : Hom L L') (ψ : Hom L' L'') :
    Hom L L'' 
goal: (φ.comp ψ).f = CategoryTheory.CategoryStruct.comp φ.f ψ.f

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.Hom.comp
code: /-- The composition of morphisms in `Φ.LeftResolution X₂`. -/
@[simps]
def Hom.comp {L L' L'' : Φ.LeftResolution X₂}
    (φ : Hom L L') (ψ : Hom L' L'') :
    Hom L L'' 
goal: L.Hom L''

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.instCategory
code: instance : Category (Φ.LeftResolution X₂) 
goal: CategoryTheory.Category.{u_5, max u_1 u_6} (Φ.LeftResolution X₂)

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.id_f
code: @[simp]
lemma id_f (L : Φ.LeftResolution X₂) : Hom.f (𝟙 L) = 𝟙 L.X₁ 
goal: (CategoryTheory.CategoryStruct.id L).f = CategoryTheory.CategoryStruct.id L.X₁

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.comp_f
code: @[simp, reassoc]
lemma comp_f {L L' L'' : Φ.LeftResolution X₂} (φ : L ⟶ L') (ψ : L' ⟶ L'') :
    (φ ≫ ψ).f = φ.f ≫ ψ.f 
goal: (CategoryTheory.CategoryStruct.comp φ ψ).f = CategoryTheory.CategoryStruct.comp φ.f ψ.f

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.hom_ext
code: @[ext]
lemma hom_ext {L L' : Φ.LeftResolution X₂} {φ₁ φ₂ : L ⟶ L'} (h : φ₁.f = φ₂.f) :
    φ₁ = φ₂ 
goal: φ₁ = φ₂

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.op_w
code: /-- The canonical map `Φ.LeftResolution X₂ → Φ.op.RightResolution (Opposite.op X₂)`. -/
@[simps]
def LeftResolution.op {X₂ : C₂} (L : Φ.LeftResolution X₂) :
    Φ.op.RightResolution (Opposite.op X₂) 
goal: L.op.w = L.w.op

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.op
code: /-- The canonical map `Φ.LeftResolution X₂ → Φ.op.RightResolution (Opposite.op X₂)`. -/
@[simps]
def LeftResolution.op {X₂ : C₂} (L : Φ.LeftResolution X₂) :
    Φ.op.RightResolution (Opposite.op X₂) 
goal: Φ.op.RightResolution (Opposite.op X₂)

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.op_X₁
code: /-- The canonical map `Φ.LeftResolution X₂ → Φ.op.RightResolution (Opposite.op X₂)`. -/
@[simps]
def LeftResolution.op {X₂ : C₂} (L : Φ.LeftResolution X₂) :
    Φ.op.RightResolution (Opposite.op X₂) 
goal: L.op.X₁ = Opposite.op L.X₁

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.unop_X₁
code: /-- The canonical map `Φ.op.LeftResolution X₂ → Φ.RightResolution X₂`. -/
@[simps]
def LeftResolution.unop {X₂ : C₂ᵒᵖ} (L : Φ.op.LeftResolution X₂) :
    Φ.RightResolution X₂.unop 
goal: L.unop.X₁ = Opposite.unop L.X₁

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.unop
code: /-- The canonical map `Φ.op.LeftResolution X₂ → Φ.RightResolution X₂`. -/
@[simps]
def LeftResolution.unop {X₂ : C₂ᵒᵖ} (L : Φ.op.LeftResolution X₂) :
    Φ.RightResolution X₂.unop 
goal: Φ.RightResolution (Opposite.unop X₂)

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.unop_w
code: /-- The canonical map `Φ.op.LeftResolution X₂ → Φ.RightResolution X₂`. -/
@[simps]
def LeftResolution.unop {X₂ : C₂ᵒᵖ} (L : Φ.op.LeftResolution X₂) :
    Φ.RightResolution X₂.unop 
goal: L.unop.w = L.w.unop

full_name: CategoryTheory.LocalizerMorphism.RightResolution.op
code: /-- The canonical map `Φ.RightResolution X₂ → Φ.op.LeftResolution (Opposite.op X₂)`. -/
@[simps]
def RightResolution.op {X₂ : C₂} (L : Φ.RightResolution X₂) :
    Φ.op.LeftResolution (Opposite.op X₂) 
goal: Φ.op.LeftResolution (Opposite.op X₂)

full_name: CategoryTheory.LocalizerMorphism.RightResolution.op_w
code: /-- The canonical map `Φ.RightResolution X₂ → Φ.op.LeftResolution (Opposite.op X₂)`. -/
@[simps]
def RightResolution.op {X₂ : C₂} (L : Φ.RightResolution X₂) :
    Φ.op.LeftResolution (Opposite.op X₂) 
goal: L.op.w = L.w.op

full_name: CategoryTheory.LocalizerMorphism.RightResolution.op_X₁
code: /-- The canonical map `Φ.RightResolution X₂ → Φ.op.LeftResolution (Opposite.op X₂)`. -/
@[simps]
def RightResolution.op {X₂ : C₂} (L : Φ.RightResolution X₂) :
    Φ.op.LeftResolution (Opposite.op X₂) 
goal: L.op.X₁ = Opposite.op L.X₁

full_name: CategoryTheory.LocalizerMorphism.RightResolution.unop_w
code: /-- The canonical map `Φ.op.RightResolution X₂ → Φ.LeftResolution X₂`. -/
@[simps]
def RightResolution.unop {X₂ : C₂ᵒᵖ} (L : Φ.op.RightResolution X₂) :
    Φ.LeftResolution X₂.unop 
goal: L.unop.w = L.w.unop

full_name: CategoryTheory.LocalizerMorphism.RightResolution.unop
code: /-- The canonical map `Φ.op.RightResolution X₂ → Φ.LeftResolution X₂`. -/
@[simps]
def RightResolution.unop {X₂ : C₂ᵒᵖ} (L : Φ.op.RightResolution X₂) :
    Φ.LeftResolution X₂.unop 
goal: Φ.LeftResolution (Opposite.unop X₂)

full_name: CategoryTheory.LocalizerMorphism.RightResolution.unop_X₁
code: /-- The canonical map `Φ.op.RightResolution X₂ → Φ.LeftResolution X₂`. -/
@[simps]
def RightResolution.unop {X₂ : C₂ᵒᵖ} (L : Φ.op.RightResolution X₂) :
    Φ.LeftResolution X₂.unop 
goal: L.unop.X₁ = Opposite.unop L.X₁

full_name: CategoryTheory.LocalizerMorphism.nonempty_leftResolution_iff_op
code: lemma nonempty_leftResolution_iff_op (X₂ : C₂) :
    Nonempty (Φ.LeftResolution X₂) ↔ Nonempty (Φ.op.RightResolution (Opposite.op X₂)) 
goal: Nonempty (Φ.LeftResolution X₂) ↔ Nonempty (Φ.op.RightResolution (Opposite.op X₂))

full_name: CategoryTheory.LocalizerMorphism.nonempty_rightResolution_iff_op
code: lemma nonempty_rightResolution_iff_op (X₂ : C₂) :
    Nonempty (Φ.RightResolution X₂) ↔ Nonempty (Φ.op.LeftResolution (Opposite.op X₂)) 
goal: Nonempty (Φ.RightResolution X₂) ↔ Nonempty (Φ.op.LeftResolution (Opposite.op X₂))

full_name: CategoryTheory.LocalizerMorphism.hasLeftResolutions_iff_op
code: lemma hasLeftResolutions_iff_op : Φ.HasLeftResolutions ↔ Φ.op.HasRightResolutions 
goal: Φ.HasLeftResolutions ↔ Φ.op.HasRightResolutions

full_name: CategoryTheory.LocalizerMorphism.hasRightResolutions_iff_op
code: lemma hasRightResolutions_iff_op : Φ.HasRightResolutions ↔ Φ.op.HasLeftResolutions 
goal: Φ.HasRightResolutions ↔ Φ.op.HasLeftResolutions

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.opFunctor_obj
code: /-- The functor `(Φ.LeftResolution X₂)ᵒᵖ ⥤ Φ.op.RightResolution (Opposite.op X₂)`. -/
@[simps]
def LeftResolution.opFunctor (X₂ : C₂) [W₁.IsMultiplicative] :
    (Φ.LeftResolution X₂)ᵒᵖ ⥤ Φ.op.RightResolution (Opposite.op X₂) 
goal: (CategoryTheory.LocalizerMorphism.LeftResolution.opFunctor Φ X₂).obj L = (Opposite.unop L).op

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.opFunctor
code: /-- The functor `(Φ.LeftResolution X₂)ᵒᵖ ⥤ Φ.op.RightResolution (Opposite.op X₂)`. -/
@[simps]
def LeftResolution.opFunctor (X₂ : C₂) [W₁.IsMultiplicative] :
    (Φ.LeftResolution X₂)ᵒᵖ ⥤ Φ.op.RightResolution (Opposite.op X₂) 
goal: CategoryTheory.Functor (Φ.LeftResolution X₂)ᵒᵖ (Φ.op.RightResolution (Opposite.op X₂))

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.opFunctor_map_f
code: /-- The functor `(Φ.LeftResolution X₂)ᵒᵖ ⥤ Φ.op.RightResolution (Opposite.op X₂)`. -/
@[simps]
def LeftResolution.opFunctor (X₂ : C₂) [W₁.IsMultiplicative] :
    (Φ.LeftResolution X₂)ᵒᵖ ⥤ Φ.op.RightResolution (Opposite.op X₂) 
goal: ∀ {X Y : (Φ.LeftResolution X₂)ᵒᵖ} (φ : X ⟶ Y),
  ((CategoryTheory.LocalizerMorphism.LeftResolution.opFunctor Φ X₂).map φ).f = φ.unop.f.op

full_name: CategoryTheory.LocalizerMorphism.RightResolution.unopFunctor_map_f
code: /-- The functor `(Φ.op.RightResolution X₂)ᵒᵖ ⥤ Φ.LeftResolution X₂.unop`. -/
@[simps]
def RightResolution.unopFunctor (X₂ : C₂ᵒᵖ) [W₁.IsMultiplicative] :
    (Φ.op.RightResolution X₂)ᵒᵖ ⥤ Φ.LeftResolution X₂.unop 
goal: ∀ {X Y : (Φ.op.RightResolution X₂)ᵒᵖ} (φ : X ⟶ Y),
  ((CategoryTheory.LocalizerMorphism.RightResolution.unopFunctor Φ X₂).map φ).f = φ.unop.f.unop

full_name: CategoryTheory.LocalizerMorphism.RightResolution.unopFunctor_obj
code: /-- The functor `(Φ.op.RightResolution X₂)ᵒᵖ ⥤ Φ.LeftResolution X₂.unop`. -/
@[simps]
def RightResolution.unopFunctor (X₂ : C₂ᵒᵖ) [W₁.IsMultiplicative] :
    (Φ.op.RightResolution X₂)ᵒᵖ ⥤ Φ.LeftResolution X₂.unop 
goal: (CategoryTheory.LocalizerMorphism.RightResolution.unopFunctor Φ X₂).obj R = (Opposite.unop R).unop

full_name: CategoryTheory.LocalizerMorphism.RightResolution.unopFunctor
code: /-- The functor `(Φ.op.RightResolution X₂)ᵒᵖ ⥤ Φ.LeftResolution X₂.unop`. -/
@[simps]
def RightResolution.unopFunctor (X₂ : C₂ᵒᵖ) [W₁.IsMultiplicative] :
    (Φ.op.RightResolution X₂)ᵒᵖ ⥤ Φ.LeftResolution X₂.unop 
goal: CategoryTheory.Functor (Φ.op.RightResolution X₂)ᵒᵖ (Φ.LeftResolution (Opposite.unop X₂))

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.opEquivalence
code: /-- The equivalence of categories
`(Φ.LeftResolution X₂)ᵒᵖ ≌ Φ.op.RightResolution (Opposite.op X₂)`. -/
@[simps]
def LeftResolution.opEquivalence (X₂ : C₂) [W₁.IsMultiplicative] :
    (Φ.LeftResolution X₂)ᵒᵖ ≌ Φ.op.RightResolution (Opposite.op X₂) 
goal: (Φ.LeftResolution X₂)ᵒᵖ ≌ Φ.op.RightResolution (Opposite.op X₂)

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.opEquivalence_functor
code: /-- The equivalence of categories
`(Φ.LeftResolution X₂)ᵒᵖ ≌ Φ.op.RightResolution (Opposite.op X₂)`. -/
@[simps]
def LeftResolution.opEquivalence (X₂ : C₂) [W₁.IsMultiplicative] :
    (Φ.LeftResolution X₂)ᵒᵖ ≌ Φ.op.RightResolution (Opposite.op X₂) 
goal: (CategoryTheory.LocalizerMorphism.LeftResolution.opEquivalence Φ X₂).functor =
  CategoryTheory.LocalizerMorphism.LeftResolution.opFunctor Φ X₂

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.opEquivalence_counitIso
code: /-- The equivalence of categories
`(Φ.LeftResolution X₂)ᵒᵖ ≌ Φ.op.RightResolution (Opposite.op X₂)`. -/
@[simps]
def LeftResolution.opEquivalence (X₂ : C₂) [W₁.IsMultiplicative] :
    (Φ.LeftResolution X₂)ᵒᵖ ≌ Φ.op.RightResolution (Opposite.op X₂) 
goal: (CategoryTheory.LocalizerMorphism.LeftResolution.opEquivalence Φ X₂).counitIso =
  CategoryTheory.Iso.refl
    ((CategoryTheory.LocalizerMorphism.RightResolution.unopFunctor Φ (Opposite.op X₂)).rightOp.comp
      (CategoryTheory.LocalizerMorphism.LeftResolution.opFunctor Φ X₂))

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.opEquivalence_inverse
code: /-- The equivalence of categories
`(Φ.LeftResolution X₂)ᵒᵖ ≌ Φ.op.RightResolution (Opposite.op X₂)`. -/
@[simps]
def LeftResolution.opEquivalence (X₂ : C₂) [W₁.IsMultiplicative] :
    (Φ.LeftResolution X₂)ᵒᵖ ≌ Φ.op.RightResolution (Opposite.op X₂) 
goal: (CategoryTheory.LocalizerMorphism.LeftResolution.opEquivalence Φ X₂).inverse =
  (CategoryTheory.LocalizerMorphism.RightResolution.unopFunctor Φ (Opposite.op X₂)).rightOp

full_name: CategoryTheory.LocalizerMorphism.LeftResolution.opEquivalence_unitIso
code: /-- The equivalence of categories
`(Φ.LeftResolution X₂)ᵒᵖ ≌ Φ.op.RightResolution (Opposite.op X₂)`. -/
@[simps]
def LeftResolution.opEquivalence (X₂ : C₂) [W₁.IsMultiplicative] :
    (Φ.LeftResolution X₂)ᵒᵖ ≌ Φ.op.RightResolution (Opposite.op X₂) 
goal: (CategoryTheory.LocalizerMorphism.LeftResolution.opEquivalence Φ X₂).unitIso =
  CategoryTheory.Iso.refl (CategoryTheory.Functor.id (Φ.LeftResolution X₂)ᵒᵖ)

full_name: CategoryTheory.LocalizerMorphism.essSurj_of_hasRightResolutions
code: lemma essSurj_of_hasRightResolutions [Φ.HasRightResolutions] : (Φ.functor ⋙ L₂).EssSurj 
goal: (Φ.functor.comp L₂).EssSurj

full_name: CategoryTheory.LocalizerMorphism.isIso_iff_of_hasRightResolutions
code: lemma isIso_iff_of_hasRightResolutions [Φ.HasRightResolutions] {F G : D₂ ⥤ H} (α : F ⟶ G) :
    IsIso α ↔ ∀ (X₁ : C₁), IsIso (α.app (L₂.obj (Φ.functor.obj X₁))) 
goal: CategoryTheory.IsIso α ↔ ∀ (X₁ : C₁), CategoryTheory.IsIso (α.app (L₂.obj (Φ.functor.obj X₁)))

full_name: CategoryTheory.LocalizerMorphism.essSurj_of_hasLeftResolutions
code: lemma essSurj_of_hasLeftResolutions [Φ.HasLeftResolutions] : (Φ.functor ⋙ L₂).EssSurj 
goal: (Φ.functor.comp L₂).EssSurj

full_name: CategoryTheory.LocalizerMorphism.isIso_iff_of_hasLeftResolutions
code: lemma isIso_iff_of_hasLeftResolutions [Φ.HasLeftResolutions] {F G : D₂ ⥤ H} (α : F ⟶ G) :
    IsIso α ↔ ∀ (X₁ : C₁), IsIso (α.app (L₂.obj (Φ.functor.obj X₁))) 
goal: CategoryTheory.IsIso α ↔ ∀ (X₁ : C₁), CategoryTheory.IsIso (α.app (L₂.obj (Φ.functor.obj X₁)))