Locales.Sierpinski.UniversalProperty
--------------------------------------------------------------------------------
title: Universal property of the SierpiΕski locale
author: Ayberk Tosun
date-started: 2024-03-06
date-completed: 2024-03-09
--------------------------------------------------------------------------------
In this module, we
1. define the universal property of SierpiΕski which amounts to the fact that
it is the free frame on one generator; and
2. we prove that the Scott locale of the SierpiΕski dcpo satisfies this
universal property.
This the implementation of a proof sketch communicated to me by MartΓn EscardΓ³.
{-# OPTIONS --safe --without-K --lossy-unification #-}
open import MLTT.Spartan
open import UF.FunExt
open import UF.PropTrunc
open import UF.Size
open import UF.Subsingletons
module Locales.Sierpinski.UniversalProperty
(π€ : Universe)
(fe : Fun-Ext)
(pe : Prop-Ext)
(pt : propositional-truncations-exist)
(sr : Set-Replacement pt)
where
open import DomainTheory.Topology.ScottTopology pt fe π€
open import DomainTheory.Topology.ScottTopologyProperties pt fe
open import Locales.ContinuousMap.Definition pt fe
open import Locales.ContinuousMap.FrameHomomorphism-Definition pt fe
open import Locales.ContinuousMap.FrameHomomorphism-Properties pt fe
open import Locales.Frame pt fe hiding (is-directed)
open import Locales.ScottLocale.Definition pt fe π€
open import Locales.ScottLocale.Properties pt fe π€
open import Locales.ScottLocale.ScottLocalesOfAlgebraicDcpos pt fe π€
open import Locales.Sierpinski.Definition π€ pe pt fe sr
open import Locales.Sierpinski.Properties π€ pe pt fe sr
open import Locales.SmallBasis pt fe sr
open import Slice.Family
open import UF.Logic
open import UF.SubtypeClassifier
open AllCombinators pt fe renaming (_β§_ to _β§β_; _β¨_ to _β¨β_)
open ContinuousMaps
open DefnOfScottLocale ππ π€ pe hiding (β€β)
open DefnOfScottTopology ππ π€
open FrameHomomorphismProperties
open FrameHomomorphisms
open Locale
open PropertiesAlgebraic π€ ππ ππ-is-structurally-algebraic
open PropositionalTruncation pt hiding (_β¨_)
open ScottLocaleConstruction ππ hscb pe
\section{The definition of the universal property}
Given a locale S with a chosen open truth : πͺ(S), S satisfies the universal
property of the SierpiΕski locale if
for any locale X, any open U : πͺ(X), there exists a continuous map f : X β S
unique with the property that f(truth) = U.
In other words, this says that the SierpiΕski locale is the locale whose
defining frame is the free frame on one generator.
has-the-universal-property-of-sierpinski : (S : Locale (π€ βΊ) π€ π€)
β β¨ πͺ S β©
β π€ βΊ βΊ Μ
has-the-universal-property-of-sierpinski S truth =
(X : Locale (π€ βΊ) π€ π€) β
(U : β¨ πͺ X β©) β
β! (f , _) κ (X βcβ S) , U οΌ f truth
\section{The Scott locale of the SierpiΕski dcpo has this universal property}
We denote by `π½` the defining frame homomorphism of the continuous map required
for the universal property.
universal-property-of-sierpinski : has-the-universal-property-of-sierpinski π truth
universal-property-of-sierpinski X U = (π½ , β ) , β‘
where
open PosetNotation (poset-of (πͺ X))
open PosetReasoning (poset-of (πͺ X))
open Joins _β€_
We adopt the convention of using π£π―ππ¨π±π²π― letters for Scott opens.
The frame homomorphism `h : πͺ(π) β πͺ(X)` is defined as `h(π) :β‘ β (β±β π)` where
`β±β π` denotes the following family.
I : β¨ πͺ π β© β π€ Μ
I π = (β€β ββ π) holds + (β₯β ββ π) holds
Ξ± : (π : β¨ πͺ π β©) β (β€β ββ π) holds + (β₯β ββ π) holds β β¨ πͺ X β©
Ξ± V (inl _) = U
Ξ± V (inr _) = π[ πͺ X ]
β±β : β¨ πͺ π β© β Fam π€ β¨ πͺ X β©
β±β π = (I π , Ξ± π)
h : β¨ πͺ π β© β β¨ πͺ X β©
h π = β[ πͺ X ] β±β π
It is easy to see that this map is monotone.
π : is-monotonic (poset-of (πͺ π)) (poset-of (πͺ X)) h holds
π (Vβ , Vβ) p = β[ πͺ X ]-least (I Vβ , Ξ± Vβ) (h Vβ , β )
where
pβ² : (Vβ ββ Vβ) holds
pβ² = ββ-implies-ββ Vβ Vβ p
β : (h Vβ is-an-upper-bound-of (I Vβ , Ξ± Vβ)) holds
β (inl ΞΌ) = U β€β¨ β[ πͺ X ]-upper _ (inl (pβ² β€β ΞΌ)) β© h Vβ β
β (inr ΞΌ) = π[ πͺ X ] β€β¨ β[ πͺ X ]-upper _ (inr (pβ² β₯β ΞΌ)) β© h Vβ β
We now prove that it preserves the top element and the binary meets.
Ο : h π[ πͺ π ] οΌ π[ πͺ X ]
Ο = only-π-is-above-π (πͺ X) (h π[ πͺ π ]) Ξ³
where
Ξ³ : (π[ πͺ X ] β€ h π[ πͺ π ]) holds
Ξ³ = β[ πͺ X ]-upper ((I π[ πͺ π ]) , (Ξ± π[ πͺ π ])) (inr β)
Ο : preserves-binary-meets (πͺ π) (πͺ X) h holds
Ο π π = β€-is-antisymmetric (poset-of (πͺ X)) Οβ Οβ
where
Οβ : (h (π β§[ πͺ π ] π) β€ (h π β§[ πͺ X ] h π)) holds
Οβ = β§[ πͺ X ]-greatest
(h π)
(h π)
(h (π β§[ πͺ π ] π))
(π ((π β§[ πͺ π ] π) , _) (β§[ πͺ π ]-lowerβ π π))
((π ((π β§[ πͺ π ] π) , π) (β§[ πͺ π ]-lowerβ π π)))
Ο
: (h (π β§[ πͺ π ] π)
is-an-upper-bound-of
β
Ξ± π iβ β§[ πͺ X ] Ξ± π iβ β£ (iβ , iβ) βΆ I π Γ I π β) holds
Ο
(inl pβ , inl pβ) =
Ξ± π (inl pβ) β§[ πͺ X ] Ξ± π (inl pβ) οΌβ¨ refl β©β
U β§[ πͺ X ] U οΌβ¨ β
β©β
U β€β¨ β
‘ β©
β[ πͺ X ] β
Ξ± (π β§[ πͺ π ] π) i β£ i βΆ I (π β§[ πͺ π ] π) β β
where
p : (β€β ββ (π β§[ πͺ π ] π)) holds
p = pβ , pβ
β
= β§[ πͺ X ]-is-idempotent U β»ΒΉ
β
‘ = β[ πͺ X ]-upper β
Ξ± (π β§[ πͺ π ] π) i β£ i βΆ I (π β§[ πͺ π ] π) β (inl p)
Ο
(inl qβ , inr pβ) =
Ξ± π (inl qβ) β§[ πͺ X ] Ξ± π (inr pβ) οΌβ¨ refl β©β
U β§[ πͺ X ] π[ πͺ X ] οΌβ¨ β
β©β
U β€β¨ β
‘ β©
β[ πͺ X ] β
Ξ± (π β§[ πͺ π ] π) i β£ i βΆ I (π β§[ πͺ π ] π) β β
where
p : (β€β ββ (π β§[ πͺ π ] π)) holds
p = qβ , contains-β₯β-implies-contains-β€β π pβ
β
= π-right-unit-of-β§ (πͺ X) U
β
‘ = β[ πͺ X ]-upper β
Ξ± (π β§[ πͺ π ] π) i β£ i βΆ I (π β§[ πͺ π ] π) β (inl p)
Ο
(inr qβ , inl pβ) =
Ξ± π (inr qβ) β§[ πͺ X ] Ξ± π (inl pβ) οΌβ¨ refl β©β
π[ πͺ X ] β§[ πͺ X ] U οΌβ¨ β
β©β
U β€β¨ β
‘ β©
β[ πͺ X ] β
Ξ± (π β§[ πͺ π ] π) i β£ i βΆ I (π β§[ πͺ π ] π) β β
where
p : (β€β ββ (π β§[ πͺ π ] π)) holds
p = contains-β₯β-implies-contains-β€β π qβ , pβ
β
= π-left-unit-of-β§ (πͺ X) U
β
‘ = β[ πͺ X ]-upper β
Ξ± (π β§[ πͺ π ] π) i β£ i βΆ I (π β§[ πͺ π ] π) β (inl p)
Ο
(inr qβ , inr qβ) =
Ξ± π (inr qβ) β§[ πͺ X ] Ξ± π (inr qβ) οΌβ¨ refl β©β
π[ πͺ X ] β§[ πͺ X ] π[ πͺ X ] οΌβ¨ β
β©β
π[ πͺ X ] β€β¨ β
‘ β©
β[ πͺ X ] β
Ξ± (π β§[ πͺ π ] π) i β£ i βΆ I (π β§[ πͺ π ] π) β β
where
q : (β₯β ββ (π β§[ πͺ π ] π)) holds
q = qβ , qβ
β
= β§[ πͺ X ]-is-idempotent π[ πͺ X ] β»ΒΉ
β
‘ = β[ πͺ X ]-upper β
Ξ± (π β§[ πͺ π ] π) i β£ i βΆ I (π β§[ πͺ π ] π) β (inr q)
Οβ : ((h π β§[ πͺ X ] h π) β€ h (π β§[ πͺ π ] π)) holds
Οβ =
h π β§[ πͺ X ] h π οΌβ¨ refl β©β
h π β§[ πͺ X ] (β[ πͺ X ] β±β π) οΌβ¨ β
‘ β©β
β[ πͺ X ] β
Ξ± π iβ β§[ πͺ X ] Ξ± π iβ β£ (iβ , iβ) βΆ I π Γ I π β β€β¨ β
’ β©
β[ πͺ X ] β
Ξ± (π β§[ πͺ π ] π) i β£ i βΆ I (π β§[ πͺ π ] π) β οΌβ¨ refl β©β
h (π β§[ πͺ π ] π) β
where
β
‘ = distributivity+ (πͺ X) (I π , Ξ± π) (I π , Ξ± π)
β
’ = β[ πͺ X ]-least _ (_ , Ο
)
The fact that it satisfies the property `h truth οΌ U` is quite easy to see.
β β : (U β€ h truth) holds
β β = U β€β¨ β[ πͺ X ]-upper _ (inl β) β© h truth β
β β : (h truth β€ U) holds
β β = β[ πͺ X ]-least (β±β truth) (U , Ξ³)
where
Ξ³ : (U is-an-upper-bound-of (β±β truth)) holds
Ξ³ (inl β) = β€-is-reflexive (poset-of (πͺ X)) U
β : U οΌ h truth
β = β€-is-antisymmetric (poset-of (πͺ X)) β β β β
We now proceed to prove that it preserves the joins.
open ScottLocaleProperties ππ ππ-has-least hscb pe
Ο : (π : Fam π€ β¨ πͺ π β©) β (h (β[ πͺ π ] π) is-lub-of β
h π β£ π Ξ΅ π β) holds
Ο π = Οβ , Ξ» { (V , Ο
) β Οβ V Ο
}
where
Οβ : (h (β[ πͺ π ] π) is-an-upper-bound-of β
h π β£ π Ξ΅ π β) holds
Οβ i = π (π [ i ] , β[ πͺ π ] π) (β[ πͺ π ]-upper π i)
Οβ : (W : β¨ πͺ X β©)
β (W is-an-upper-bound-of β
h π β£ π Ξ΅ π β) holds
β (h (β[ πͺ π ] π) β€ W) holds
Οβ W Ο
= β[ πͺ X ]-least (β±β (β[ πͺ π ] π)) (W , Ξ³)
where
Ξ³ : (W is-an-upper-bound-of (β±β (β[ πͺ π ] π))) holds
Ξ³ (inl ΞΌ) = β₯β₯-rec (holds-is-prop (_ β€ _)) β£ ΞΌ
where
β£ : (Ξ£ k κ index π , (β€β ββ (π [ k ])) holds) β (U β€ W) holds
β£ (k , ΞΌβ) = U οΌβ¨ β
β©β
h truth β€β¨ β
‘ β©
h (π [ k ]) β€β¨ β
’ β©
W β
where
β
= β
β
‘ = π _ (contains-β€β-implies-above-truth (π [ k ]) ΞΌβ)
β
’ = Ο
k
Ξ³ (inr ΞΌ) = β₯β₯-rec (holds-is-prop (_ β€ _)) β₯ ΞΌ
where
β₯ : (Ξ£ k κ index π , (β₯β ββ (π [ k ])) holds) β (π[ πͺ X ] β€ W) holds
β₯ (k , ΞΌβ) =
π[ πͺ X ] οΌβ¨ β
β©β
h π[ πͺ π ] οΌβ¨ β
‘ β©β
h (π [ k ]) β€β¨ β
’ β©
W β
where
β
= Ο β»ΒΉ
β
‘ = ap h (contains-bottom-implies-is-π (π [ k ]) ΞΌβ) β»ΒΉ
β
’ = Ο
k
We package these up into a continuous map of locales (recal that `X βcβ Y`
denotes the type of continuous maps from locale `X` to locale `Y`).
π½ : X βcβ π
π½ = h , Ο , Ο , Ο
Finally, we show that `π½` is determined uniquely by this property.
β‘ : is-central (Ξ£ (f , _) κ (πͺ π βfβ πͺ X) , U οΌ f truth) (π½ , β )
β‘ (β@(g , Οβ , Οβ , Οβ) , β β) =
to-subtype-οΌ
(Ξ» h β carrier-of-[ poset-of (πͺ X) ]-is-set)
(to-frame-homomorphism-οΌ (πͺ π) (πͺ X) π½ β Ξ³)
where
πβ² : is-monotonic (poset-of (πͺ π)) (poset-of (πͺ X)) g holds
πβ² = frame-morphisms-are-monotonic (πͺ π) (πͺ X) g (Οβ , Οβ , Οβ)
Ξ³β : (π : β¨ πͺ π β©) β (h π β€ g π) holds
Ξ³β π = β[ πͺ X ]-least (β±β π) (g π , Ξ²β)
where
Ξ²β : (g π is-an-upper-bound-of β±β π) holds
Ξ²β (inl p) = U οΌβ¨ β β β©β g truth β€β¨ β
‘ β© g π β
where
β
‘ = πβ² (truth , π) (contains-β€β-implies-above-truth π p)
Ξ²β (inr p) = π[ πͺ X ] οΌβ¨ β
β©β g π[ πͺ π ] οΌβ¨ β
‘ β©β g π β
where
β
= Οβ β»ΒΉ
β
‘ = ap g (contains-bottom-implies-is-π π p β»ΒΉ)
Ξ³β : (π : β¨ πͺ π β©) β (g π β€ h π) holds
Ξ³β π = g π οΌβ¨ ap g cov β©β
g (β[ πͺ π ] π) οΌβ¨ β» β©β
β[ πͺ X ] β
g π
β£ π
Ξ΅ π β β€β¨ β’ β©
h π β
where
open Joins _ββ_
renaming (_is-an-upper-bound-of_ to _is-an-upper-bound-ofβ_)
π = covering-familyβ π π-is-spectralα΄° π
β» = β[ πͺ X ]-unique β
g π
β£ π
Ξ΅ π β (g (β[ πͺ π ] π)) (Οβ π)
cov : π οΌ β[ πͺ π ] π
cov = β[ πͺ π ]-unique π π (basisβ-covers-do-cover π π-is-spectralα΄° π)
covβ : (π is-an-upper-bound-ofβ π) holds
covβ bs = ββ-implies-ββ
(π [ bs ])
π
(prβ (basisβ-covers-do-cover π π-is-spectralα΄° π) bs)
final : (i : index π) β (g (π [ i ]) β€ h π) holds
final (bs , b) = casesβ caseβ caseβ caseβ (basis-trichotomy bs)
where
open PosetReasoning poset-of-scott-opensβ
renaming (_β€β¨_β©_ to _β€β¨_β©β_;
_β to _β β;
_οΌβ¨_β©β_ to _οΌβ¨_β©β_)
caseβ : β¬π [ bs ] οΌ π[ πͺ π ]
β (g (π [ bs , b ]) β€ h π) holds
caseβ q = transport (Ξ» - β (g (π [ bs , b ]) β€ h -) holds)
r
(g (β¬π [ bs ]) β€β¨ π-is-top (πͺ X) (g (β¬π [ bs ])) β©
π[ πͺ X ] οΌβ¨ Ο β»ΒΉ β©β h π[ πͺ π ] β )
where
Ο : (π[ πͺ π ] ββ (β¬π [ bs ])) holds
Ο = reflexivity+ poset-of-scott-opensβ (q β»ΒΉ)
r : π[ πͺ π ] οΌ π
r = ββ-is-antisymmetric
(Ξ» x p β covβ (bs , b) x (Ο x p))
(β€β-is-top π)
caseβ : β¬π [ bs ] οΌ truth
β (g (π [ bs , b ]) β€ h π) holds
caseβ p = g (π [ bs , b ]) οΌβ¨ refl β©β
g (β¬π [ bs ]) οΌβ¨ β
β©β
g truth οΌβ¨ β
‘ β©β
U β€β¨ β
’ β©
h π β
where
pβ : (truth ββ (β¬π [ bs ])) holds
pβ = reflexivity+ poset-of-scott-opensβ (p β»ΒΉ)
ΞΆ : (truth ββ π) holds
ΞΆ P ΞΌ = covβ (bs , b) P (pβ P ΞΌ)
Ο : (β€β ββ π) holds
Ο = above-truth-implies-contains-β€β π (ββ-implies-ββ truth π ΞΆ)
β
= ap g p
β
‘ = β β β»ΒΉ
β
’ = β[ πͺ X ]-upper (β±β π) (inl Ο)
caseβ : β¬π [ bs ] οΌ π[ πͺ π ] β (g (π [ bs , b ]) β€ h π) holds
caseβ q = g (π [ bs , b ]) οΌβ¨ refl β©β
g (β¬π [ bs ]) οΌβ¨ β
β©β
g π[ πͺ π ] οΌβ¨ β
‘ β©β
π[ πͺ X ] β€β¨ β
’ β©
h π β
where
β
= ap g q
β
‘ = frame-homomorphisms-preserve-bottom (πͺ π) (πͺ X) β
β
’ = π-is-bottom (πͺ X) (h π)
β’ : ((β[ πͺ X ] β
g π
β£ π
Ξ΅ π β) β€ h π) holds
β’ = β[ πͺ X ]-least β
g π
β£ π
Ξ΅ π β (h π , final)
Ξ³ : (π : β¨ πͺ π β©) β h π οΌ g π
Ξ³ π = β€-is-antisymmetric (poset-of (πͺ X)) (Ξ³β π) (Ξ³β π)