Example 6.2 (Scott 1981, PRG-19, §6) — C ≅ {{Λ}} + C + C #
Following Dana Scott, Lectures on a Mathematical Theory of Computation, PRG-19
(1981), Lecture VI.
This module formalizes the second domain equation of Example 6.2, for the system
C of finite or
infinite binary sequences (Example 4.4):
C ≅ {{Λ}} + C + C,
where {{Λ}} = 𝟙 is the one-point (unit) domain (Exercise 3.15). Presented over
{0,1}*,
C = {Σ*} ∪ {{Λ}} ∪ {0X ∣ X ∈ C} ∪ {1X ∣ X ∈ C},
so a neighbourhood of C is the master Σ* (= cone []), the terminator {Λ} = {[]}, a 0-copy
0X = embBit false X, or a 1-copy 1X = embBit true X. These four shapes are
exactly those of a
three-way separated sum 𝟙 + C + C: a fresh basepoint, plus one 𝟙-copy (the
lone {Λ}), plus
two C-copies.
Crucially this is a genuine three-way sum: nesting the binary sum (𝟙 + (C + C)) would introduce a
spurious extra bottom element (the inner sum's basepoint) with no counterpart in
C. So we first build
the three-way separated sum sum3 (mirroring Exercise 3.18), then exhibit the
order-isomorphism
ccEquiv : |C| ≃o |𝟙 + C + C|.
All data is choice-free (#print axioms ⊆ {propext, Quot.sound}).
The three-way separated sum D₀ + D₁ + D₂. #
Tokens are Option (α ⊕ β ⊕ γ): a fresh basepoint Λ = none below three disjoint
tagged copies.
The master neighbourhood of the three-way sum: {Λ} ∪ 0Δ₀ ∪ 1Δ₁ ∪ 2Δ₂.
Equations
- Domain.Neighborhood.master3 V₀ V₁ V₂ = insert none (Domain.Neighborhood.j0 V₀.master ∪ Domain.Neighborhood.j1 V₁.master ∪ Domain.Neighborhood.j2 V₂.master)
Instances For
Example 6.2 — the three-way separated sum D₀ + D₁ + D₂ over {Λ} ∪ 0Δ₀ ∪ 1Δ₁ ∪ 2Δ₂,
under the standing assumption that no neighbourhood of any factor is empty.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The domain equation C ≅ 𝟙 + C + C. #
Scott's standing assumption ∅ ∉ C: every neighbourhood of C is nonempty.
b{σ} = {bσ}: prepending a bit to a singleton.
Prepending a bit lands back in C.
Example 6.2 — the shape of a C-neighbourhood. Every neighbourhood of C
is the master
Σ* = cone [], the terminator {Λ} = {[]}, a 0-copy 0X with X ∈ C, or a
1-copy 1X.
If bW ∈ C then W ∈ C.
The right-hand side of the domain equation: the three-way sum 𝟙 + C + C.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Example 6.2 — forward half of C ≅ 𝟙 + C + C.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Example 6.2 — inverse half of C ≅ 𝟙 + C + C.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The two halves are mutually inverse. #
The domain equation C ≅ 𝟙 + C + C. #
Example 6.2 (Scott 1981, PRG-19) — the isomorphism |C| ≃o |𝟙 + C + C|.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Example 6.2 (Scott 1981, PRG-19) — the domain equation C ≅ {{Λ}} + C + C. Scott's domain
C of finite-or-infinite binary sequences is, as a domain, isomorphic to the
three-way separated sum
𝟙 + C + C: a sequence is bottom, the finished empty sequence Λ (the 𝟙
summand), or begins with
0 or 1 (the two C summands).