\begin{code} {-# OPTIONS --safe --without-K --lossy-unification #-} open import UF.FunExt open import MLTT.Spartan hiding (𝟚) open import UF.PropTrunc open import UF.Subsingletons module Locales.Sierpinski (𝓤 : Universe) (pe : Prop-Ext) (pt : propositional-truncations-exist) (fe : Fun-Ext) where open import DomainTheory.BasesAndContinuity.Continuity pt fe 𝓤 open import DomainTheory.Basics.Dcpo pt fe 𝓤 hiding (⟨_⟩) open import DomainTheory.Basics.Pointed pt fe 𝓤 open import DomainTheory.Lifting.LiftingSet pt fe open import DomainTheory.Lifting.LiftingSetAlgebraic pt pe fe open import Locales.Frame pt fe hiding (𝟚) open import UF.Subsingletons-Properties \end{code} We first define the Sierpinski domain. \begin{code} 𝕊-dcpo⁻ : DCPO {𝓤 ⁺} {𝓤 ⁺} 𝕊-dcpo⁻ = 𝓛-DCPO 𝓤 pe (props-are-sets {X = 𝟙 {𝓤}} 𝟙-is-prop) 𝕊-dcpo : DCPO⊥ {𝓤 ⁺} {𝓤 ⁺} 𝕊-dcpo = 𝓛-DCPO⊥ 𝓤 pe (props-are-sets {X = 𝟙 {𝓤}} 𝟙-is-prop) \end{code} We then define the Sierpinski locale as the Scott locale of the Sierpinski domain. \begin{code} open import Locales.ScottLocale.Definition pt fe 𝓤 open DefnOfScottLocale (𝕊-dcpo ⁻) 𝓤 pe open Locale 𝕊 : Locale (𝓤 ⁺) (𝓤 ⁺) 𝓤 𝕊 = ScottLocale ⊤𝕊 : ⟨ 𝒪 𝕊 ⟩ ⊤𝕊 = ⊤ₛ 𝕊𝓓-is-algebraic : is-algebraic-dcpo 𝕊-dcpo⁻ 𝕊𝓓-is-algebraic = 𝓛-is-algebraic-dcpo 𝓤 (props-are-sets {X = 𝟙 {𝓤}} 𝟙-is-prop) \end{code}