Function spaces on continuous lattices (Scott 1972, §3) #
Scott's §3 studies spaces of continuous maps [X → Y] with the topology of
pointwise
convergence (subbasic sets {f | f x ∈ U}), the pointwise specialization order
(3.2),
and the fact that [D → D'] is a continuous lattice when D → D'] is (3.3).
March 1972 correction (Milner) #
Scott's remark before Proposition 2.5 was mistaken: a T₀-topology on a complete
lattice
need not have every open set Scott-open. The two extreme T₀-topologies inducing
the same
order are generated by {x | not x <= y} (lower) and {x | y ⊑ x} (principal
up-sets).
The corrected proofs of 2.9, 2.10, and 3.3 assume the given topology is coarser
than
the Scott (lattice) topology (scottTopologicalSpace ≤ τ in mathlib). We revisit
that
hypothesis when formalizing those results.
In the March 1972 correction (p. 135), Scott writes ⊔S′ (prime on the index, not
on the
join): for S ⊆ D a subspace of ambient D′, ⊔S′ is the supremum of S
computed in D′,
while ⊔S is the supremum in the subspace D; the retraction identity is j(⊔S′) = ⊔S.
Definition 3.1 #
Subbasic sets for Scott's function-space topology (pointwise convergence).
Equations
Instances For
Scott 1972, Definition 3.1. The function space [X → Y] carries the
topology
generated by {f : f x ∈ U | x ∈ X, U open in Y}.
Equations
Instances For
Scott's notation [X → Y]: continuous maps with the pointwise (product)
topology.
Equations
Instances For
Proposition 3.2 #
Scott 1972, Proposition 3.2. The specialization order on [X → Y] is
pointwise.
§3 on continuous lattices: pointwise lattice structure #
Continuous maps D → D' with Scott topologies on domain and codomain.
Equations
- Domain.ContinuousLattice.ScottC D D' = C(D, D')
Instances For
Continuous maps between complete lattices with Scott's induced topologies.
Equations
- Domain.ContinuousLattice.ScottMap D D' = { f : D → D' // Continuous f }
Instances For
Equations
- Domain.ContinuousLattice.ScottMap.instCoeFunForall = { coe := fun (f : Domain.ContinuousLattice.ScottMap D D') => ↑f }
Composition of Scott-continuous maps.
Instances For
The constant Scott map with value c.
Equations
- Domain.ContinuousLattice.ScottMap.const c = ⟨fun (x : D) => c, ⋯⟩
Instances For
The bottom Scott map, pointwise constantly ⊥.
Instances For
The pointwise order on Scott maps.
Instances For
The pointwise supremum of two Scott maps.
Instances For
The pointwise supremum of a set of Scott maps.
Equations
- Domain.ContinuousLattice.ScottMap.sSupMaps F = ⟨fun (x : D) => sSup ((fun (f : Domain.ContinuousLattice.ScottMap D D') => ↑f x) '' F), ⋯⟩
Instances For
The complete lattice [D → D'] (Theorem 3.3, order content) #
The pointwise order makes ScottMap D D' a partial order; sSupMaps gives
suprema (pointwise,
since directed and arbitrary suprema of Scott maps are computed pointwise —
Theorem 3.3). By
completeLatticeOfSup this is a complete lattice. Note infima are not pointwise
(Scott's
warning); completeLatticeOfSup derives them as sSup of lower bounds.
Equations
- Domain.ContinuousLattice.ScottMap.instPartialOrder = { le := Domain.ContinuousLattice.ScottMap.le, le_refl := ⋯, le_trans := ⋯, lt_iff_le_not_ge := ⋯, le_antisymm := ⋯ }
The identity Scott map.
Equations
- Domain.ContinuousLattice.ScottMap.idMap = ⟨fun (x : D) => x, ⋯⟩
Instances For
The (completeLatticeOfSup-derived) binary join of Scott maps is computed pointwise.
The bottom Scott map is the constant ⊥.
Theorem 3.3 (core) #
Scott 1972, Theorem 3.3 (directed sup). Pointwise suprema of
Scott-continuous maps are
Scott-continuous; this is the heart of Scott's proof that [D → D'] is a complete
lattice.
Instances For
Scott 1972, Theorem 3.3 (binary join). Pointwise join of Scott-continuous maps is Scott-continuous.
Equations
Instances For
Theorem 3.3 ([D → D'] is a continuous lattice) #
Scott's step functions ē[e, e'] are the building blocks: ē[e,e'](x) = e' if
e ≪ x, else
⊥. We encode the conditional value as ⨆ _ : e ≪ x, e' (which is e' when e ≪ x and ⊥
otherwise), avoiding any decidability assumption. Each step function is
Scott-continuous (the
way-above set {x | e ≪ x} is Scott-open), is way below f whenever e' ≪ f e,
and f is the
supremum of the step functions below it — whence [D → D'] is a continuous
lattice.
The (value of the) step function ē[e, e'] at x: e' if e ≪ x, else ⊥.
Equations
- Domain.ContinuousLattice.stepFun e e' x = ⨆ (_ : Domain.ContinuousLattice.WayBelow e x), e'
Instances For
Step functions are Scott-continuous: {x | e ≪ x} is Scott-open, so the
conditional commutes
with directed suprema.
The step function ē[e, e'] as a Scott map.
Equations
Instances For
If e' ≪ g e then the step function ē[e, e'] lies below g (a pointwise
argument).
The step function is way below f. If e' ≪ f e, then ē[e, e'] ≪ f in
[D → D'],
witnessed by the Scott-open set {g | e' ≪ g e} (open because suprema in [D → D'] are pointwise
and {· ≪ ·} is inaccessible by directed suprema).
Pointwise reconstruction. For a Scott map f, the supremum of the values
of the step
functions below f recovers f x: f x = ⊔ {e' | ∃ e ≪ x, e' ≪ f e}. Uses
continuity of D
(x = ⊔{e | e ≪ x}), Scott-continuity of f, and continuity of D'.
Scott 1972, Theorem 3.3 (order content). If D and D' are continuous
lattices, then so
is [D → D'] under the pointwise order. Every f is the supremum of the step
functions way below
it: f = ⊔ {ē[e,e'] | e' ≪ f e}, and each such step function is way below f.
Theorem 3.3(b): the lattice topology = the topology of pointwise #
convergence
The Scott topology of the continuous lattice [D → D'] coincides with the product
(pointwise
convergence) topology, whose subbasis is {f | f x ∈ U} (U Scott-open in D').
One inclusion
(pointwise ⊆ Scott) is immediate: each subbasic set is Scott-open in the lattice
(joins are
pointwise). The other (Scott ⊆ pointwise) is Scott's argument via the ↟φ basis
of a continuous
lattice: φ ≪ g forces φ ≤ ⊔ᵢ ē[eᵢ,eᵢ'] for finitely many pairs with eᵢ' ≪ g eᵢ, and the
finite intersection ⋂ᵢ {h | eᵢ' ≪ h eᵢ} is a pointwise-open neighbourhood of g
inside ↟φ.
A finite sup of elements way below g is way below g.
Subbasic sets of the pointwise (product) topology on [D → D']: {f | f x ∈ U} for U
Scott-open in D'.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Scott 1972, Definition 3.1 (on lattices). The topology of pointwise
convergence on
[D → D'].
Equations
Instances For
Each pointwise-subbasic set {f | f x ∈ U} (U Scott-open) is Scott-open in
the lattice
[D → D'], because suprema there are pointwise. This is the easy inclusion
pointwise ⊆ Scott.
Step-function decomposition of ≪. If φ ≪ g in [D → D'], then φ
lies below a finite
join of step functions ē[eᵢ,eᵢ'] with eᵢ' ≪ g eᵢ. The finite joins of such
step functions form
a directed family with supremum g, so wayBelow_sSup_iff produces one above
φ.
Scott 1972, Theorem 3.3(b). The Scott (lattice) topology on [D → D']
agrees with the
topology of pointwise convergence.
Scott 1972, Theorem 3.3 (full statement). For continuous lattices D,
D', the function
space [D → D'] is a continuous lattice (theorem_3_3_isContinuousLattice) whose
Scott topology
agrees with the topology of pointwise convergence (theorem_3_3_topology).
Corollary 3.4 #
Scott 1972, Corollary 3.4 (fixed x). Evaluation at fixed x is
continuous on [D → D']
(with Scott topologies on D and D'); this is one half of the
separate-continuity input to
joint continuity.
Scott 1972, Corollary 3.4 (joint continuity, core). Evaluation [D → D'] × D → D',
(f, x) ↦ f x, preserves directed suprema. By Proposition 2.6 it suffices to
check separate
Scott-continuity: in x (with f fixed) it is f's own continuity, and in f
(with x fixed)
it is the pointwise formula for suprema in [D → D'] (ScottMap.sSup_apply).
Scott 1972, Corollary 3.4. The evaluation map eval : [D → D'] × D → D',
(f, x) ↦ f x,
is (jointly) Scott-continuous. Via Theorem 3.3(b) and Proposition 2.9(b) the Scott
topology of the
product lattice is the product of the pointwise topology on [D → D'] and the
Scott topology on
D, so this is exactly joint continuity for Scott's product topology.
Proposition 3.5 (currying) #
Scott 1972, Proposition 3.5 (right). Currying in the y-variable is
Scott-continuous.
Instances For
Currying in the x-variable: x ↦ f (x, y) is Scott-continuous (used for
continuity of
lambda f as a map D → [D' → D'']).
The outer half of currying: x ↦ (y ↦ f (x, y)) preserves directed suprema
(so lambda f is a
Scott map D → [D' → D'']). Equality in [D' → D''] is pointwise, reducing to
curry_left.
Scott 1972, Proposition 3.5. Functional abstraction
lambda : [[D × D'] → D''] → [D → [D' → D'']], lambda f x y = f (x, y). By
Theorem 3.3,
[D → [D' → D'']] is itself a continuous lattice, and lambda f is a Scott map.
Equations
- Domain.ContinuousLattice.scottLambda f = ⟨fun (x : D) => Domain.ContinuousLattice.scottLambdaAt f x, ⋯⟩
Instances For
lambda preserves directed suprema: both sides evaluate, pointwise at (x, y), to
⊔ {f (x, y) | f ∈ 𝓕}, since suprema in every function lattice involved are
pointwise.
Scott 1972, Proposition 3.5. Functional abstraction lambda is
Scott-continuous.
Definition 3.6 #
Scott 1972, Definition 3.6. A retraction of continuous lattices.
- incl : ScottMap D D'
The inclusion map into the ambient lattice.
- retr : ScottMap D' D
The retraction map back to the sublattice.
Instances For
Scott 1972, Definition 3.6. A projection of continuous lattices: a
retract with
i ∘ j ⊑ id.
Instances For
Scott 1972, Prop 2.10 / March 1972 correction (p. 135). For S ⊆ D a
subspace of
ambient D', write ⊔S′ for the supremum of S computed in D' (Scott's prime
is on the
index, not the join). This is sSup (i '' S) in Lean.
Equations
- R.ambientSSup S = sSup (↑R.incl '' S)
Instances For
Scott 1972, Prop 2.10 / March 1972 correction (p. 135). For directed S ⊆ D,
j(⊔S′) = ⊔S: the retraction sends the ambient join back to the subspace join.
The inclusion of a retraction preserves directed suprema (it is a Scott map).
Heart of Scott's proof of 2.10. If x' ≪ i(d) in the ambient continuous
lattice D',
then its image j(x') is way below d in the retract D. The Scott-open witness
in D is the
preimage i⁻¹V' of an ambient Scott-open witness V' (Scott-open because i
preserves directed
suprema); for z ∈ i⁻¹V' we have x' ⊑ i(z), hence j(x') ⊑ j(i(z)) = z. No
projection
hypothesis is needed — j ∘ i = id and monotonicity suffice.
For d in the retract, the ambient way-below set of i(d) pushed back by j
is a directed
family whose supremum (computed in D) is d. This is the identity j(⊔S′) = ⊔S
applied to
S = {j(x') : x' ≪ i(d)}, combined with continuity of D'.
Proposition 2.10: a retract of a continuous lattice is a continuous #
lattice
Scott 1972, Proposition 2.10(a). A (Scott-continuous) retract of a
continuous lattice is a
continuous lattice. For d ∈ D we have, in the ambient D', i(d) = ⊔{x' | x' ≪ i(d)}; applying
the retraction j (which preserves this directed supremum) gives d = ⊔{j(x') | x' ≪ i(d)} in
D, and each j(x') ≪ d by retr_wayBelow_of_wayBelow_incl. Hence any upper
bound of
{x | x ≪ d} dominates d, so d = ⊔{x | x ≪ d}.
Scott 1972, Proposition 2.10(b) (March 1972 / Milner correction). The
Scott topology of the
retract D coincides with the subspace topology induced from the ambient D'
along i.
scott ≤ induced: each induced-openi⁻¹V'is Scott-open inDbecauseiis a Scott map.induced ≤ scott: the setsi⁻¹(↟x') = {z | x' ≪ i(z)}(x' ∈ D') are a basis ofD's Scott topology — given a Scott-openU ∋ d, the directed family{j(x') | x' ≪ i(d)}(supd) meetsUat somej(x'), andi⁻¹(↟x') ⊆ Usincex' ≪ i(z) ⟹ j(x') ⊑ zwithUupper. Each such basic set is induced-open by construction, so every Scott-open ofDis induced-open.
Scott 1972, Proposition 2.10 (full statement). A retract of a continuous
lattice is a
continuous lattice (proposition_2_10_a) whose Scott topology agrees with the
subspace topology
(proposition_2_10_b).
Proposition 3.7 #
Scott 1972, Proposition 3.7 (retraction half). If D_n is a retract of
D'_n
(n = 0,1), then [D₀ → D₁] is a retract of [D'₀ → D'₁] via
f ↦ i₁ ∘ f ∘ j₀ and f' ↦ j₁ ∘ f' ∘ i₀.
The induced inclusion on function spaces.
The induced retraction on function spaces.
Instances For
Scott 1972, Proposition 3.7 (projection half). Under the same hypotheses with projections, the induced pair on function spaces is also a projection.
Instances For
The function-space retraction induced by retractions on the domain and codomain.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The function-space projection induced by projections on the domain and codomain.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Scott 1972, Proposition 3.7 (retraction). Function spaces inherit retractions.
Equations
Instances For
Scott 1972, Proposition 3.7 (projection). Function spaces inherit projections.
Equations
Instances For
Proposition 3.10 #
Scott 1972, Proposition 3.10(ii). The inclusion map of a projection is injective.
Scott 1972, Proposition 3.10(i), empty case. i(⊥) = ⊥.
Scott 1972, Proposition 3.10(i), binary case. i(x ⊔ y) = i(x) ⊔ i(y).
Finite sub-lubs used in Scott's proof of Proposition 3.10(i).
Equations
Instances For
Scott 1972, Proposition 3.10(i). Projections preserve arbitrary suprema.
Scott 1972, Proposition 3.10(iii). Projections preserve the way-below relation.
Scott 1972, Proposition 3.10(i)–(iii), bundled. The inclusion i of a
projection preserves
arbitrary suprema, is injective, and preserves the way-below relation.
Scott 1972, Proposition 3.10(iv), uniqueness. The retraction of any
projection is forced to
be Scott's formula j(x') = ⊔ { x | i(x) ⊑ x' }. ≤: j(x') itself satisfies
i(j x') ⊑ x'
(by i ∘ j ⊑ id), so it is a member of the set; ≥: each member x (with i x ⊑ x') satisfies
x = j(i x) ⊑ j(x') by j ∘ i = id and monotonicity.
Proposition 3.10, converse direction #
Given a map i : D → D' satisfying (i)–(iii), Scott's formula (iv)
j(x') = ⊔ { x | i(x) ⊑ x' } is the unique continuous retraction making D a
projection of D'.
Scott 1972, Proposition 3.10(iv). Scott's candidate retraction j(x') = ⊔ { x | i(x) ⊑ x' }.
Instances For
From (i): i preserves binary joins (Scott checks (i) on two-element sets).
From (i): i is monotone.
From (i)+(ii): i is order-reflecting (x ⊑ y ↔ i x ⊑ i y), since x ⊑ y ↔ x ⊔ y = y.
i ∘ j ⊑ id (uses only (i)).
j ∘ i = id (uses (i)+(ii)): {x | i x ⊑ i y} = Iic y, whose join is y.
j is Scott-continuous (uses (i)+(iii) and continuity of D). For directed
S': monotonicity
gives ⊔ j''S' ⊑ j(⊔S'); conversely if i x ⊑ ⊔S' then for every z ≪ x we have
i z ≪ i x ⊑ ⊔S',
so i z ⊑ x' for some x' ∈ S' (directedness), whence z ⊑ j(x') ⊑ ⊔ j''S';
continuity of D
then gives x ⊑ ⊔ j''S'.
The projection assembled from a map i satisfying 3.10(i)–(iii).
Equations
- Domain.ContinuousLattice.converseProjection hi hinj hwb hD = { incl := ⟨i, ⋯⟩, retr := ⟨Domain.ContinuousLattice.converseRetr i, ⋯⟩, retr_incl := ⋯, incl_retr_le := ⋯ }
Instances For
Scott 1972, Proposition 3.10 (converse). If i : D → D' (between
continuous lattices)
satisfies (i) preservation of arbitrary suprema, (ii) injectivity, and (iii)
preservation of ≪,
then there is a continuous j making D a projection of D' via i, with j
given by Scott's
formula (iv) j(x') = ⊔ { x | i(x) ⊑ x' }.
Proposition 3.8 #
Scott 1972, Proposition 3.8. The infimum term ⊓ { f(x) : e(x) ∈ U } for
open U ⊆ Y.
Equations
- Domain.ContinuousLattice.scottSubspaceExtendInf e f U = sInf (f '' e ⁻¹' U)
Instances For
Scott 1972, Proposition 3.8. Scott's maximal subspace extension fbar : Y → D.
Equations
Instances For
Scott 1972, Proposition 3.8 (subspace variant). fbar (with the Scott
topology on Y) is
the maximal extension along a subspace embedding. The faithful statement
(arbitrary topology on
Y) is proposition_3_8 in Constructions.lean.
Scott 1972, Lemma 3.9 (inclusion at infimum level). Used in the inverse-limit argument (Theorem 4.4).
Scott 1972, Lemma 3.9 (retraction at infimum level). The global equality
fbar = j ∘ gbar assembles these infimum bounds via Proposition 3.10(i).
Definition 3.11 / Proposition 3.12: the lattice of projections J_D #
Scott 1972, Definition 3.11. J_D = { j ∈ [D → D] : j = j ∘ j ⊑ id }: the
Scott-continuous
projections of D (idempotent self-maps below the identity), as a predicate on
[D → D].
Equations
Instances For
Pointwise characterization of projections: idempotent and deflationary.
⊥ (the constant ⊥ map) is a projection — Scott's ⊔∅ ∈ J_D.
J_D is closed under binary joins (Scott 1972, 3.12). The key step: since j x ⊔ k x ⊑ x,
monotonicity and idempotency force j (j x ⊔ k x) = j x and k (j x ⊔ k x) = k x.
J_D is closed under finite joins.
J_D is closed under directed joins (Scott 1972, 3.12). Continuity of each
member lets the
inner (⊔S)-application distribute over the directed family { j x : j ∈ S },
and directedness
plus idempotency collapse the double family { k (j x) } to (⊔S) x.
Scott 1972, Proposition 3.12 (⊔-closure). J_D is closed under
arbitrary suprema in
[D → D]: every supremum is the directed supremum of finite sub-joins
(finsetSupOf), each a
projection by isProjection_finsetSup.
Scott 1972, Definition 3.11. The space J_D of projections of D, as a
subtype of
[D → D].
Equations
Instances For
Equations
- Domain.ContinuousLattice.Projections.instSupSet = { sSup := fun (T : Set (Domain.ContinuousLattice.Projections D)) => ⟨sSup (Subtype.val '' T), ⋯⟩ }
Scott 1972, Proposition 3.12. J_D is a complete lattice (a ⊔-closed
subspace of
[D → D]). Suprema are inherited from [D → D]; infima are derived by
completeLatticeOfSup.
Scott 1972, Proposition 3.12. For a (complete, in particular continuous)
lattice D, the
projections J_D form a complete lattice as a ⊔-closed subspace of [D → D]:
the ⊔-closure is
isProjection_sSup, and the complete-lattice structure is
Projections.instCompleteLattice.
Scott 1972, Proposition 3.13. con : D → [D → D] sends x to the
constant function x.
Equations
- Domain.ContinuousLattice.Proposition313.con = ⟨fun (x : D) => Domain.ContinuousLattice.ScottMap.const x, ⋯⟩
Instances For
Scott 1972, Proposition 3.13. min : [D → D] → D sends f to its least
value f(⊥).
Equations
- Domain.ContinuousLattice.Proposition313.min = ⟨fun (f : Domain.ContinuousLattice.ScottMap D D) => ↑f ⊥, ⋯⟩
Instances For
Scott 1972, Proposition 3.13. (con, min) makes D a projection of [D → D]:
min ∘ con = id (a constant's least value is its value) and con ∘ min ⊑ id (the
constant f(⊥)
is ≤ f pointwise, since f(⊥) ⊑ f(y) by monotonicity).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Scott 1972, Proposition 3.13. Every continuous lattice D is a projection
of its function
space [D → D], via con/min (Proposition313.projection).
The monotone map underlying a Scott map, suitable for OrderHom.lfp.
Equations
- Domain.ContinuousLattice.Proposition314.toOrderHom f = { toFun := ↑f, monotone' := ⋯ }
Instances For
Scott 1972, Proposition 3.14. fix f is the least (pre-)fixed point of
f, supplied by
mathlib's OrderHom.lfp.
Equations
Instances For
fix f is a fixed point of f.
Scott 1972, Proposition 3.14 (continuity). fix preserves directed
suprema. Direct
lattice argument (no Kleene iteration): write g = ⊔S and a = ⊔{fix f : f ∈ S}.
The reverse
bound a ⊑ fix g is fix-monotonicity. For fix g ⊑ a it suffices (by fix_le)
that a is a
pre-fixed point of g. Now g a = ⊔_{f∈S} f a (pointwise sup), and each f a = ⊔_{f'∈S} f (fix f')
(continuity of f on the directed family {fix f'}); for any f, f' ∈ S pick h ∈ S above both,
so f (fix f') ⊑ h (fix f') ⊑ h (fix h) = fix h ⊑ a. Hence g a ⊑ a.
Scott 1972, Proposition 3.14. The fixed-point operator as a Scott-continuous map.
Equations
Instances For
Uniqueness: any value that is a fixed point of f and below every pre-fixed
point equals
fix f (the least fixed point is unique).
Scott 1972, Proposition 3.14. For a continuous lattice D there is a
uniquely determined
continuous mapping fix : [D → D] → D such that f (fix f) = fix f for all f,
and fix f ⊑ x
whenever f x ⊑ x. Existence and continuity are Proposition314.fixMap; the
defining equations are
fix_eq/fix_le; uniqueness (any operator with these two properties agrees with
fix) is
fix_unique.