Ayberk Tosun, 13 September 2023

The module contains the definition of a spectral locale.

This used to live in the `CompactRegular` module which is now deprecated and
will be broken down into smaller modules.

\begin{code}[hide]

{-# OPTIONS --safe --without-K --lossy-unification #-}

open import UF.FunExt
open import UF.PropTrunc

module Locales.Spectrality.SpectralMap (pt : propositional-truncations-exist)
                                       (fe : Fun-Ext) where

open import Locales.Compactness.Definition pt fe
open import Locales.ContinuousMap.Definition pt fe
open import Locales.ContinuousMap.FrameHomomorphism-Definition pt fe
open import Locales.ContinuousMap.FrameHomomorphism-Properties pt fe
open import Locales.Frame pt fe
open import MLTT.Spartan
open import UF.Logic
open import UF.SubtypeClassifier

open AllCombinators pt fe
open ContinuousMaps
open FrameHomomorphismProperties
open FrameHomomorphisms
open Locale

\end{code}

Definition of the notion of a spectral map.

\begin{code}

is-spectral-map : (Y : Locale š“¤ š“„ š“„) (X : Locale š“¤' š“„ š“„)
                ā†’ (X ā”€cā†’ Y) ā†’ Ī© (š“¤ āŠ” š“¤' āŠ” š“„ āŗ)
is-spectral-map Y X (f , _) =
 ā±Æ K źž‰ āŸØ š’Ŗ Y āŸ© , is-compact-open Y K  ā‡’ is-compact-open X (f K)

\end{code}

Added on 2024-03-04.

\begin{code}

Spectral-Map : (X : Locale š“¤ š“„ š“„) (Y : Locale š“¤' š“„ š“„) ā†’ (š“¤ āŠ” š“¤' āŠ” š“„ āŗ) Ģ‡
Spectral-Map X Y = Ī£ f źž‰ X ā”€cā†’ Y , is-spectral-map Y X f holds

continuous-map-of : (X : Locale š“¤ š“„ š“„) (Y : Locale š“¤' š“„ š“„)
                  ā†’ Spectral-Map X Y ā†’ X ā”€cā†’ Y
continuous-map-of X Y (f , _) = f

spectrality-of-spectral-map : (X : Locale š“¤ š“„ š“„) (Y : Locale š“¤' š“„ š“„)
                            ā†’ (fā‚› : Spectral-Map X Y)
                            ā†’ is-spectral-map Y X (continuous-map-of X Y fā‚›) holds
spectrality-of-spectral-map X Y (_ , š•¤) = š•¤

syntax Spectral-Map X Y = X ā”€sā†’ Y

\end{code}