File: Mathlib/CategoryTheory/Localization/Bousfield.lean

full_name: CategoryTheory.Localization.LeftBousfield.W
code: /-- Given a predicate `P : C → Prop`, this is the class of morphisms `f : X ⟶ Y`
such that for all `Z : C` such that `P Z`, the precomposition with `f` induces
a bijection `(Y ⟶ Z) ≃ (X ⟶ Z)`. -/
def W : MorphismProperty C 
goal: CategoryTheory.MorphismProperty C

full_name: CategoryTheory.Localization.LeftBousfield.W.homEquiv
code: /-- The bijection `(Y ⟶ Z) ≃ (X ⟶ Z)` induced by `f : X ⟶ Y` when `LeftBousfield.W P f`
and `P Z`. -/
@[simps! apply]
noncomputable def W.homEquiv {X Y : C} {f : X ⟶ Y} (hf : W P f) (Z : C) (hZ : P Z) :
    (Y ⟶ Z) ≃ (X ⟶ Z) 
goal: (Y ⟶ Z) ≃ (X ⟶ Z)

full_name: CategoryTheory.Localization.LeftBousfield.W.homEquiv_apply
code: /-- The bijection `(Y ⟶ Z) ≃ (X ⟶ Z)` induced by `f : X ⟶ Y` when `LeftBousfield.W P f`
and `P Z`. -/
@[simps! apply]
noncomputable def W.homEquiv {X Y : C} {f : X ⟶ Y} (hf : W P f) (Z : C) (hZ : P Z) :
    (Y ⟶ Z) ≃ (X ⟶ Z) 
goal: (hf.homEquiv Z hZ) g = CategoryTheory.CategoryStruct.comp f g

full_name: CategoryTheory.Localization.LeftBousfield.W_isoClosure
code: lemma W_isoClosure : W (isoClosure P) = W P 
goal: CategoryTheory.Localization.LeftBousfield.W (CategoryTheory.isoClosure P) =
  CategoryTheory.Localization.LeftBousfield.W P

full_name: CategoryTheory.Localization.LeftBousfield.instIsMultiplicativeW
code: instance : (W P).IsMultiplicative 
goal: (CategoryTheory.Localization.LeftBousfield.W P).IsMultiplicative

full_name: CategoryTheory.Localization.LeftBousfield.instHasTwoOutOfThreePropertyW
code: instance : (W P).HasTwoOutOfThreeProperty 
goal: (CategoryTheory.Localization.LeftBousfield.W P).HasTwoOutOfThreeProperty

full_name: CategoryTheory.Localization.LeftBousfield.W_of_isIso
code: lemma W_of_isIso {X Y : C} (f : X ⟶ Y) [IsIso f] : W P f 
goal: CategoryTheory.Localization.LeftBousfield.W P f

full_name: CategoryTheory.Localization.LeftBousfield.W_iff_isIso
code: lemma W_iff_isIso {X Y : C} (f : X ⟶ Y) (hX : P X) (hY : P Y) :
    W P f ↔ IsIso f 
goal: CategoryTheory.Localization.LeftBousfield.W P f ↔ CategoryTheory.IsIso f

full_name: CategoryTheory.Localization.LeftBousfield.W_adj_unit_app
code: lemma W_adj_unit_app (X : D) : W (· ∈ Set.range F.obj) (adj.unit.app X) 
goal: CategoryTheory.Localization.LeftBousfield.W (fun x => x ∈ Set.range F.obj) (adj.unit.app X)

full_name: CategoryTheory.Localization.LeftBousfield.W_iff_isIso_map
code: lemma W_iff_isIso_map {X Y : D} (f : X ⟶ Y) :
    W (· ∈ Set.range F.obj) f ↔ IsIso (G.map f) 
goal: CategoryTheory.Localization.LeftBousfield.W (fun x => x ∈ Set.range F.obj) f ↔ CategoryTheory.IsIso (G.map f)

full_name: CategoryTheory.Localization.LeftBousfield.W_eq_inverseImage_isomorphisms
code: lemma W_eq_inverseImage_isomorphisms :
    W (· ∈ Set.range F.obj) = (MorphismProperty.isomorphisms _).inverseImage G 
goal: (CategoryTheory.Localization.LeftBousfield.W fun x => x ∈ Set.range F.obj) =
  (CategoryTheory.MorphismProperty.isomorphisms C).inverseImage G

full_name: CategoryTheory.Localization.LeftBousfield.isLocalization
code: lemma isLocalization : G.IsLocalization (W (· ∈ Set.range F.obj)) 
goal: G.IsLocalization (CategoryTheory.Localization.LeftBousfield.W fun x => x ∈ Set.range F.obj)