---
author: Ayberk Tosun
---
─────────────────────────────────────────────────────────────────────
This formalization accompanies Ayberk Tosun's PhD thesis:
Constructive and Predicative Locale Theory in Univalent Foundations
Ayberk Tosun
School of Computer Science, University of Birmingham
https://etheses.bham.ac.uk/id/eprint/16416/
Updated versions:
https://arxiv.org/abs/2603.01308
Submitted: 30 November 2024
Defended: 27 February 2025
Accepted: 3 June 2025
─────────────────────────────────────────────────────────────────────
\begin{code}
{-# OPTIONS --safe --without-K #-}
module Locales.index where
\end{code}
\section{Table of contents}
* Basic point-free topology
- Terminal locale
- Sierpiński locale
- The discrete locale
- Continuous maps and frame homomorphisms
- Sublocales and nuclei
- Compactness and the way-below relation
- Clopens and the well-inside relation
- Bases
- Adjoint functor theorem for frames
* Spectral and Stone locales
- Spectral locales
- Distributive lattices
- Zero-dimensional and regular locales
- Stone locales
- Stone duality
* The patch locale
- Examples of patch
* Point-free topology of domains
- Construction of the Scott locale
- Scott continuity
- Spectral points of the Scott locale
* Miscellaneous
\section{Basic point-free topology}
The code under this section corresponds roughly to Chapter 3 of the thesis.
The `Locales.Frame` module contains preliminary definitions of locale theory.
\begin{code}
import Locales.Frame
import Locales.SIP.FrameSIP
\end{code}
\subsection{Terminal locale}
The modules below contain:
1. Definition of the initial frame (i.e. the terminal locale)
2. Properties of the terminal locale.
\begin{code}
import Locales.InitialFrame
import Locales.TerminalLocale.Properties
\end{code}
\subsection{Sierpiński locale}
The modules below contain:
1. Definition of the Sierpinski locale
2. Properties of the Sierpinski locale
3. Universal property of the Sierpinski locale
\begin{code}
import Locales.Sierpinski.Definition
import Locales.Sierpinski.Properties
import Locales.Sierpinski.UniversalProperty
\end{code}
\subsection{The discrete locale}
The modules below contain:
1. Definition of the discrete locale over a set
2. Construction of a directed basis for the discrete locale
3. The discrete locale on the type of Booleans
4. Properties of the discrete locale on the type of Booleans
\begin{code}
import Locales.DiscreteLocale.Definition
import Locales.DiscreteLocale.Basis
import Locales.DiscreteLocale.Two
import Locales.DiscreteLocale.Two-Properties
\end{code}
\subsection{Continuous maps and frame homomorphisms}
The `ContinuousMap` subdirectory contains:
1. Definition of the notion of frame homomorphism
2. Properties of frame homomorphisms
3. Definition of continuous maps of locales
4. Properties of continuous maps
5. Definition of frame isomorphisms
6. Definition of locale homeomorphisms
7. Properties of homeomorphisms, including the characterization of the
identity type for locales
\begin{code}
import Locales.ContinuousMap.FrameHomomorphism-Definition
import Locales.ContinuousMap.FrameHomomorphism-Properties
import Locales.ContinuousMap.Definition
import Locales.ContinuousMap.Properties
import Locales.ContinuousMap.FrameIsomorphism-Definition
import Locales.ContinuousMap.Homeomorphism-Definition
import Locales.ContinuousMap.Homeomorphism-Properties
\end{code}
\subsection{Sublocales and nuclei}
The `Sublocale` subdirectory contains:
1. Definition of the notion of nucleus along with some properties
2. Properties of the image of a nucleus
\begin{code}
import Locales.Sublocale.Nucleus
import Locales.Sublocale.NucleusImage
\end{code}
\subsection{Compactness and the way-below relation}
Compact opens.
The modules below contain:
1. Definition of compact opens
2. Properties of compact opens
3. Characterization of compact locales
\begin{code}
import Locales.Compactness.Definition
import Locales.Compactness.Properties
import Locales.Compactness.CharacterizationOfCompactLocales
\end{code}
The way-below relation.
The modules below contain:
1. Definition of the way-below relation
2. Properties of the way-below relation
\begin{code}
import Locales.WayBelowRelation.Definition
import Locales.WayBelowRelation.Properties
\end{code}
\subsection{Clopens and the well-inside relation}
The modules below contain:
1. Definition of clopens via Boolean complements, and basic closure properties
2. Boolean complementation in frames, including preservation by frame
homomorphisms
3. Definition of the well-inside relation and basic order-theoretic properties
\begin{code}
import Locales.Clopen
import Locales.Complements
import Locales.WellInside
\end{code}
\subsection{Bases}
Notions of base for locales
\begin{code}
import Locales.SmallBasis
\end{code}
\subsection{Adjoint functor theorem for frames}
The modules below contain:
1. Definition of posetal adjunctions
2. General properties of adjunctions in the posetal setting
3. Posetal adjoint functor theorem for frames
4. Adjunction properties specialized to distributive lattices
5. Heyting implication
6. Heyting complementation
\begin{code}
import Locales.PosetalAdjunction
import Locales.Adjunctions.Properties
import Locales.AdjointFunctorTheoremForFrames
import Locales.Adjunctions.Properties-DistributiveLattice
import Locales.HeytingImplication
import Locales.HeytingComplementation
\end{code}
\section{Spectral and Stone locales}
his section corresponds roughly to Chapter 4 of the thesis.
\subsection{Spectral locales}
The modules below contain:
1. Definition of spectral locales
2. Properties of spectral locales
3. Definition of spectral maps
4. Spectrality of the terminal locale
5. Directification of bases
6. Lattice of compact opens
\begin{code}
import Locales.Spectrality.SpectralLocale
import Locales.Spectrality.Properties
import Locales.Spectrality.SpectralMap
import Locales.Spectrality.SpectralityOfOmega
import Locales.Spectrality.BasisDirectification
import Locales.Spectrality.LatticeOfCompactOpens
\end{code}
\subsection{Distributive lattices}
The modules below contain:
1. Definition of distributive lattices
2. Σ-type-based definition of distributive lattices
3. Basic properties of distributive lattices
4. Homomorphisms of distributive lattices
5. Isomorphisms of distributive lattices
6. Properties of distributive lattice isomorphisms
7. Ideals of distributive lattices
8. Properties of ideals of distributive lattices
9. Resizing for distributive lattices
10. Spectrum of a distributive lattice
11. Properties of the frame of ideals over a distributive lattice
12. Structure identity principle for distributive lattices
\begin{code}
import Locales.DistributiveLattice.Definition
import Locales.DistributiveLattice.Definition-SigmaBased
import Locales.DistributiveLattice.Properties
import Locales.DistributiveLattice.Homomorphism
import Locales.DistributiveLattice.Isomorphism
import Locales.DistributiveLattice.Isomorphism-Properties
import Locales.DistributiveLattice.Ideal
import Locales.DistributiveLattice.Ideal-Properties
import Locales.DistributiveLattice.Resizing
import Locales.DistributiveLattice.Spectrum
import Locales.DistributiveLattice.Spectrum-Properties
import Locales.SIP.DistributiveLatticeSIP
\end{code}
\subsection{Zero-dimensional and regular locales}
The modules below contain:
1. Definition of regular locales and some properties
2. Definition of zero-dimensional locale and some properties
\begin{code}
import Locales.Regular
import Locales.ZeroDimensionality
\end{code}
\subsection{Stone locales}
The modules below contain:
1. Stone locales
2. Boolean algebras
3. Inclusion of Stone locales into spectral locales
\begin{code}
import Locales.Stone
import Locales.BooleanAlgebra
import Locales.StoneImpliesSpectral
\end{code}
\subsection{Stone duality}
The modules below contain:
1. Lattice duality for compact opens
2. The map from spectral maps to lattice homomorphisms
3. Perfect maps in the spectral setting
4. Stone duality for spectral locales
\begin{code}
import Locales.Spectrality.LatticeOfCompactOpens-Duality
import Locales.Spectrality.SpectralMapToLatticeHomomorphism
import Locales.PerfectMaps
import Locales.StoneDuality.ForSpectralLocales
\end{code}
\section{The patch locale}
The modules below contain:
1. Construction of the patch locale (following Escardó's construction from
previous work)
2. Properties of the patch locale
3. The universal property of the patch locale (with contributions by
Igor Arrieta)
\begin{code}
import Locales.PatchLocale
import Locales.PatchProperties
import Locales.UniversalPropertyOfPatch
\end{code}
\subsection{Examples of patch}
The modules below contain:
1. Patch locale of the terminal locale
2. Patch locale of the Sierpiński locale
\begin{code}
import Locales.PatchOfOmega
import Locales.Sierpinski.Patch
\end{code}
\section{Point-free topology of domains}
\subsection{Construction of the Scott locale}
The modules below contain:
1. Definition of the Scott locale
2. Properties of the Scott locale
3. Scott locales of algebraic dcpos
4. Scott locales of Scott domains
\begin{code}
import Locales.ScottLocale.Definition
import Locales.ScottLocale.Properties
import Locales.ScottLocale.ScottLocalesOfAlgebraicDcpos
import Locales.ScottLocale.ScottLocalesOfScottDomains
\end{code}
\subsection{Scott continuity}
The modules below contain:
1. Scott continuity
2. Characterization of continuity
3. Classification of Scott opens
\begin{code}
import Locales.ScottContinuity
import Locales.CharacterisationOfContinuity
import Locales.ClassificationOfScottOpens
\end{code}
\subsection{Spectral points of the Scott locale}
The modules below contain:
1. Definition of the notion of point of a locale
2. Properties of points
3. Definition of spectral point
\begin{code}
import Locales.Point.Definition
import Locales.Point.Properties
import Locales.Point.SpectralPoint-Definition
\end{code}
The modules below contain:
1. Compact elements of a point
2. Sharp elements coincide with spectral points
3. Points of the patch locale
\begin{code}
import Locales.LawsonLocale.CompactElementsOfPoint
import Locales.LawsonLocale.SharpElementsCoincideWithSpectralPoints
import Locales.LawsonLocale.PointsOfPatch
\end{code}
\section{Miscellaneous}
The modules below contain:
1. Notational conventions for spectral locales
2. Directed families
3. Directed families on posets
\begin{code}
import Locales.NotationalConventions
import Locales.DirectedFamily
import Locales.DirectedFamily-Poset
\end{code}
The module `Locales.CompactRegular` is legacy code that will soon be removed
once I untangle the dependency graph. Please DO NOT use these modules for new
developments.
\begin{code}
import Locales.CompactRegular
\end{code}