Documentation

Mathlib.CategoryTheory.Subobject.Lattice

The lattice of subobjects #

We provide the SemilatticeInf with OrderTop (subobject X) instance when [HasPullback C], and the SemilatticeSup (Subobject X) instance when [HasImages C] [HasBinaryCoproducts C].

Equations
  • CategoryTheory.MonoOver.instInhabitedMonoOver = { default := }
@[simp]

map f sends ⊤ : MonoOver X to ⟨X, f⟩ : MonoOver Y.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    The pullback of the top object in MonoOver Y is (isomorphic to) the top object in MonoOver X.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      There is a morphism from ⊤ : MonoOver A to the pullback of a monomorphism along itself; as the category is thin this is an isomorphism.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        The pullback of a monomorphism along itself is isomorphic to the top object.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          map f sends ⊥ : MonoOver X to ⊥ : MonoOver Y.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            The object underlying ⊥ : Subobject B is (up to isomorphism) the zero object.

            Equations
            Instances For
              @[simp]
              theorem CategoryTheory.MonoOver.inf_map_app {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} :
              ∀ {X Y : CategoryTheory.MonoOver A} (k : X Y) (g : CategoryTheory.MonoOver A), (CategoryTheory.MonoOver.inf.toPrefunctor.map k).app g = CategoryTheory.MonoOver.homMk (CategoryTheory.Limits.pullback.lift CategoryTheory.Limits.pullback.fst (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.pullback.snd k.left) (_ : CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.pullback.fst ((CategoryTheory.MonoOver.forget A).toPrefunctor.obj g).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.CategoryStruct.comp CategoryTheory.Limits.pullback.snd k.left) (CategoryTheory.MonoOver.arrow Y)))

              When [HasPullbacks C], MonoOver A has "intersections", functorial in both arguments.

              As MonoOver A is only a preorder, this doesn't satisfy the axioms of SemilatticeInf, but we reuse all the names from SemilatticeInf because they will be used to construct SemilatticeInf (subobject A) shortly.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def CategoryTheory.MonoOver.infLELeft {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f : CategoryTheory.MonoOver A) (g : CategoryTheory.MonoOver A) :
                (CategoryTheory.MonoOver.inf.toPrefunctor.obj f).toPrefunctor.obj g f

                A morphism from the "infimum" of two objects in MonoOver A to the first object.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def CategoryTheory.MonoOver.infLERight {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f : CategoryTheory.MonoOver A) (g : CategoryTheory.MonoOver A) :
                  (CategoryTheory.MonoOver.inf.toPrefunctor.obj f).toPrefunctor.obj g g

                  A morphism from the "infimum" of two objects in MonoOver A to the second object.

                  Equations
                  Instances For
                    def CategoryTheory.MonoOver.leInf {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f : CategoryTheory.MonoOver A) (g : CategoryTheory.MonoOver A) (h : CategoryTheory.MonoOver A) :
                    (h f)(h g)(h (CategoryTheory.MonoOver.inf.toPrefunctor.obj f).toPrefunctor.obj g)

                    A morphism version of the le_inf axiom.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      When [HasImages C] [HasBinaryCoproducts C], MonoOver A has a sup construction, which is functorial in both arguments, and which on Subobject A will induce a SemilatticeSup.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For

                        A morphism version of le_sup_left.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          A morphism version of le_sup_right.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            def CategoryTheory.MonoOver.supLe {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasImages C] [CategoryTheory.Limits.HasBinaryCoproducts C] {A : C} (f : CategoryTheory.MonoOver A) (g : CategoryTheory.MonoOver A) (h : CategoryTheory.MonoOver A) :
                            (f h)(g h)((CategoryTheory.MonoOver.sup.toPrefunctor.obj f).toPrefunctor.obj g h)

                            A morphism version of sup_le.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              Equations
                              • CategoryTheory.Subobject.instInhabitedSubobject = { default := }

                              The object underlying ⊥ : Subobject B is (up to isomorphism) the initial object.

                              Equations
                              Instances For
                                def CategoryTheory.Subobject.botCoeIsoZero {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasZeroObject C] {B : C} :
                                CategoryTheory.Subobject.underlying.toPrefunctor.obj 0

                                The object underlying ⊥ : Subobject B is (up to isomorphism) the zero object.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For

                                  Sending X : C to Subobject X is a contravariant functor Cᵒᵖ ⥤ Type.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For

                                    The functorial infimum on MonoOver A descends to an infimum on Subobject A.

                                    Equations
                                    Instances For
                                      theorem CategoryTheory.Subobject.inf_le_left {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f : CategoryTheory.Subobject A) (g : CategoryTheory.Subobject A) :
                                      (CategoryTheory.Subobject.inf.toPrefunctor.obj f).toPrefunctor.obj g f
                                      theorem CategoryTheory.Subobject.inf_le_right {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f : CategoryTheory.Subobject A) (g : CategoryTheory.Subobject A) :
                                      (CategoryTheory.Subobject.inf.toPrefunctor.obj f).toPrefunctor.obj g g
                                      theorem CategoryTheory.Subobject.le_inf {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (h : CategoryTheory.Subobject A) (f : CategoryTheory.Subobject A) (g : CategoryTheory.Subobject A) :
                                      h fh gh (CategoryTheory.Subobject.inf.toPrefunctor.obj f).toPrefunctor.obj g
                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      theorem CategoryTheory.Subobject.inf_eq_map_pullback' {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasPullbacks C] {A : C} (f₁ : CategoryTheory.MonoOver A) (f₂ : CategoryTheory.Subobject A) :
                                      (CategoryTheory.Subobject.inf.toPrefunctor.obj (Quotient.mk'' f₁)).toPrefunctor.obj f₂ = (CategoryTheory.Subobject.map (CategoryTheory.MonoOver.arrow f₁)).toPrefunctor.obj ((CategoryTheory.Subobject.pullback (CategoryTheory.MonoOver.arrow f₁)).toPrefunctor.obj f₂)
                                      theorem CategoryTheory.Subobject.inf_def {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasPullbacks C] {B : C} (m : CategoryTheory.Subobject B) (m' : CategoryTheory.Subobject B) :
                                      m m' = (CategoryTheory.Subobject.inf.toPrefunctor.obj m).toPrefunctor.obj m'

                                      commutes with pullback.

                                      theorem CategoryTheory.Subobject.inf_map {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] [CategoryTheory.Limits.HasPullbacks C] {X : C} {Y : C} (g : Y X) [CategoryTheory.Mono g] (f₁ : CategoryTheory.Subobject Y) (f₂ : CategoryTheory.Subobject Y) :
                                      (CategoryTheory.Subobject.map g).toPrefunctor.obj (f₁ f₂) = (CategoryTheory.Subobject.map g).toPrefunctor.obj f₁ (CategoryTheory.Subobject.map g).toPrefunctor.obj f₂

                                      commutes with map.

                                      The functorial supremum on MonoOver A descends to a supremum on Subobject A.

                                      Equations
                                      Instances For
                                        Equations
                                        • CategoryTheory.Subobject.boundedOrder = let src := CategoryTheory.Subobject.orderTop; let src_1 := CategoryTheory.Subobject.orderBot; BoundedOrder.mk

                                        The "wide cospan" diagram, with a small indexing type, constructed from a set of subobjects. (This is just the diagram of all the subobjects pasted together, but using WellPowered C to make the diagram small.)

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For

                                          Auxiliary construction of a cone for le_inf.

                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For

                                            The universal morphism out of the coproduct of a set of subobjects, after using [WellPowered C] to reindex by a small type.

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For
                                              theorem CategoryTheory.Subobject.symm_apply_mem_iff_mem_image {α : Type u_1} {β : Type u_2} (e : α β) (s : Set α) (x : β) :
                                              e.symm x s x e '' s
                                              def CategoryTheory.Subobject.subobjectOrderIso {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {X : C} (Y : CategoryTheory.Subobject X) :
                                              CategoryTheory.Subobject (CategoryTheory.Subobject.underlying.toPrefunctor.obj Y) ≃o (Set.Iic Y)

                                              The subobject lattice of a subobject Y is order isomorphic to the interval Set.Iic Y.

                                              Equations
                                              • One or more equations did not get rendered due to their size.
                                              Instances For