--- title: Properties of the Scott topology author: Ayberk Tosun start-date: 2023-10-30 --- \begin{code} {-# OPTIONS --safe --without-K --exact-split #-} open import MLTT.Spartan open import UF.FunExt open import UF.PropTrunc open import UF.SubtypeClassifier module DomainTheory.Topology.ScottTopologyProperties (pt : propositional-truncations-exist) (fe : Fun-Ext) (π₯ : Universe) where open import UF.Logic open Existential pt open Implication fe open Universal fe open Conjunction open import UF.Size open import UF.Equiv open import UF.Powerset-MultiUniverse open import Slice.Family open PropositionalTruncation pt open import DomainTheory.Topology.ScottTopology pt fe π₯ open import DomainTheory.Basics.Dcpo pt fe π₯ open import DomainTheory.BasesAndContinuity.Continuity pt fe π₯ open import DomainTheory.Basics.WayBelow pt fe π₯ \end{code} \begin{code} principal-filter : (π : DCPO {π€} {π₯}) β β¨ π β© β π β¨ π β© principal-filter π c x = c ββ¨ π β© x , prop-valuedness π c x infix 45 principal-filter syntax principal-filter π x = β[ π ] x \end{code} Let `D` be a dcpo and consider a compact element `c : D` of it. The upwards-closure of `c` is then a Scott open. \begin{code} module Properties (π : DCPO {π€} {π₯}) where open DefnOfScottTopology π π₯ principal-filter-is-upwards-closed : (x : β¨ π β©) β is-upwards-closed (β[ π ] x) holds principal-filter-is-upwards-closed x y z p q = x ββ¨ π β©[ p ] y ββ¨ π β©[ q ] z ββ¨ π β© compact-implies-principal-filter-is-scott-open : (c : β¨ π β©) β is-compact π c β is-scott-open (β[ π ] c) holds compact-implies-principal-filter-is-scott-open c ΞΊ = β , β ‘ where β : is-upwards-closed (β[ π ] c) holds β = principal-filter-is-upwards-closed c β ‘ : is-inaccessible-by-directed-joins (β[ π ] c) holds β ‘ (S , Ξ΄) = ΞΊ (index S) (S [_]) Ξ΄ \end{code} Conversely, if the principal filter is Scott open then `c` is a compact element. \begin{code} principal-filter-scott-open-implies-compact : (c : β¨ π β©) β is-scott-open (β[ π ] c) holds β is-compact π c principal-filter-scott-open-implies-compact c (Ο , ΞΊ) I ΞΉ Ξ΄ p = ΞΊ ((I , ΞΉ) , Ξ΄) p \end{code} We can now record this as a logical equivalence. \begin{code} principal-filter-scott-open-iff-compact : (x : β¨ π β©) β is-scott-open (β[ π ] x) holds β is-compact π x principal-filter-scott-open-iff-compact x = β , β ‘ where β = principal-filter-scott-open-implies-compact x β ‘ = compact-implies-principal-filter-is-scott-open x \end{code} Notation for the principal Scott open. \begin{code} βΛ’[_] : (Ξ£ c κ β¨ π β© , is-compact π c) β Ξ£ S κ π {π₯} β¨ π β© , is-scott-open S holds βΛ’[ (c , ΞΊ) ] = principal-filter π c , compact-implies-principal-filter-is-scott-open c ΞΊ \end{code} We now prove some properties of the Scott topology on a dcpo that is algebraic. \begin{code} module PropertiesAlgebraic (π : DCPO {π€} {π₯}) (π : structurally-algebraic π) where open DefnOfScottTopology π π₯ open structurally-algebraic is-compactβ : β¨ π β© β Ξ© (π€ β π₯ βΊ) is-compactβ x = is-compact π x , being-compact-is-prop π x join-of-compact-opens : π {π₯} β¨ π β© β π {π€ β π₯ βΊ} β¨ π β© join-of-compact-opens U x = Ζ c κ β¨ π β© , (is-compactβ c β§ c ββ U β§ x ββ (β[ π ] c)) holds characterization-of-scott-opensβ : (U : π β¨ π β©) β is-scott-open U holds β U β join-of-compact-opens U characterization-of-scott-opensβ U (Ο , ΞΎ) x p = β where S : Fam π₯ β¨ π β© S = index-of-compact-family π x , compact-family π x Sβ : Famβ Sβ = S , compact-family-is-directed π x q : x οΌ β Sβ q = compact-family-β-οΌ π x β»ΒΉ ΞΊ : (i : index S) β is-compactβ (S [ i ]) holds ΞΊ = compact-family-is-compact π x Ο : is-upperbound (underlying-order π) x (S [_]) Ο i = transport (Ξ» - β (S [ i ]) ββ¨ π β© -) (q β»ΒΉ) (β-is-upperbound Sβ i) Ο : (β Sβ) β U Ο = transport (Ξ» - β - β U) q p β‘ : Ξ£ i κ index S , (S [ i ]) β U β β cβ κ β¨ π β© , (is-compactβ cβ β§ cβ ββ U β§ x ββ β[ π ] cβ) holds β‘ (i , ΞΌ) = β£ S [ i ] , ΞΊ i , ΞΌ , Ο i β£ β : β cβ κ β¨ π β© , (is-compactβ cβ β§ cβ ββ U β§ x ββ β[ π ] cβ) holds β = β₯β₯-rec β-is-prop β‘ (ΞΎ Sβ Ο) characterization-of-scott-opensβ : (U : π β¨ π β©) β is-scott-open U holds β join-of-compact-opens U β U characterization-of-scott-opensβ U (Ο , _) x p = β₯β₯-rec (holds-is-prop (x ββ U)) β p where β : Ξ£ c κ β¨ π β© , (is-compactβ c β§ c ββ U β§ principal-filter π c x) holds β x ββ U holds β (c , _ , q , r) = Ο c x q r characterization-of-scott-opens : (U : π {π₯} β¨ π β©) β (is-scott-open U β (β±― x κ β¨ π β© , U x β join-of-compact-opens U x)) holds characterization-of-scott-opens U Ο x = β¦ ββ¦ , β¦ ββ¦ where β¦ ββ¦ = characterization-of-scott-opensβ U Ο x β¦ ββ¦ = characterization-of-scott-opensβ U Ο x resize-join-of-compact-opens : (U : π {π₯} β¨ π β©) (x : β¨ π β©) β is-scott-open U holds β (join-of-compact-opens U x holds) is π₯ small resize-join-of-compact-opens U x Ο = x β U , Ξ΅ where Ξ΅ : (x β U) β join-of-compact-opens U x holds Ξ΅ = logically-equivalent-props-are-equivalent (holds-is-prop (U x)) β-is-prop (characterization-of-scott-opensβ U Ο x) (characterization-of-scott-opensβ U Ο x) \end{code} Addition 2023-11-22. The principal filter on the bottom element is the top open of the Scott locale. We write this down in a different submodule as it requires the additional assumption of a bottom element in the algebraic dcpo in consideration. \begin{code} module BottomLemma (π : DCPO {π€} {π₯}) (π : structurally-algebraic π) (hl : has-least (underlying-order π)) where β₯α΄° : β¨ π β© β₯α΄° = prβ hl β₯α΄°-is-least : is-least (underlying-order π) β₯α΄° β₯α΄°-is-least = prβ hl open Properties π open DefnOfScottTopology π π₯ open PropertiesAlgebraic π π bottom-principal-filter-is-top : (π : πͺβ) β π .prβ β β[ π ] β₯α΄° bottom-principal-filter-is-top π x _ = β₯α΄°-is-least x \end{code} Added on 2024-03-09. If a Scott open contains `β₯` then it contains everything by upward closure. \begin{code} contains-bottom-implies-is-top : (π : πͺβ) β (β₯α΄° ββ π) holds β (x : β¨ π β©) β (x ββ π) holds contains-bottom-implies-is-top π ΞΌ x = upward-closure π β₯α΄° x ΞΌ (β₯α΄°-is-least x) \end{code}