module Cat.Morphism.Factorisation where
Orthogonal factorisation systemsπ
Suppose you have some category and you, inspired by the wisdom of King Solomon, want to chop every morphism in half. A factorisation system on will provide a tool for doing so, in a particularly coherent way. Here, and are predicates on the space of morphisms of First, we package the data of an of a morphism
module _ {o β} (C : Precategory o β) (E : β {a b} β C .Precategory.Hom a b β Ξ©) (M : β {a b} β C .Precategory.Hom a b β Ξ©) where private module C = Cat.Reasoning C
Note that while the archetype for a factorisation system is the (epi,
mono)-factorisation system on the category of sets1, so
that itβs very hard not to refer to these things as images, it
is not the case, in general, nothing is required about the
interaction of epis and monos with the classes
and
Generically, we call the
in the factorisation mediate
, and the
forget
.
record Factorisation {a b} (f : C.Hom a b) : Type (o β β) where field mediating : C.Ob mediate : C.Hom a mediating forget : C.Hom mediating b mediateβE : mediate β E forgetβM : forget β M factors : f β‘ forget C.β mediate
In addition to mandating that every map factors as a map where and the classes must satisfy the following properties:
Every isomorphism is in both and in 2
Both classes are stable under composition: if and then and the same for
record is-factorisation-system : Type (o β β) where field factor : β {a b} (f : C.Hom a b) β Factorisation f is-isoβin-E : β {a b} (f : C.Hom a b) β C.is-invertible f β f β E E-is-stable : β {a b c} (g : C.Hom b c) (f : C.Hom a b) β f β E β g β E β (g C.β f) β E is-isoβin-M : β {a b} (f : C.Hom a b) β C.is-invertible f β f β M M-is-stable : β {a b c} (g : C.Hom b c) (f : C.Hom a b) β f β M β g β M β (g C.β f) β M
Most importantly, the class is exactly the class of morphisms left-orthogonal to A map satisfies if, and only if, for every we have Conversely, a map has if, and only if, we have for every
Eβ₯M : β {a b c d} (f : C.Hom a b) (g : C.Hom c d) β f β E β g β M β mβ₯m C f g
module _ {o β} (C : Precategory o β) (E M : β {a b} β β (C .Precategory.Hom a b)) (fs : is-factorisation-system C E M) where private module C = Cat.Reasoning C open is-factorisation-system fs open Factorisation
The first thing we observe is that factorisations for a morphism are
unique. Working in precategorical generality, we weaken this to
essential uniqueness: Given two factorisations of
we exhibit an isomorphism between their replacements
which commutes with both the mediate
morphism and the forget
morphism. We reproduce the
proof from (Borceux 1994, vol. 1, sec.
5.5).
factorisation-essentially-unique : β {a b} (f : C.Hom a b) (fa1 fa2 : Factorisation C E M f) β Ξ£[ f β fa1 .mediating C.β fa2 .mediating ] ( (f .C.to C.β fa1 .mediate β‘ fa2 .mediate) Γ (fa1 .forget C.β f .C.from β‘ fa2 .forget)) factorisation-essentially-unique f fa1 fa2 = C.make-iso (upq .fst) (vp'q' .fst) vu=id uv=id , upq .snd .fst , vp'q' .snd .snd where
Suppose that and are both of We use the fact that and to get maps satisfying and
module fa1 = Factorisation fa1 module fa2 = Factorisation fa2 upq = Eβ₯M fa1.mediate fa2.forget fa1.mediateβE fa2.forgetβM (sym fa1.factors β fa2.factors) .centre vp'q' = Eβ₯M fa2.mediate fa1.forget fa2.mediateβE fa1.forgetβM (sym fa2.factors β fa1.factors) .centre
To show that and are inverses, fit first and into a lifting diagram like the one below. Since we have that the space of diagonals is contractible, hence a proposition, and since both and the identity are in that diagonal,
vu=id : upq .fst C.β vp'q' .fst β‘ C.id vu=id = ap fst $ is-contrβis-prop (Eβ₯M fa2.mediate fa2.forget fa2.mediateβE fa2.forgetβM refl) ( upq .fst C.β vp'q' .fst , C.pullr (vp'q' .snd .fst) β upq .snd .fst , C.pulll (upq .snd .snd) β vp'q' .snd .snd ) (C.id , C.idl _ , C.idr _)
A dual argument works by making a lifting square with and as its faces. We omit it for brevity. By the characterisation of path spaces in categories, this implies that factorisations of a fixed morphism are a proposition.
uv=id : vp'q' .fst C.β upq .fst β‘ C.id uv=id = ap fst $ is-contrβis-prop (Eβ₯M fa1.mediate fa1.forget fa1.mediateβE fa1.forgetβM refl) ( vp'q' .fst C.β upq .fst , C.pullr (upq .snd .fst) β vp'q' .snd .fst , C.pulll (vp'q' .snd .snd) β upq .snd .snd ) (C.id , C.idl _ , C.idr _)
factorisation-unique : β {a b} (f : C.Hom a b) β is-category C β is-prop (Factorisation C E M f) factorisation-unique f c-cat x y = go where isop1p2 = factorisation-essentially-unique f x y p = Univalent.Hom-pathp-reflr-iso c-cat {q = isop1p2 .fst} (isop1p2 .snd .fst) q = Univalent.Hom-pathp-refll-iso c-cat {p = isop1p2 .fst} (isop1p2 .snd .snd) go : x β‘ y go i .mediating = c-cat .to-path (isop1p2 .fst) i go i .mediate = p i go i .forget = q i
go i .mediateβE = is-propβpathp (Ξ» i β E (p i) .is-tr) (x .mediateβE) (y .mediateβE) i go i .forgetβM = is-propβpathp (Ξ» i β M (q i) .is-tr) (x .forgetβM) (y .forgetβM) i go i .factors = is-propβpathp (Ξ» i β C.Hom-set _ _ f (q i C.β p i)) (x .factors) (y .factors) i
As a passing observation, note that the intersection is precisely the class of isomorphisms of Every isomorphism is in both classes, by the definition, and if a morphism is in both classes, it is orthogonal to itself, hence an isomorphism.
in-intersectionβis-iso : β {a b} (f : C.Hom a b) β f β E β f β M β C.is-invertible f in-intersectionβis-iso f fβE fβM = self-orthogonalβis-iso C f $ Eβ₯M f f fβE fβM in-intersectionβis-iso : β {a b} (f : C.Hom a b) β C.is-invertible f β ((f β E) Γ (f β M)) in-intersectionβis-iso f = prop-ext! (Ξ» fi β is-isoβin-E f fi , is-isoβin-M f fi) Ξ» { (a , b) β in-intersectionβis-iso f a b }
The final observation is that the class is precisely the class of morphisms left-orthogonal to those in One direction is by definition, and the other is rather technical. Letβs focus on the technical one.
E-is-β₯M : β {a b} (f : C.Hom a b) β (f β E) β (β {c d} (m : C.Hom c d) β m β M β mβ₯m C f m) E-is-β₯M f = prop-ext (E f .is-tr) (hlevel 1) (Ξ» m fβE mβM β to fβE m mβM) from where to : β {c d} (m : C.Hom c d) β f β E β m β M β mβ₯m C f m to m fβE mβM {u} {v} square = Eβ₯M f m fβE mβM square from : (β {c d} (m : C.Hom c d) β m β M β mβ₯m C f m) β f β E from ortho = subst (_β E) (sym fa.factors) $ E-is-stable _ _ fa.mediateβE mβE where
Suppose that is left-orthogonal to every and write out the By a syntactic limitation in Agda, we start with the conclusion: Weβll show that is in and since is closed under composition, so is Since is orthogonal to we can fit it into a lifting diagram
and make note of the diagonal filler and that it satisfies and
fa = factor f module fa = Factorisation fa gpq = ortho fa.forget fa.forgetβM {v = C.id} (C.idl _ β fa.factors)
Weβll show by fitting it into a lifting diagram. But since the factorisation is unique, and as needed.
gm=id : gpq .centre .fst C.β fa.forget β‘ C.id gm=id = ap fst $ is-contrβis-prop (Eβ₯M fa.mediate fa.forget fa.mediateβE fa.forgetβM refl) ( _ , C.pullr (sym fa.factors) β gpq .centre .snd .fst , C.cancell (gpq .centre .snd .snd)) (C.id , C.idl _ , C.idr _)
Think back to the conclusion we wanted to reach: is in so since and is stable, so is
mβE : fa.forget β E mβE = is-isoβin-E fa.forget $ C.make-invertible (gpq .centre .fst) (gpq .centre .snd .snd) gm=id
References
- Borceux, Francis. 1994. Handbook of Categorical Algebra. Vol. 1. Encyclopedia of Mathematics and Its Applications. Cambridge University Press. https://doi.org/10.1017/CBO9780511525858.