Lecture III (§3) — the product system: Definitions 3.1, 3.3, Propositions 3.2, #
3.4, Lemma 3.6, Theorems 3.5, 3.7
Following Dana Scott, Lectures on a Mathematical Theory of Computation, PRG-19
(1981), Lecture III,
Constructions on domains. Given two neighbourhood systems over disjoint
token sets Δ₀, Δ₁,
the product system 𝒟₀ × 𝒟₁ has neighbourhoods X ∪ Y (X ∈ 𝒟₀, Y ∈ 𝒟₁)
over Δ₀ ∪ Δ₁.
We model the disjoint union of token sets by the sum type α ⊕ β, and the
product
neighbourhood X ∪ Y by prodNbhd X Y = Sum.inl '' X ∪ Sum.inr '' Y. Because
Sum.inl and
Sum.inr have disjoint ranges, the cleanest facts of Scott's proof become
transparent:
prodNbhd_inter—(X ∪ Y) ∩ (X' ∪ Y') = (X ∩ X') ∪ (Y ∩ Y')(Scott's (2));prodNbhd_subset_iff—X ∪ Y ⊆ X' ∪ Y' ↔ X ⊆ X' ∧ Y ⊆ Y'(Scott's (1));prodNbhd_injective— the representationX ∪ Yis unique.
This file formalizes:
- Definition 3.1 / Proposition 3.2 — the product system
prod V₀ V₁, the element pairingpair x y = ⟨x, y⟩, the order lawpair_le_pair_iff(3.2(i)), and the order-isomorphismprodEquiv : |𝒟₀ × 𝒟₁| ≃o |𝒟₀| × |𝒟₁|. - Definition 3.3 / Proposition 3.4 — projections
proj₀,proj₁, the paired mappingpaired f g, andproj₀_comp_paired,proj₁_comp_paired,paired_proj(⟨p₀∘h, p₁∘h⟩ = h),toElementMap_paired(⟨f, g⟩(w) = ⟨f(w), g(w)⟩). - Lemma 3.6 — constant maps
constMap b(X b Y ↔ Y ∈ b) withtoElementMap_constMap. - Theorem 3.5 — joint vs. separate approximability, via the bridge
ApproximableMap (prod V₀ V₁) V₂ ≃ ApproximableMap₂ V₀ V₁ V₂(ofMap₂/toMap₂and round-trips). - Proposition 3.7 — multivariate approximable functions are closed under
substitution
(
comp/paired/projbookkeeping).
Everything is choice-free (#print axioms ⊆ {propext, Quot.sound}).
Definition 3.1 (Scott 1981, PRG-19). The product system 𝒟₀ × 𝒟₁:
neighbourhoods are
X ∪ Y with X ∈ 𝒟₀, Y ∈ 𝒟₁. Closure under consistent intersection is Scott's
(2)
(prodNbhd_inter) together with the factors' closure; the consistency witness Z ⊆ (X∪Y) ∩ (X'∪Y')
splits into witnesses Z₀ ⊆ X ∩ X', Z₁ ⊆ Y ∩ Y' by prodNbhd_subset_iff.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Projections of an element (Scott's z₀, z₁). #
Scott's z₀ = {X ∈ 𝒟₀ ∣ X ∪ Δ₁ ∈ z}: the first component of a product
element.
Equations
Instances For
Scott's z₁ = {Y ∈ 𝒟₁ ∣ Δ₀ ∪ Y ∈ z}: the second component of a product
element.
Equations
Instances For
The key splitting (Scott's (3)): for a product element z and neighbourhoods
X ∈ 𝒟₀,
Y ∈ 𝒟₁, membership of X ∪ Y in z is equivalent to membership of its two
"slices".
Definition 3.1 — the element pairing ⟨x, y⟩. #
Definition 3.1 (Scott 1981, PRG-19). The element pairing ⟨x, y⟩ = {X ∪ Y ∣ X ∈ x, Y ∈ y}.
Equations
- One or more equations did not get rendered due to their size.
Instances For
z = ⟨z₀, z₁⟩: every product element is the pairing of its two components.
Proposition 3.2 (Scott 1981, PRG-19). The order-isomorphism |𝒟₀ × 𝒟₁| ≃o |𝒟₀| × |𝒟₁|.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Definition 3.3 / Proposition 3.4 — projections and pairing of maps. #
An approximable map relates any input neighbourhood to the master output Δ₁.
Definition 3.3 (Scott 1981, PRG-19). The projection p₀ : 𝒟₀ × 𝒟₁ → 𝒟₀,
(X ∪ Y) p₀ X' ↔ X ⊆ X'.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Definition 3.3 (Scott 1981, PRG-19). The projection p₁ : 𝒟₀ × 𝒟₁ → 𝒟₁,
(X ∪ Y) p₁ Y' ↔ Y ⊆ Y'.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Definition 3.3 (Scott 1981, PRG-19). The paired mapping ⟨f, g⟩ : 𝒟₂ → 𝒟₀ × 𝒟₁,
Z ⟨f, g⟩ (X ∪ Y) ↔ Z f X ∧ Z g Y.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Proposition 3.4(ii) (Scott 1981, PRG-19). p₀(z) = z₀.
Proposition 3.4(ii) (Scott 1981, PRG-19). p₁(z) = z₁.
Proposition 3.4(iv) (Scott 1981, PRG-19). ⟨f, g⟩(w) = ⟨f(w), g(w)⟩.
Proposition 3.4(i) (Scott 1981, PRG-19). p₀ ∘ ⟨f, g⟩ = f.
Proposition 3.4(i) (Scott 1981, PRG-19). p₁ ∘ ⟨f, g⟩ = g.
Proposition 3.4(iii) (Scott 1981, PRG-19). h = ⟨p₀ ∘ h, p₁ ∘ h⟩.
Lemma 3.6 — constant maps. #
Lemma 3.6 (Scott 1981, PRG-19). The constant map at b : |𝒟₁|: X b Y ↔ Y ∈ b.
Equations
Instances For
Lemma 3.6 (Scott 1981, PRG-19). The constant map sends every element to
b.
Theorem 3.5 — joint vs. separate approximability. #
Extensionality for two-variable approximable mappings.
Theorem 3.5 (→) (Scott 1981, PRG-19). A joint approximable mapping 𝒟₀ × 𝒟₁ → 𝒟₂
restricts to a two-variable mapping X, Y f Z ↔ (X ∪ Y) f Z.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Theorem 3.5 (←) (Scott 1981, PRG-19). A two-variable mapping induces a joint mapping.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Theorem 3.5 (Scott 1981, PRG-19). The bijection between joint approximable
mappings
𝒟₀ × 𝒟₁ → 𝒟₂ and two-variable mappings 𝒟₀, 𝒟₁ → 𝒟₂: a function of two
arguments comes from
an approximable mapping iff it is separately approximable.
Equations
- Domain.Neighborhood.map₂Equiv V₀ V₁ V₂ = { toFun := Domain.Neighborhood.toMap₂, invFun := Domain.Neighborhood.ofMap₂, left_inv := ⋯, right_inv := ⋯ }
Instances For
Theorem 3.5 (elementwise) (Scott 1981, PRG-19). The two-variable
elementwise map of
toMap₂ f is f evaluated at the pairing: (toMap₂ f)(x, y) = f(⟨x, y⟩).
Proposition 3.7 — closure under substitution. #
Proposition 3.7 (Scott 1981, PRG-19). Multivariate approximable functions
are closed under
substitution: substituting approximable maps a, b : 𝒟₃ → 𝒟ᵢ into a two-variable
approximable map
F : 𝒟₀ × 𝒟₁ → 𝒟₂ yields the approximable map F ∘ ⟨a, b⟩, whose value is
F(a(w), b(w)). The
building blocks are exactly Definition 3.3's paired and Theorem 2.5's comp.