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}