Documentation

Mathlib.CategoryTheory.Localization.Bousfield

Bousfield localization #

Given a predicate P : ObjectProperty C on the objects of a category C, we define W.isLocal : MorphismProperty C as the class of morphisms f : X ⟶ Y such that for any Z : C such that P Z, the precomposition with f induces a bijection (Y ⟶ Z) ≃ (X ⟶ Z).

(This construction is part of the left Bousfield localization in the context of model categories.)

When G ⊣ F is an adjunction with F : C ⥤ D fully faithful, then G : D ⥤ C is a localization functor for the class isLocal (· ∈ Set.range F.obj), which then identifies to the inverse image by G of the class of isomorphisms in C.

The dual results are also obtained.

References #

Left Bousfield localization #

Given P : ObjectProperty C, 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). (One of the applications of this notion is the left Bousfield localization of model categories.)

Equations
Instances For
    noncomputable def CategoryTheory.ObjectProperty.isLocal.homEquiv {C : Type u_1} [Category.{v_1, u_1} C] {P : ObjectProperty C} {X Y : C} {f : X Y} (hf : P.isLocal f) (Z : C) (hZ : P Z) :
    (Y Z) (X Z)

    The bijection (Y ⟶ Z) ≃ (X ⟶ Z) induced by f : X ⟶ Y when P.isLocal f and P Z.

    Equations
    Instances For
      @[simp]
      theorem CategoryTheory.ObjectProperty.isLocal.homEquiv_apply {C : Type u_1} [Category.{v_1, u_1} C] {P : ObjectProperty C} {X Y : C} {f : X Y} (hf : P.isLocal f) (Z : C) (hZ : P Z) (g : Y Z) :
      theorem CategoryTheory.ObjectProperty.isLocal_iff_isIso {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) {X Y : C} (f : X Y) (hX : P X) (hY : P Y) :

      Right Bousfield localization #

      Given P : ObjectProperty C, this is the class of morphisms g : Y ⟶ Z such that for all X : C such that P X, the postcomposition with g induces a bijection (X ⟶ Y) ≃ (X ⟶ Z). (One of the applications of this notion is the right Bousfield localization of model categories.)

      Equations
      Instances For
        noncomputable def CategoryTheory.ObjectProperty.isColocal.homEquiv {C : Type u_1} [Category.{v_1, u_1} C] {P : ObjectProperty C} {Y Z : C} {g : Y Z} (hg : P.isColocal g) (X : C) (hX : P X) :
        (X Y) (X Z)

        The bijection (X ⟶ Y) ≃ (X ⟶ Z) induced by g : Y ⟶ Z when P.isColocal g and P X.

        Equations
        Instances For
          @[simp]
          theorem CategoryTheory.ObjectProperty.isColocal.homEquiv_apply {C : Type u_1} [Category.{v_1, u_1} C] {P : ObjectProperty C} {Y Z : C} {g : Y Z} (hg : P.isColocal g) (X : C) (hX : P X) (f : X Y) :
          theorem CategoryTheory.ObjectProperty.isColocal_iff_isIso {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) {X Y : C} (f : X Y) (hX : P X) (hY : P Y) :

          Bousfield localization and adjunctions #

          theorem CategoryTheory.ObjectProperty.isLocal_adj_unit_app {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] {F : Functor C D} {G : Functor D C} (adj : G F) [F.Full] [F.Faithful] (X : D) :
          isLocal (fun (x : D) => x Set.range F.obj) (adj.unit.app X)
          theorem CategoryTheory.ObjectProperty.isLocal_iff_isIso_map {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] {F : Functor C D} {G : Functor D C} (adj : G F) [F.Full] [F.Faithful] {X Y : D} (f : X Y) :
          isLocal (fun (x : D) => x Set.range F.obj) f IsIso (G.map f)
          theorem CategoryTheory.ObjectProperty.isLocalization_isLocal {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] {F : Functor C D} {G : Functor D C} (adj : G F) [F.Full] [F.Faithful] :
          G.IsLocalization (isLocal fun (x : D) => x Set.range F.obj)
          theorem CategoryTheory.ObjectProperty.isColocal_adj_counit_app {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] {F : Functor C D} {G : Functor D C} (adj : G F) [G.Full] [G.Faithful] (X : C) :
          isColocal (fun (x : C) => x Set.range G.obj) (adj.counit.app X)
          theorem CategoryTheory.ObjectProperty.isColocal_iff_isIso_map {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] {F : Functor C D} {G : Functor D C} (adj : G F) [G.Full] [G.Faithful] {X Y : C} (f : X Y) :
          isColocal (fun (x : C) => x Set.range G.obj) f IsIso (F.map f)
          @[deprecated CategoryTheory.ObjectProperty.le_isLocal_isLocal (since := "2025-11-20")]

          Alias of CategoryTheory.ObjectProperty.le_isLocal_isLocal.

          @[deprecated CategoryTheory.MorphismProperty.le_isLocal_isLocal (since := "2025-11-20")]

          Alias of CategoryTheory.MorphismProperty.le_isLocal_isLocal.

          @[deprecated CategoryTheory.ObjectProperty.isLocal (since := "2025-11-20")]

          Alias of CategoryTheory.ObjectProperty.isLocal.


          Given P : ObjectProperty C, 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). (One of the applications of this notion is the left Bousfield localization of model categories.)

          Equations
          Instances For
            @[deprecated CategoryTheory.ObjectProperty.isLocal.homEquiv (since := "2025-11-20")]
            def CategoryTheory.Localization.LeftBousfield.W.homEquiv {C : Type u_1} [Category.{v_1, u_1} C] {P : ObjectProperty C} {X Y : C} {f : X Y} (hf : P.isLocal f) (Z : C) (hZ : P Z) :
            (Y Z) (X Z)

            Alias of CategoryTheory.ObjectProperty.isLocal.homEquiv.


            The bijection (Y ⟶ Z) ≃ (X ⟶ Z) induced by f : X ⟶ Y when P.isLocal f and P Z.

            Equations
            Instances For
              @[deprecated CategoryTheory.ObjectProperty.isoClosure_isLocal (since := "2025-11-20")]

              Alias of CategoryTheory.ObjectProperty.isoClosure_isLocal.

              @[deprecated CategoryTheory.ObjectProperty.isLocal_of_isIso (since := "2025-11-20")]

              Alias of CategoryTheory.ObjectProperty.isLocal_of_isIso.

              @[deprecated CategoryTheory.ObjectProperty.isLocal_iff_isIso (since := "2025-11-20")]
              theorem CategoryTheory.Localization.LeftBousfield.W_iff_isIso {C : Type u_1} [Category.{v_1, u_1} C] (P : ObjectProperty C) {X Y : C} (f : X Y) (hX : P X) (hY : P Y) :

              Alias of CategoryTheory.ObjectProperty.isLocal_iff_isIso.

              @[deprecated CategoryTheory.ObjectProperty.le_isLocal_iff (since := "2025-11-20")]

              Alias of CategoryTheory.ObjectProperty.le_isLocal_iff.

              @[deprecated CategoryTheory.ObjectProperty.isLocal_adj_unit_app (since := "2025-11-20")]
              theorem CategoryTheory.Localization.LeftBousfield.W_adj_unit_app {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] {F : Functor C D} {G : Functor D C} (adj : G F) [F.Full] [F.Faithful] (X : D) :
              ObjectProperty.isLocal (fun (x : D) => x Set.range F.obj) (adj.unit.app X)

              Alias of CategoryTheory.ObjectProperty.isLocal_adj_unit_app.

              @[deprecated CategoryTheory.ObjectProperty.isLocal_iff_isIso_map (since := "2025-11-20")]
              theorem CategoryTheory.Localization.LeftBousfield.W_iff_isIso_map {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] {F : Functor C D} {G : Functor D C} (adj : G F) [F.Full] [F.Faithful] {X Y : D} (f : X Y) :
              ObjectProperty.isLocal (fun (x : D) => x Set.range F.obj) f IsIso (G.map f)

              Alias of CategoryTheory.ObjectProperty.isLocal_iff_isIso_map.

              @[deprecated CategoryTheory.ObjectProperty.isLocal_eq_inverseImage_isomorphisms (since := "2025-11-20")]

              Alias of CategoryTheory.ObjectProperty.isLocal_eq_inverseImage_isomorphisms.

              @[deprecated CategoryTheory.ObjectProperty.isLocalization_isLocal (since := "2025-11-20")]

              Alias of CategoryTheory.ObjectProperty.isLocalization_isLocal.