---
title: The notion of spectral point
author: Ayberk Tosun
date-started: 2024-05-27
---
A _spectral point_ of a locale `X` is a continuous map `p : 𝟏 → X` whose right
adjoint `p^* : 𝒪(X) → 𝒪(𝟏)` preserves compact opens.
In this module, we give the definition of this notion. We define it using
records for the sake of convenience, and prove that the record-based definition
is equivalent to the standard definition.
\begin{code}[hide]
{-# OPTIONS --safe --without-K #-}
open import MLTT.Spartan
open import UF.FunExt
open import UF.PropTrunc
open import UF.Subsingletons
module Locales.Point.SpectralPoint-Definition
(pt : propositional-truncations-exist)
(fe : Fun-Ext)
(pe : Prop-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.Frame pt fe
open import Locales.InitialFrame pt fe
open import Locales.Spectrality.SpectralMap pt fe
open import UF.Equiv
open import UF.SubtypeClassifier
open Locale
\end{code}
We work in a module parameterized by a large and locally small locale `X`.
\begin{code}
module Notion-Of-Spectral-Point (X : Locale (𝓤 ⁺) 𝓤 𝓤) where
open ContinuousMaps X (𝟏Loc pe)
open FrameHomomorphisms (𝒪 X) (𝟎-𝔽𝕣𝕞 pe)
\end{code}
A _spectral point_ of locale `X` is a frame homomorphism `𝒪(X) → Ω`
preserving compact opens. In other words, it is a spectral map `𝟏 → X`.
In the following definition, we call the underlying function of this frame
homomorphism `point-fn.
\begin{code}
record Spectral-Point : 𝓤 ⁺ ̇ where
field
point-fn : ⟨ 𝒪 X ⟩ → Ω 𝓤
point-preserves-top : preserves-top point-fn holds
point-preserves-binary-meets : preserves-binary-meets point-fn holds
point-preserves-joins : preserves-joins point-fn holds
point-preserves-compactness : (K : ⟨ 𝒪 X ⟩)
→ is-compact-open X K holds
→ is-compact-open (𝟏Loc pe) (point-fn K) holds
point-is-a-frame-homomorphism : is-a-frame-homomorphism point-fn holds
point-is-a-frame-homomorphism = point-preserves-top
, point-preserves-binary-meets
, point-preserves-joins
point : _─f→_
point = point-fn , point-is-a-frame-homomorphism
\end{code}
This record-based definition is of course just a more verbose way of writing
“spectral map into the initial frame”. We call this alternative definition
`Spectral-Point₀` and prove its equivalence to the type `Spectral-Point`.
\begin{code}
Spectral-Point₀ : 𝓤 ⁺ ̇
Spectral-Point₀ = Spectral-Map (𝟏Loc pe) X
to-spectral-point₀ : Spectral-Point → Spectral-Point₀
to-spectral-point₀ sp = (point-fn , †) , point-preserves-compactness
where
open Spectral-Point sp
† : is-a-frame-homomorphism point-fn holds
† = point-is-a-frame-homomorphism
to-spectral-point : Spectral-Map (𝟏Loc pe) X → Spectral-Point
to-spectral-point ((F , α , β , γ) , σ) =
record
{ point-fn = F
; point-preserves-top = α
; point-preserves-binary-meets = β
; point-preserves-joins = γ
; point-preserves-compactness = σ
}
\end{code}
The equivalence proof.
\begin{code}
spectral-point-equivalent-to-spectral-map-into-Ω
: Spectral-Point₀ ≃ Spectral-Point
spectral-point-equivalent-to-spectral-map-into-Ω =
to-spectral-point , qinvs-are-equivs to-spectral-point †
where
† : qinv to-spectral-point
† = to-spectral-point₀ , (λ _ → refl) , (λ _ → refl)
\end{code}
To show that two spectral points are equal, it suffices to show that their
underlying functions are equal. We call this lemma `to-spectral-point-=`.
\begin{code}
open Spectral-Point
to-spectral-point-= : (ℱ 𝒢 : Spectral-Point)
→ point-fn ℱ = point-fn 𝒢
→ ℱ = 𝒢
to-spectral-point-= ℱ 𝒢 p =
ℱ =⟨ Ⅰ ⟩
to-spectral-point (to-spectral-point₀ ℱ) =⟨ Ⅱ ⟩
to-spectral-point (to-spectral-point₀ 𝒢) =⟨ Ⅲ ⟩
𝒢 ∎
where
e = spectral-point-equivalent-to-spectral-map-into-Ω
† : to-spectral-point₀ ℱ = to-spectral-point₀ 𝒢
† = to-subtype-=
(holds-is-prop ∘ is-spectral-map X (𝟏Loc pe))
(to-subtype-= (holds-is-prop ∘ is-a-frame-homomorphism) p)
Ⅰ = inverses-are-sections' e ℱ
Ⅱ = ap to-spectral-point †
Ⅲ = inverses-are-sections' e 𝒢 ⁻¹
\end{code}
Added on 2024-08-12.
\begin{code}
to-spectral-point-=' : (ℱ 𝒢 : Spectral-Point) → point ℱ = point 𝒢 → ℱ = 𝒢
to-spectral-point-=' ℱ 𝒢 p =
ℱ =⟨ Ⅰ ⟩
to-spectral-point (to-spectral-point₀ ℱ) =⟨ Ⅱ ⟩
to-spectral-point (to-spectral-point₀ 𝒢) =⟨ Ⅲ ⟩
𝒢 ∎
where
e = spectral-point-equivalent-to-spectral-map-into-Ω
† : to-spectral-point₀ ℱ = to-spectral-point₀ 𝒢
† = to-subtype-= (holds-is-prop ∘ is-spectral-map X (𝟏Loc pe)) p
Ⅰ = inverses-are-sections' e ℱ
Ⅱ = ap to-spectral-point †
Ⅲ = inverses-are-sections' e 𝒢 ⁻¹
\end{code}