Lecture II (§2) — approximable mappings: Definitions 2.1, 2.2 and Theorems #
2.5–2.7
Following Dana Scott, Lectures on a Mathematical Theory of Computation, PRG-19
(1981), Lecture II,
Approximable mappings. A mapping of domains that "preserves the spirit of
approximation" is given
not by a function on ideal elements but by a relation between neighbourhoods:
X f Y reads "if
the input is approximated at least as well as by X, then the output is
approximated at least as
well as by Y."
This file formalizes the §2 core:
- Definition 2.1 —
ApproximableMap V₀ V₁: a relationf ⊆ 𝒟₀ × 𝒟₁with (i)Δ₀ f Δ₁(master_rel), (ii)X f Y → X f Y' → X f (Y ∩ Y')(inter_right, the consistency/intersectivity condition), (iii)X f Y → X' ⊆ X → Y ⊆ Y' → X' f Y'(mono, monotonicity: sharper input, blunter output). We carryrel_dom/rel_codrecordingf ⊆ 𝒟₀ × 𝒟₁. - Proposition 2.2 — every approximable mapping determines an elementwise
function
toElementMap f : |𝒟₀| → |𝒟₁|,f(x) = {Y ∣ ∃ X ∈ x, X f Y}, which is a filter (i)–(iii) are all used); the relation is recovered byrel_iff_mem_principal(X f Y ↔ Y ∈ f(↑X)); the map is monotone (toElementMap_mono); and two approximable maps are equal iff they induce the same elementwise map (ext_of_toElementMap). - Theorem 2.5 — neighbourhood systems and approximable maps form a
category: identity
idMap(X I_D Y ↔ X ⊆ Y), compositioncomp g f(X (g∘f) Z ↔ ∃ Y, X f Y ∧ Y g Z), with the identity lawsidMap_comp/comp_idMapand associativitycomp_assoc. - Proposition 2.6 — the elementwise action is a functor to sets and
functions:
toElementMap_idMap(I_D(x) = x) andtoElementMap_comp((g∘f)(x) = g(f(x))). - Theorem 2.7 — every domain isomorphism
e : |𝒟₀| ≃o |𝒟₁|(Definition 1.9) comes from an approximable map:ofIso ewithtoElementMap_ofIso((ofIso e)(x) = e(x)), packaged asexists_approximable_of_iso; moreoverecarries finite (principal) elements to finite elements (exists_principal_eq_apply_principal), via the directed-union constructionsSupDirected.
Everything in this file is choice-free (#print axioms ⊆ {propext, Quot.sound}); the only
classical lemma is ext_of_toElementMap, which decides neighbourhood membership
by by_cases
(Classical.em).
Directed union of filters. The union ⋃ S = {Z ∣ ∃ s ∈ S, Z ∈ s} of a
non-empty directed
family S of elements (any two members have an upper bound in S) is again an
element. The only
non-trivial law is inter_mem: given Z ∈ a and Z' ∈ b, an upper bound c ⊇ a, b contains both,
hence Z ∩ Z' ∈ c. (Generalizes chainUnion of Exercise 1.24 from chains to
directed sets; this is
the construction behind Exercise 2.11 and Scott's finiteness argument in Theorem
2.7.)
Equations
Instances For
Each member of a directed family approximates the directed union.
The directed union is the least upper bound: an upper bound of every member dominates it.
Definition 2.1 (Scott 1981, PRG-19). An approximable mapping f : 𝒟₀ → 𝒟₁ is a relation
rel between neighbourhoods (rel X Y, Scott's X f Y) confined to 𝒟₀ × 𝒟₁
and satisfying
Scott's three conditions:
- (i)
Δ₀ f Δ₁—master_rel; - (ii)
X f YandX f Y'implyX f (Y ∩ Y')—inter_right; - (iii)
X f Y,X' ⊆ X,Y ⊆ Y'implyX' f Y'—mono(the targetsX',Y'must be neighbourhoods, as Scott's relation lives on𝒟₀ × 𝒟₁).
The underlying neighbourhood relation
X f Y.f ⊆ 𝒟₀ × 𝒟₁(domain side): related inputs are neighbourhoods.f ⊆ 𝒟₀ × 𝒟₁(codomain side): related outputs are neighbourhoods.(i)
Δ₀ f Δ₁.- mono {X X' : Set α} {Y Y' : Set β} : self.rel X Y → X' ⊆ X → Y ⊆ Y' → V₀.mem X' → V₁.mem Y' → self.rel X' Y'
(iii) monotonicity: a sharper input
X' ⊆ Xwith a blunter outputY ⊆ Y'is still related, providedX',Y'are neighbourhoods.
Instances For
Extensionality for the relation. Two approximable maps with the same neighbourhood relation are equal (the remaining fields are propositions).
Proposition 2.2(i) (Scott 1981, PRG-19). The elementwise function
determined by an
approximable mapping: f(x) = {Y ∈ 𝒟₁ ∣ ∃ X ∈ x, X f Y}. The four filter laws use
all of
Definition 2.1: master_mem uses (i); inter_mem uses (ii) together with (iii)
(to pull both
outputs back along the common input X ∩ X'); up_mem uses (iii).
Equations
Instances For
Proposition 2.2(ii) (Scott 1981, PRG-19). The relation is recovered from
the elementwise
map: for X ∈ 𝒟₀, X f Y ↔ Y ∈ f(↑X). (→ since X ∈ ↑X; ← since any Z ∈ ↑X has X ⊆ Z,
so Z f Y monotonically yields X f Y.)
Proposition 2.2(iii) (Scott 1981, PRG-19). Approximable maps are monotone
on elements:
x ⊑ y ⟹ f(x) ⊑ f(y).
Proposition 2.2(iv) (Scott 1981, PRG-19). Two approximable maps are
identical as relations
iff they induce the same elementwise function: (∀ x, f(x) = g(x)) ⟹ f = g. For
neighbourhoods X
the relation is read off f(↑X) (rel_iff_mem_principal); off 𝒟₀ both
relations are empty.
Theorem 2.5 — the category of neighbourhood systems and approximable #
mappings.
Theorem 2.5(i) (Scott 1981, PRG-19) — the identity mapping I_D. X I_D Y ↔ X ⊆ Y
(confined to 𝒟 × 𝒟). It is approximable: (i) Δ ⊆ Δ; (ii) X ⊆ Y, X ⊆ Y'
give X ⊆ Y ∩ Y'
with witness X; (iii) is transitivity X' ⊆ X ⊆ Y ⊆ Y'.
Equations
Instances For
Theorem 2.5(ii) (Scott 1981, PRG-19) — composition g ∘ f. X (g∘f) Z ↔ ∃ Y, X f Y ∧ Y g Z.
Approximability is Scott's verification: (i) use Y = Δ₁; (ii) intersect both
witnesses via
f.inter_right then g.inter_right (narrowing the inner neighbourhood with
g.mono); (iii) narrow
the input with f.mono and widen the output with g.mono, keeping the same
witness.
Equations
Instances For
Theorem 2.5 — left identity law. I_{D₁} ∘ f = f. (→: a witness Y ⊆ Z
widens the output
of f by f.mono; ←: take Y = Z.)
Theorem 2.5 — right identity law. f ∘ I_{D₀} = f. (→: a witness X ⊆ Y sharpens the
input of f by f.mono; ←: take Y = X.)
Theorem 2.5 — associativity. h ∘ (g ∘ f) = (h ∘ g) ∘ f. Pure
reassociation of the
existential witnesses.
Proposition 2.6 — the functor to sets and functions. #
Proposition 2.6(i) (Scott 1981, PRG-19). The identity mapping acts as the
identity on
elements: I_D(x) = x. (→: X ∈ x, X ⊆ Y ∈ 𝒟 gives Y ∈ x by up_mem; ←:
take X = Y.)
Proposition 2.6(ii) (Scott 1981, PRG-19). Composition of approximable
mappings becomes
composition of the elementwise functions: (g ∘ f)(x) = g(f(x)). Both sides
unfold to
∃ Y X, x.mem X ∧ X f Y ∧ Y g Z; the proof is a reassociation of existentials.
Theorem 2.7 — every domain isomorphism comes from an approximable mapping. #
Theorem 2.7 (Scott 1981, PRG-19) — the approximable map of an isomorphism.
Given a domain
isomorphism e : |𝒟₀| ≃o |𝒟₁| (Definition 1.9), Scott's "only way to define a
neighbourhood
mapping" is the relation X f Y ↔ Y ∈ e(↑X). The conditions of 2.1 hold because
e is monotone:
(i) Δ₁ ∈ e(⊥₀) is master_mem; (ii) is inter_mem of the filter e(↑X); (iii)
sharpening X' ⊆ X
means ↑X ⊑ ↑X', so e(↑X) ⊑ e(↑X') and the output transports along, then widens
by up_mem.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Theorem 2.7 — the relation re-defines the function. The elementwise map of
ofIso e is e
itself: (ofIso e)(x) = e(x) for every x. The forward inclusion uses that X ∈ x implies
↑X ⊑ x, hence e(↑X) ⊑ e(x); the reverse uses surjectivity of e (via
e.symm) exactly as in
Scott's proof — one shows x = e⁻¹((ofIso e)(x)) by antisymmetry.
Theorem 2.7 (statement) (Scott 1981, PRG-19). "Every isomorphism between
domains results
from
an approximable mapping." For any domain isomorphism e, there is an approximable
mapping whose
elementwise action is exactly e.
Theorem 2.7 (Scott 1981, PRG-19) — finite elements go to finite elements.
A domain
isomorphism e carries the finite (principal) element ↑X to a finite element
↑Y of the other
domain. Following Scott: with w = e(↑X), the set S = {e⁻¹(↑Y) ∣ Y ∈ w} is
directed (intersections
of members of w give upper bounds), so its union z = ⋃ S is an element
(sSupDirected). One shows
z = ↑X (each e⁻¹(↑Y) ⊑ e⁻¹(w) = ↑X, and conversely w ⊑ e(z) forces ↑X = e⁻¹(w) ⊑ z); then
X ∈ z lands in some e⁻¹(↑Y), giving w ⊑ ↑Y, while ↑Y ⊑ w is automatic — so
w = ↑Y.