-------------------------------------------------------------------------------- title: Continuous maps of locales author: Ayberk Tosun date-started: 2024-04-10 -------------------------------------------------------------------------------- Originally written as part of the `Locales.Frame` module on 2022-04-23. Factored out from the `Locales.Frame` module into this module on 2024-04-10. \begin{code}[hide] {-# OPTIONS --safe --without-K #-} open import MLTT.Spartan hiding (๐; โ; โ) open import UF.FunExt open import UF.PropTrunc module Locales.ContinuousMap.Definition (pt : propositional-truncations-exist) (fe : Fun-Ext) where open import Locales.Frame pt fe open import Locales.ContinuousMap.FrameHomomorphism-Definition pt fe open import Slice.Family open import UF.Logic open import UF.SubtypeClassifier open AllCombinators pt fe \end{code} We work in a module parameterized by two locales `X` and `Y`. \begin{code} module ContinuousMaps (X : Locale ๐ค ๐ฅ ๐ฆ) (Y : Locale ๐ค' ๐ฅ' ๐ฆ) where open Locale open FrameHomomorphisms hiding (fun-syntax; fun) open FrameHomomorphisms (๐ช Y) (๐ช X) using (fun-syntax) \end{code} We denote the type of continuous maps by `X โcโ Y`. \begin{code} _โcโ_ : ๐ค โ ๐ฅ โ ๐ฆ โบ โ ๐ค' ฬ _โcโ_ = ๐ช Y โfโ ๐ช X \end{code} \begin{code} continuity-of : (f : _โcโ_) โ (S : Fam ๐ฆ โจ ๐ช Y โฉ) โ f .prโ (โ[ ๐ช Y ] S) ๏ผ โ[ ๐ช X ] โ f .prโ V โฃ V ฮต S โ continuity-of f S = โ[ ๐ช X ]-unique โ f $ V โฃ V ฮต S โ (f $ (โ[ ๐ช Y ] S)) ((prโ (prโ (prโ f)) S)) where open Joins (ฮป x y โ x โค[ poset-of (๐ช X) ] y) infixr 25 _$_ _$_ = prโ \end{code} \begin{code} module ContinuousMapNotation (X : Locale ๐ค ๐ฅ ๐ฆ) (Y : Locale ๐ค' ๐ฅ' ๐ฆ) where infix 9 _โ infixl 9 _โโ_ open Locale open ContinuousMaps open FrameHomomorphisms (๐ช Y) (๐ช X) using (fun-syntax; fun) open FrameHomomorphisms hiding (fun-syntax; fun) \end{code} We denote by `fโ` the defining frame homomorphism of a continuous map `f`. \begin{code} _โ : (X โcโ Y) โ ๐ช Y โfโ ๐ช X _โ f = f \end{code} \begin{code} _โโ_ : (X โcโ Y) โ โจ ๐ช Y โฉ โ โจ ๐ช X โฉ _โโ_ f = fun (_โ f) \end{code} \begin{code} open ContinuousMaps using (_โcโ_) open Locale open FrameHomomorphisms using (is-a-frame-homomorphism) cont-comp : {๐ค'' ๐ฅ'' : Universe} โ (X : Locale ๐ค ๐ฅ ๐ฆ) โ (Y : Locale ๐ค' ๐ฅ' ๐ฆ) โ (Z : Locale ๐ค'' ๐ฅ'' ๐ฆ) โ (Y โcโ Z) โ (X โcโ Y) โ X โcโ Z cont-comp {๐ฆ = ๐ฆ} X Y Z โ@(g , ฮฑโ , ฮฑโ , ฮฑโ) ๐ป@(f , ฮฒโ , ฮฒโ , ฮฒโ) = h , โ where open ContinuousMapNotation X Y using () renaming (_โโ_ to _โโโ_) open ContinuousMapNotation Y Z using () renaming (_โโ_ to _โโโ_) h : โจ ๐ช Z โฉ โ โจ ๐ช X โฉ h W = ๐ป โโโ (โ โโโ W) โ : is-a-frame-homomorphism (๐ช Z) (๐ช X) h holds โ = โ โ , โ โ , โ โ where โ โ : ๐ป โโโ (โ โโโ ๐[ ๐ช Z ]) ๏ผ ๐[ ๐ช X ] โ โ = ๐ป โโโ (โ โโโ ๐[ ๐ช Z ]) ๏ผโจ โ โฉ ๐ป โโโ ๐[ ๐ช Y ] ๏ผโจ โ ก โฉ ๐[ ๐ช X ] โ where โ = ap (ฮป - โ ๐ป โโโ -) ฮฑโ โ ก = ฮฒโ โ โ : (U V : โจ ๐ช Z โฉ) โ ๐ป โโโ (โ โโโ (U โง[ ๐ช Z ] V)) ๏ผ (๐ป โโโ (โ โโโ U)) โง[ ๐ช X ] (๐ป โโโ (โ โโโ V)) โ โ U V = ๐ป โโโ (โ โโโ (U โง[ ๐ช Z ] V)) ๏ผโจ โ โฉ ๐ป โโโ ((โ โโโ U) โง[ ๐ช Y ] (โ โโโ V)) ๏ผโจ โ ก โฉ (๐ป โโโ (โ โโโ U)) โง[ ๐ช X ] (๐ป โโโ (โ โโโ V)) โ where โ = ap (ฮป - โ ๐ป โโโ -) (ฮฑโ U V) โ ก = ฮฒโ (โ โโโ U) (โ โโโ V) open Joins (ฮป x y โ x โค[ poset-of (๐ช X) ] y) โ โ : (U : Fam ๐ฆ โจ ๐ช Z โฉ) โ ((h (โ[ ๐ช Z ] U)) is-lub-of โ h x โฃ x ฮต U โ) holds โ โ U = transport (ฮป - โ (- is-lub-of โ h x โฃ x ฮต U โ) holds) (โ โ โปยน) (โ[ ๐ช X ]-upper โ h x โฃ x ฮต U โ , โ[ ๐ช X ]-least โ h x โฃ x ฮต U โ) where open PosetReasoning (poset-of (๐ช X)) โ โ : h (โ[ ๐ช Z ] U) ๏ผ โ[ ๐ช X ] โ h x โฃ x ฮต U โ โ โ = ๐ป โโโ (โ โโโ (โ[ ๐ช Z ] U)) ๏ผโจ I โฉ ๐ป โโโ (โ[ ๐ช Y ] โ โ โโโ x โฃ x ฮต U โ) ๏ผโจ II โฉ โ[ ๐ช X ] โ h x โฃ x ฮต U โ โ where I = ap (ฮป - โ ๐ป โโโ -) (โ[ ๐ช Y ]-unique โ โ โโโ x โฃ x ฮต U โ _ (ฮฑโ _)) II = โ[ ๐ช X ]-unique โ h x โฃ x ฮต U โ _ (ฮฒโ _) \end{code}