Locales.ScottLocale.Properties
--- title: Properties of the Scott locale author: Ayberk Tosun date-started: 2023-11-23 dates-updated: [2024-03-16] ---{-# OPTIONS --safe --without-K --lossy-unification #-} open import MLTT.Spartan open import Slice.Family open import UF.FunExt open import UF.Logic open import UF.PropTrunc open import UF.SubtypeClassifier open import UF.SubsingletonsWe assume the existence of propositional truncations as well as function extensionality.module Locales.ScottLocale.Properties (pt : propositional-truncations-exist) (fe : Fun-Ext) (π€ : Universe) where open import DomainTheory.BasesAndContinuity.Bases pt fe π€ open import DomainTheory.Basics.Dcpo pt fe π€ renaming (β¨_β© to β¨_β©β) hiding (is-directed) open import DomainTheory.Basics.WayBelow pt fe π€ open import DomainTheory.Topology.ScottTopology pt fe π€ open import DomainTheory.Topology.ScottTopologyProperties pt fe π€ open import Locales.Compactness.Definition pt fe hiding (is-compact) open import Locales.Frame pt fe open import Locales.ScottLocale.Definition pt fe π€ open import Locales.ScottLocale.ScottLocalesOfAlgebraicDcpos pt fe π€ open AllCombinators pt fe open Locale open PropositionalTruncation ptMoved from the `ScottLocalesOfScottDomains` module to here on 2024-03-16.bounded-above : (π : DCPO {π€ βΊ} {π€}) β β¨ π β©β β β¨ π β©β β Ξ© (π€ βΊ) bounded-above π x y = β₯ upper-bound (binary-family π€ x y) β₯Ξ© where open Joins (Ξ» a b β a ββ¨ π β©β b) infix 30 bounded-above syntax bounded-above π x y = x β[ π ] ymodule ScottLocaleProperties (π : DCPO {π€ βΊ} {π€}) (hl : has-least (underlying-order π)) (hscb : has-specified-small-compact-basis π) (pe : propext π€) where open ScottLocaleConstruction π hscb pe private B : π€ Μ B = index-of-compact-basis π hscb Ξ² : B β β¨ π β©β Ξ² i = family-of-compact-elements π hscb i open Properties π open BottomLemma π π hl β₯ΞΊ : is-compact π β₯α΄° β₯ΞΊ = β₯-is-compact (π , hl) Ξ£β¦ πβ¦ : Locale (π€ βΊ) π€ π€ Ξ£β¦ πβ¦ = ScottLocale open DefnOfScottLocale π π€ pe using (_ββ_)Recall that `βΛ’[ x , p ]` denotes the principal filter on a compact element `x`, (where `p` is the proof that `x` is compact). Below, we prove that `βΛ’[ β₯α΅ , p ] = π` where `π` is the top Scott open of the Scott locale on `π`.ββ₯-is-below-π : (π[ πͺ Ξ£β¦ πβ¦ ] ββ βΛ’[ β₯α΄° , β₯ΞΊ ]) holds ββ₯-is-below-π = bottom-principal-filter-is-top π[ πͺ Ξ£β¦ πβ¦ ] ββ₯-is-top : βΛ’[ β₯α΄° , β₯ΞΊ ] οΌ π[ πͺ Ξ£β¦ πβ¦ ] ββ₯-is-top = only-π-is-above-π (πͺ Ξ£β¦ πβ¦) βΛ’[ β₯α΄° , β₯ΞΊ ] β where β : (π[ πͺ Ξ£β¦ πβ¦ ] β€[ poset-of (πͺ Ξ£β¦ πβ¦) ] βΛ’[ β₯α΄° , β₯ΞΊ ]) holds β = ββ-implies-ββ π[ πͺ Ξ£β¦ πβ¦ ] βΛ’[ β₯α΄° , β₯ΞΊ ] ββ₯-is-below-π open DefnOfScottTopology π π€ contains-bottom-implies-is-π : (π : β¨ πͺ Ξ£β¦ πβ¦ β©) β (β₯α΄° ββ π) holds β π οΌ π[ πͺ Ξ£β¦ πβ¦ ] contains-bottom-implies-is-π π ΞΌ = only-π-is-above-π (πͺ Ξ£β¦ πβ¦) π β where β : (π[ πͺ ScottLocale ] ββ π) holds β = ββ-implies-ββ π[ πͺ ScottLocale ] π (Ξ» { x β β contains-bottom-implies-is-top π ΞΌ x})Moved from the `ScottLocalesOfScottDomains` module to here on 2024-03-16. The principal filter `β(x)` on any `x : π` is a compact Scott open.principal-filter-is-compactβ : (c : β¨ π β©β) β (ΞΊ : is-compact π c) β is-compact-open Ξ£β¦ πβ¦ βΛ’[ (c , ΞΊ) ] holds principal-filter-is-compactβ c ΞΊ S Ξ΄ p = β₯β₯-functor β ΞΌ where ΞΌ : (c ββ (β[ πͺ Ξ£β¦ πβ¦ ] S)) holds ΞΌ = ββ-implies-ββ βΛ’[ (c , ΞΊ) ] (β[ πͺ Ξ£β¦ πβ¦ ] S) p c (reflexivity π c) β : Ξ£ i κ index S , (c ββ (S [ i ])) holds β Ξ£ i κ index S , (βΛ’[ (c , ΞΊ) ] β€[ poset-of (πͺ Ξ£β¦ πβ¦) ] S [ i ]) holds β (i , r) = i , β‘ where β‘ : (βΛ’[ c , ΞΊ ] β€[ poset-of (πͺ Ξ£β¦ πβ¦) ] (S [ i ])) holds β‘ d = upward-closure (S [ i ]) c (Ξ² d) rMoved from the `ScottLocalesOfScottDomains` module to here on 2024-03-16. The Scott locale is always compact.β€-is-compact : is-compact-open Ξ£β¦ πβ¦ π[ πͺ Ξ£β¦ πβ¦ ] holds β€-is-compact = transport (Ξ» - β is-compact-open Ξ£β¦ πβ¦ - holds) ββ₯-is-top β where β : is-compact-open ScottLocale βΛ’[ β₯α΄° , β₯ΞΊ ] holds β = principal-filter-is-compactβ β₯α΄° β₯ΞΊMoved from the `ScottLocalesOfScottDomains` module to here on 2024-03-16. If two compact elements `c` and `d` do not have an upper bound, then the meet of their principal filters is the empty Scott open.not-bounded-lemma : (c d : β¨ π β©β) β (ΞΊαΆ : is-compact π c) β (ΞΊα΅ : is-compact π d) β Β¬ ((c β[ π ] d) holds) β βΛ’[ c , ΞΊαΆ ] β§[ πͺ Ξ£β¦ πβ¦ ] βΛ’[ d , ΞΊα΅ ] οΌ π[ πͺ Ξ£β¦ πβ¦ ] not-bounded-lemma c d ΞΊαΆ ΞΊα΅ Ξ½ = only-π-is-below-π (πͺ Ξ£β¦ πβ¦) (βΛ’[ c , ΞΊαΆ ] β§[ πͺ Ξ£β¦ πβ¦ ] βΛ’[ d , ΞΊα΅ ]) β where β : ((βΛ’[ c , ΞΊαΆ ] β§[ πͺ Ξ£β¦ πβ¦ ] βΛ’[ d , ΞΊα΅ ]) ββ π[ πͺ Ξ£β¦ πβ¦ ]) holds β i (pβ , pβ) = π-elim (Ξ½ β£ Ξ² i , (Ξ» { (inl β) β pβ ; (inr β) β pβ}) β£)