Exercise 3.23 (Scott 1981, PRG-19, Β§3) β the category of domains is cartesian #
closed
Exercise 3.23 asks (for category theorists) to read off from Theorems 3.11 and
3.12 that the category
of domains and approximable mappings is cartesian closed, to identify its
terminal object, and to
say what sort of functor (πβ β πβ) is.
The three ingredients are already in the development; this file packages them and supplies the missing terminal object:
- Terminal object. The one-point domain
π = unitSys(Exercise 3.15) is terminal: there is a unique approximable mappingπ β π(Unique (ApproximableMap V unitSys)), because|π|is a subsingleton. - Finite products.
prodwithprojβ,projβis the categorical product (Exercise 3.20). - Exponentials.
curryEquiv(Theorem 3.12) is the natural adjunctionHom(πβ Γ πβ, πβ) βo Hom(πβ, (πβ β πβ)), exhibiting(πβ β πβ)as the exponentialπβ^πβ.
So π, Γ, and β make the category cartesian closed, and (πβ β -) is a
(covariant) functor
right adjoint to - Γ πβ. Everything is choice-free (#print axioms β {propext, Quot.sound}).
The terminal domain. #
There is at most one approximable mapping into the terminal domain π: the
codomain |π|
is a subsingleton, so any two maps have the same elementwise action.
Exercise 3.23 (Scott 1981, PRG-19). π = unitSys is the terminal
object: for every domain
π there is a unique approximable mapping π β π (the constant map at β₯).
Equations
- Domain.Neighborhood.instUniqueApproximableMapUnitUnitSys V = { default := Domain.Neighborhood.constMap V default, uniq := β― }
Exercise 3.23 (Scott 1981, PRG-19). The unique map to the terminal object, named.
Equations
Instances For
The exponential adjunction (cartesian closure). #
Exercise 3.23 (Scott 1981, PRG-19). The cartesian-closed adjunction
Hom(πβ Γ πβ, πβ) βo Hom(πβ, (πβ β πβ)), exhibiting (πβ β πβ) as the
exponential object. This
is exactly curryEquiv of Theorem 3.12.
Equations
- Domain.Neighborhood.homAdjunction Vβ Vβ Vβ = Domain.Neighborhood.curryEquiv Vβ Vβ Vβ