Ayberk Tosun, 13 September 2023 \begin{code}[hide] {-# 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 module Locales.Spectrality.Properties (pt : propositional-truncations-exist) (fe : Fun-Ext) where open import Locales.Frame pt fe open import Locales.Compactness.Definition pt fe open import Locales.Spectrality.SpectralLocale pt fe open PropositionalTruncation pt open AllCombinators pt fe open Locale \end{code} Let `X` be a locale and let `U` and `V` be two opens of it. Consider the following ordering: โ K : ๐ฆ(X). K โค U โ K โค V which says any compact open below `U` is also below `V`. \begin{code} compact-rel-syntax : (X : Locale ๐ค ๐ฅ ๐ฆ) โ โจ ๐ช X โฉ โ โจ ๐ช X โฉ โ ฮฉ (๐ค โ ๐ฅ โ ๐ฆ โบ) compact-rel-syntax X U V = โฑฏ (K , _) ๊ ๐ฆ X , K โค U โ K โค V where open PosetNotation (poset-of (๐ช X)) syntax compact-rel-syntax X U V = U โคโ[ X ] V \end{code} We denote this `_โคโ_` \begin{code} spectral-yoneda : (X : Locale ๐ค ๐ฅ ๐ฆ) โ is-spectral X holds โ (U V : โจ ๐ช X โฉ) โ (U โคโ[ X ] V) holds โ (U โค[ poset-of (๐ช X) ] V) holds spectral-yoneda {_} {_} {๐ฆ} X (_ , c) U V ฯ = โฅโฅ-rec (holds-is-prop (U โค[ poset-of (๐ช X) ] V)) โ (c U) where open PosetReasoning (poset-of (๐ช X)) open PosetNotation (poset-of (๐ช X)) open Joins _โค_ โ : ฮฃ S ๊ Fam ๐ฆ โจ ๐ช X โฉ , consists-of-compact-opens X S holds ร is-directed (๐ช X) S holds ร (U ๏ผ โ[ ๐ช X ] S) โ (U โค[ poset-of (๐ช X) ] V) holds โ (S , ฮบ , d , c) = U โคโจ โ โฉ โ[ ๐ช X ] S โคโจ โ ก โฉ V โ where ฯ : (i : index S) โ (S [ i ] โค U) holds ฯ i = S [ i ] โคโจ โ[ ๐ช X ]-upper S i โฉ โ[ ๐ช X ] S ๏ผโจ c โปยน โฉโ U โ โก : (V is-an-upper-bound-of S) holds โก i = ฯ (S [ i ] , ฮบ i) (ฯ i) โ = reflexivity+ (poset-of (๐ช X)) c โ ก = โ[ ๐ช X ]-least S (V , โก) \end{code}