Ayberk Tosun, 11 September 2023 \begin{code}[hide] {-# OPTIONS --safe --without-K #-} open import UF.PropTrunc open import UF.FunExt open import MLTT.Spartan open import UF.SubtypeClassifier module Locales.CharacterisationOfContinuity (pt : propositional-truncations-exist) (fe : Fun-Ext) where open import Locales.Frame pt fe open import UF.Logic open import Slice.Family open import Locales.Compactness.Definition pt fe open import Locales.Spectrality.SpectralLocale pt fe open import Locales.Spectrality.Properties pt fe open PropositionalTruncation pt open Existential pt open Universal fe open Implication fe open Conjunction open Locale \end{code} \begin{code} continuity-condition : (Y : Locale π€ π₯ π¦) (X : Locale π€' π₯' π¦) β (β¨ πͺ Y β© β β¨ πͺ X β©) β Ξ© (π€ β π₯ β π¦ βΊ β π€' β π₯') continuity-condition Y X h = β±― b κ β¨ πͺ X β© , β±― x κ β¨ πͺ Y β© , is-compact-open X b β b β€[ poset-of (πͺ X) ] h x β (Ζ a κ β¨ πͺ Y β© , (is-compact-open Y a β§ (a β€y x) β§ (b β€β h a)) holds) where open PosetNotation (poset-of (πͺ X)) renaming (_β€_ to _β€β_) open PosetNotation (poset-of (πͺ Y)) renaming (_β€_ to _β€y_) \end{code} \begin{code} characterisation-of-continuity : (Y : Locale π€ π₯ π¦) β (X : Locale π€' π₯' π¦) β is-spectral X holds β (h : β¨ πͺ Y β© β β¨ πͺ X β©) β is-monotonic (poset-of (πͺ Y)) (poset-of (πͺ X)) h holds β continuity-condition Y X h holds β is-scott-continuous (πͺ Y) (πͺ X) h holds characterisation-of-continuity Y X Ο h ΞΌ ΞΆ S Ξ΄ = Ξ² , Ξ³ where open PosetReasoning (poset-of (πͺ X)) open Joins (Ξ» x y β x β€[ poset-of (πͺ X) ] y) Ξ² : (h (β[ (πͺ Y) ] S) is-an-upper-bound-of β h s β£ s Ξ΅ S β) holds Ξ² i = ΞΌ (S [ i ] , β[ (πͺ Y) ] S) (β[ (πͺ Y) ]-upper S i) Ξ³ : (β±― (u , _) κ upper-bound β h s β£ s Ξ΅ S β , h (β[ (πͺ Y) ] S) β€[ poset-of (πͺ X) ] u) holds Ξ³ (u , Ο) = spectral-yoneda X Ο (h (β[ πͺ Y ] S)) u β where β : ((K , _) : π¦ X) β (K β€[ poset-of (πͺ X) ] h (β[ πͺ Y ] S) β K β€[ poset-of (πͺ X) ] u) holds β (K , ΞΊ) p = β₯β₯-rec (holds-is-prop (K β€[ poset-of (πͺ X) ] u)) β‘ (ΞΆ K (β[ (πͺ Y) ] S) ΞΊ p) where β‘ : _ β (K β€[ poset-of (πͺ X) ] u) holds β‘ (a , ΞΊβ , q , r) = K β€β¨ r β© h a β€β¨ β β© β[ (πͺ X) ] β h s β£ s Ξ΅ S β β€β¨ β[ (πͺ X) ]-least β h s β£ s Ξ΅ S β (u , Ο) β© u β where β£ : (Ξ£ i κ index S , (a β€[ poset-of (πͺ Y) ] (S [ i ])) holds) β (h a β€[ poset-of (πͺ X) ] (β[ (πͺ X) ] β h s β£ s Ξ΅ S β)) holds β£ (i , Ο) = h a β€β¨ ΞΌ (a , S [ i ]) Ο β© h (S [ i ]) β€β¨ β[ (πͺ X) ]-upper β h s β£ s Ξ΅ S β i β© β[ (πͺ X) ] β h s β£ s Ξ΅ S β β β : (h a β€[ poset-of (πͺ X) ] (β[ (πͺ X) ] β h s β£ s Ξ΅ S β)) holds β = β₯β₯-rec (holds-is-prop (h a β€[ poset-of (πͺ X) ] (β[ (πͺ X) ] β h s β£ s Ξ΅ S β))) β£ (ΞΊβ S Ξ΄ q) \end{code}