Subobject Classifier #
We define a structure containing the data of a subobject classifier in a category C as
CategoryTheory.Subobject.Classifier C.
c.f. the following Lean 3 code, where similar work was done: https://github.com/b-mehta/topos/blob/master/src/subobject_classifier.lean
Main definitions #
Let C refer to a category with a terminal object.
CategoryTheory.Subobject.Classifier Cis the data of a subobject classifier inC.CategoryTheory.HasSubobjectClassifier Csays that there is at least one subobject classifier.Ω Cdenotes a choice of subobject classifier.
Main results #
It is a theorem that the truth morphism
⊤_ C ⟶ Ω Cis a (split, and therefore regular) monomorphism, simply because its source is the terminal object.An instance of
IsRegularMonoCategory Cis exhibited for any category with a subobject classifier.CategoryTheory.Subobject.Classifier.representableBy: any subobject classifierΩinCrepresents the subobjects functorCategoryTheory.Subobject.presheaf C, assumingChas pullbacks.CategoryTheory.SubobjectRepresentableBy.classifier: any representationΩofCategoryTheory.Subobject.presheaf Cis a subobject classifier inC.CategoryTheory.hasClassifier_isRepresentable_iff: from the two above mappings, we get that a categoryCwith pullbacks has a subobject classifier if and only if the subobjects presheafCategoryTheory.Subobject.presheaf Cis representable (Proposition 1 in Section I.3 of [MM92]).
References #
- [S. MacLane and I. Moerdijk, Sheaves in Geometry and Logic][MM92]
A monomorphism truth : Ω₀ ⟶ Ω is a subobject classifier if, for every monomorphism
m : U ⟶ X in C, there is a unique map χ : X ⟶ Ω such that for some (necessarily unique)
χ₀ : U ⟶ Ω₀ the following square is a pullback square:
U ---------m----------> X
| |
χ₀ U χ m
| |
v v
Ω₀ ------truth--------> Ω
An equivalent formulation replaces Ω₀ with the terminal object.
- Ω₀ : C
The domain of the truth morphism
- Ω : C
The codomain of the truth morphism
The truth morphism of the subobject classifier
The truth morphism is a monomorphism
The top arrow in the pullback square
For any monomorphism
U ⟶ X, there is an associated characteristic mapX ⟶ Ω.
Instances For
Alias of CategoryTheory.Subobject.Classifier.
A monomorphism truth : Ω₀ ⟶ Ω is a subobject classifier if, for every monomorphism
m : U ⟶ X in C, there is a unique map χ : X ⟶ Ω such that for some (necessarily unique)
χ₀ : U ⟶ Ω₀ the following square is a pullback square:
U ---------m----------> X
| |
χ₀ U χ m
| |
v v
Ω₀ ------truth--------> Ω
An equivalent formulation replaces Ω₀ with the terminal object.
Instances For
More explicit constructor in case Ω₀ is already known to be a terminal object.
Instances For
Alias of CategoryTheory.Subobject.Classifier.mkOfTerminalΩ₀.
More explicit constructor in case Ω₀ is already known to be a terminal object.
Instances For
Given c : Classifier C, c.Ω₀ is a terminal object.
Prefer c.χ₀ over c.isTerminalΩ₀.from.
Instances For
Alias of CategoryTheory.Subobject.Classifier.isTerminalΩ₀.
Given c : Classifier C, c.Ω₀ is a terminal object.
Prefer c.χ₀ over c.isTerminalΩ₀.from.
Instances For
Alias of CategoryTheory.Subobject.Classifier.isTerminalFrom_eq_χ₀.
A category C has a subobject classifier if there is at least one subobject classifier.
- exists_classifier : Nonempty (Subobject.Classifier C)
There is some classifier.
Instances
Alias of CategoryTheory.HasSubobjectClassifier.
A category C has a subobject classifier if there is at least one subobject classifier.
Instances For
Notation for the Ω₀ in an arbitrary choice of a subobject classifier
Instances For
Alias of CategoryTheory.HasSubobjectClassifier.Ω₀.
Notation for the Ω₀ in an arbitrary choice of a subobject classifier
Instances For
Notation for the Ω in an arbitrary choice of a subobject classifier
Instances For
Alias of CategoryTheory.HasSubobjectClassifier.Ω.
Notation for the Ω in an arbitrary choice of a subobject classifier
Instances For
Notation for the "truth arrow" in an arbitrary choice of a subobject classifier
Instances For
Alias of CategoryTheory.HasSubobjectClassifier.truth.
Notation for the "truth arrow" in an arbitrary choice of a subobject classifier
Instances For
returns the characteristic morphism of the subobject (m : U ⟶ X) [Mono m]
Instances For
Alias of CategoryTheory.HasSubobjectClassifier.χ.
returns the characteristic morphism of the subobject (m : U ⟶ X) [Mono m]
Instances For
The diagram
U ---------m----------> X
| |
χ₀ U χ m
| |
v v
Ω₀ ------truth--------> Ω
is a pullback square.
Alias of CategoryTheory.HasSubobjectClassifier.isPullback_χ.
The diagram
U ---------m----------> X
| |
χ₀ U χ m
| |
v v
Ω₀ ------truth--------> Ω
is a pullback square.
The diagram
U ---------m----------> X
| |
χ₀ U χ m
| |
v v
Ω₀ ------truth--------> Ω
commutes.
The diagram
U ---------m----------> X
| |
χ₀ U χ m
| |
v v
Ω₀ ------truth--------> Ω
commutes.
Alias of CategoryTheory.HasSubobjectClassifier.comm.
The diagram
U ---------m----------> X
| |
χ₀ U χ m
| |
v v
Ω₀ ------truth--------> Ω
commutes.
χ m is the only map for which the associated square
is a pullback square.
Alias of CategoryTheory.HasSubobjectClassifier.unique.
χ m is the only map for which the associated square
is a pullback square.
Alias of CategoryTheory.HasSubobjectClassifier.truthIsSplitMono.
truth C is a regular monomorphism (because it is split).
Instances For
Alias of CategoryTheory.HasSubobjectClassifier.truthIsRegularMono.
truth C is a regular monomorphism (because it is split).
Instances For
The following diagram
U ---------m----------> X
| |
χ₀ U χ m
| |
v v
Ω₀ ------truth--------> Ω
being a pullback for any monic m means that every monomorphism
in C is the pullback of a regular monomorphism; since regularity
is stable under base change, every monomorphism is regular.
Hence, C is a regular mono category.
It also follows that C is a balanced category.
Alias of CategoryTheory.HasSubobjectClassifier.isRegularMonoCategory.
The following diagram
U ---------m----------> X
| |
χ₀ U χ m
| |
v v
Ω₀ ------truth--------> Ω
being a pullback for any monic m means that every monomorphism
in C is the pullback of a regular monomorphism; since regularity
is stable under base change, every monomorphism is regular.
Hence, C is a regular mono category.
It also follows that C is a balanced category.
If the source of a faithful functor has a subobject classifier, the functor reflects isomorphisms. This holds for any balanced category.
Alias of CategoryTheory.HasSubobjectClassifier.reflectsIsomorphisms.
If the source of a faithful functor has a subobject classifier, the functor reflects isomorphisms. This holds for any balanced category.
If the source of a faithful functor is the opposite category of one with a subobject classifier, the same holds -- the functor reflects isomorphisms.
Alias of CategoryTheory.HasSubobjectClassifier.reflectsIsomorphismsOp.
If the source of a faithful functor is the opposite category of one with a subobject classifier, the same holds -- the functor reflects isomorphisms.
The representability theorem of subobject classifiers #
From classifiers to representations #
The subobject of 𝒞.Ω corresponding to the truth morphism.
Instances For
Alias of CategoryTheory.Subobject.Classifier.truth_as_subobject.
The subobject of 𝒞.Ω corresponding to the truth morphism.
Instances For
Alias of CategoryTheory.Subobject.Classifier.pullback_χ_obj_mk_truth.
Alias of CategoryTheory.Subobject.Classifier.χ_pullback_obj_mk_truth_arrow.
Any subobject classifier Ω represents the subobjects functor Subobject.presheaf.
Instances For
Alias of CategoryTheory.Subobject.Classifier.representableBy.
Any subobject classifier Ω represents the subobjects functor Subobject.presheaf.
Instances For
From representations to classifiers #
Abbreviation to enable dot notation on the hypothesis h stating that the subobjects presheaf
is representable by some object Ω.
Instances For
Alias of CategoryTheory.SubobjectRepresentableBy.
Abbreviation to enable dot notation on the hypothesis h stating that the subobjects presheaf
is representable by some object Ω.
Instances For
h.Ω₀ is the subobject of Ω which corresponds to the identity 𝟙 Ω,
given h : SubobjectRepresentableBy Ω.
Instances For
h.homEquiv acts like an "object comprehension" operator: it maps any characteristic map
f : X ⟶ Ω to the associated subobject of X, obtained by pulling back h.Ω₀ along f.
For any subobject x, the pullback of h.Ω₀ along the characteristic map of x
given by h.homEquiv is x itself.
h.χ m is the characteristic map of monomorphism m given by the bijection h.homEquiv.
Instances For
h.iso m is the isomorphism between m and the pullback of Ω₀
along the characteristic map of m.
Instances For
h.π m is the first projection in the following pullback square:
U --h.π m--> (Ω₀ : C)
| |
m Ω₀.arrow
| |
v v
X -----h.χ m---> Ω
Instances For
The main non-trivial result: h.Ω₀ is actually a terminal object.
Instances For
The unique map to the terminal object.
Instances For
h.isoΩ₀ is the unique isomorphism from h.Ω₀ to the canonical terminal object ⊤_ C.
Instances For
Any representation Ω of Subobject.presheaf C gives a subobject classifier with truth values
object Ω.
Instances For
A category has a subobject classifier if and only if the subobjects functor is representable.
Alias of CategoryTheory.hasSubobjectClassifier_iff_isRepresentable.
A category has a subobject classifier if and only if the subobjects functor is representable.
The unique morphism between classifiers mapping each others characteristic maps
Instances For
Alias of CategoryTheory.Subobject.Classifier.hom.
The unique morphism between classifiers mapping each others characteristic maps
Instances For
Alias of CategoryTheory.Subobject.Classifier.truth_comp_hom.
a concrete equivalence of any two subobject classifiers
Instances For
Alias of CategoryTheory.Subobject.Classifier.uniqueUpToIso.
a concrete equivalence of any two subobject classifiers
Instances For
Being a subobject classifier is preserved under isomorphism.
Instances For
Alias of CategoryTheory.Subobject.Classifier.ofIso.
Being a subobject classifier is preserved under isomorphism.
Instances For
The image of a subobject classifier under an equivalence of categories is a subobject classifier.
Instances For
Alias of CategoryTheory.Subobject.Classifier.ofEquivalence.
The image of a subobject classifier under an equivalence of categories is a subobject classifier.