--- title: Scott domains author: Ayberk Tosun start-date: 2023-10-26 --- Ayberk Tosun. Started on 26 October 2023. \begin{code}[hide] {-# OPTIONS --safe --without-K --exact-split #-} open import MLTT.Spartan open import UF.FunExt open import UF.Logic open import UF.PropTrunc open import UF.SubtypeClassifier module DomainTheory.BasesAndContinuity.ScottDomain (pt : propositional-truncations-exist) (fe : Fun-Ext) (π₯ : Universe) where open import Slice.Family open import DomainTheory.Basics.Dcpo pt fe π₯ open import DomainTheory.BasesAndContinuity.Bases pt fe π₯ open import Locales.Frame hiding (β¨_β©) open Universal fe open Implication fe open Existential pt open Conjunction open Locale open PropositionalTruncation pt \end{code} We first define the notion of a π£-family having an upper bound. \begin{code} module DefinitionOfBoundedCompleteness (π : DCPO {π€} {π£}) where \end{code} We denote by `_β_` the informating ordering of the dcpo `π`. \begin{code} _β_ : β¨ π β© β β¨ π β© β π£ Μ x β y = x ββ¨ π β© y \end{code} \begin{code} has-an-upper-bound : Fam π£ β¨ π β© β Ξ© (π€ β π£) has-an-upper-bound (_ , ΞΉ) = Ζ u κ β¨ π β© , is-upperbound (underlying-order π) u ΞΉ \end{code} We also define a reformulation `has-supβ` of `has-sup` from `Basics.Dcpo`. The reason for this reformulation is to have a version more suitable to use with notion of family that I (Ayberk) use, which is the one from `Slice.Family`. Moreover, it is also convenient to have a version of this notion that is packaged up with the proof of its propositionality so that it can be defined directly as an `Ξ©`-valued function. \begin{code} has-supβ : Fam π£ β¨ π β© β Ξ© (π€ β π£) has-supβ (I , ΞΉ) = has-sup (underlying-order π) ΞΉ , having-sup-is-prop _β_ (prβ (axioms-of-dcpo π)) ΞΉ \end{code} Bounded completeness then says that any family that has an upper bound also has a least upper bound. \begin{code} bounded-complete : Ξ© (π€ β π£ βΊ) bounded-complete = β±― S κ Fam π£ β¨ π β© , has-an-upper-bound S β has-supβ S \end{code} We now proceed to define the notion of a Scott domain. \begin{code} module DefinitionOfScottDomain (π : DCPO {π€} {π£}) where open DefinitionOfBoundedCompleteness has-unspecified-small-compact-basisβ : Ξ© (π€ β π₯ βΊ β π£) has-unspecified-small-compact-basisβ = has-unspecified-small-compact-basis π , β-is-prop is-scott-domain : Ξ© (π€ β π₯ βΊ β π£ βΊ) is-scott-domain = has-unspecified-small-compact-basisβ β§ bounded-complete π \end{code}