Lecture VI — Theorem 6.14 (Scott 1981, PRG-19): existence of initial #
T-algebras
THEOREM 6.14. If the functor
Tis continuous on maps and monotone and continuous on domains, and if there is a setΓsuch that{Γ} ◁ T({Γ}), then there exists an initialT-algebra.
Scott's proof iterates the functor from the generating system {Γ}. The
assumption
{Γ} ◁ T({Γ}) means T({Γ}) is a system over the same token set Γ; iterating,
every
Tⁿ({Γ}) is over Γ and Tⁿ({Γ}) ◁ Tⁿ⁺¹({Γ}). The colimit
𝒟 = ⋃ₙ Tⁿ({Γ})
is then a system over Γ with Tⁿ({Γ}) ◁ 𝒟, whence 𝒟 ◁ T(𝒟), and continuity
on domains
gives T(𝒟) = 𝒟 — the isomorphism 𝒟 ≅ T(𝒟) is the identity. So 𝒟 is a
T-algebra, and:
- existence of homomorphisms out of
𝒟is Theorem 6.9 (nonempty_algHom_of_continuousOnMaps); - uniqueness is the
ρₙ = iₙ ∘ jₙprojection-chain argument:T(ρₙ) = ρₙ₊₁(monotone on domains),⋃ₙ ρₙ = I_𝒟, and any homomorphismhis⋃ₙ h∘ρₙ, the least fixed point ofλh. k ∘ T(h).
The carrier-type subtlety #
The abstract T : Endofunctor DomainObj need not preserve token types, so
Tⁿ({Γ}) a priori live
over different carriers. The hypothesis {Γ} ◁ T({Γ}) already pins T({Γ}) to
Γ's carrier, and
monotone on domains (Definition 6.13, MonotoneAt.carrier_eq) propagates the
identification up the
tower. We carry the carrier equalities explicitly and transport along them; the
transport of the
subdomain relation is the choice-free subsystem_cast.
Lean note: rw fragility on defeq-but-not-syntactic implicits #
Throughout the uniqueness half, rw with explicit arguments at the
ApproximableMap /
NeighborhoodSystem level repeatedly failed with "did not find an occurrence of
the pattern" even
when the pattern was visibly present — because the implicit carriers/systems were
defeq but not
syntactically equal (colim s vs (colimAlg s).carrier.sys vs (objColim s).sys; the abbrev
objColim vs the literal ⟨Tok, colim s⟩). Three fixes, used throughout
gcomp_rho_succ/gcomp_eq:
- work at the categorical
⊚/Category.assoclevel, where the implicits are concreteDomainObjs rather than systems, so unification has nothing to get stuck on; - prefer
congrArg/calcterm-mode proofs (e.g.congrArg (fun x => g.hom ⊚ x) (key_rho s n)), sincecalcbridges adjacent steps by defeq rather than by syntactic match; - to rewrite with a lemma whose implicit is pinned to the "wrong" representation
(e.g.
comp_idMap, whoseidMaparg is tied tog.hom's domain(colimAlg s).carrier.sys), first bind the fact via ahavestated in the desired form (have e : g.hom.comp (idMap (colim s)) = g.hom := comp_idMap g.hom— thehaveunifies by defeq), thenrw [← e].
Carrier-transport helpers #
The setup bundle (hypotheses of Theorem 6.14) #
The hypotheses of Theorem 6.14, bundled: a functor T that is continuous on
maps, monotone and
continuous on domains, together with a generating system Γ over a token type
Tok such that
{Γ} ◁ T({Γ}) (the carrier of T({Γ}) is identified with Tok by ceq, and
hsub is Scott's
{Γ} ◁ T({Γ})).
- T : Endofunctor DomainObj
The functor.
- hmaps : ContinuousOnMaps self.T
Tis continuous on maps (Definition 6.8). - hmono : MonotoneOnDomains self.T
Tis monotone on domains (Definition 6.13). - hcont : ContinuousOnDomains self.T
Tis continuous on domains (Definition 6.13). - Tok : Type w
The token type of the generating system.
- Γ : NeighborhoodSystem self.Tok
The generating system
{Γ}. T({Γ})is a system over the same token type.Scott's hypothesis
{Γ} ◁ T({Γ}).
Instances For
The iterated functor tower Tⁿ({Γ}) #
The iterated tower, as data: at level n, the system Tⁿ({Γ}) over Tok,
the carrier
identification (T.obj Tⁿ({Γ})).carrier = Tok, and the subdomain relation
Tⁿ({Γ}) ◁ Tⁿ⁺¹({Γ})
(where Tⁿ⁺¹({Γ}) is the carrier-transport of T(Tⁿ({Γ}))). The successor step
uses
monotone on domains (MonotoneAt) to obtain the next carrier identification and
subdomain
relation. Choice-free.
Equations
Instances For
The colimit 𝒟 = ⋃ₙ Tⁿ({Γ}) #
The colimit 𝒟 = ⋃ₙ Tⁿ({Γ}) as a neighbourhood system over Tok: a set
is a neighbourhood
of 𝒟 exactly when it is a neighbourhood of some Tⁿ({Γ}). Closure under
consistent intersection
uses that the tower is a chain (chain_le): any finite collection of
neighbourhoods sits inside one
level Tᴺ({Γ}), whose own inter_mem finishes the job.
Equations
- One or more equations did not get rendered due to their size.
Instances For
T(𝒟) and the relation 𝒟 ◁ T(𝒟) #
The continuity step (the hard half of T(𝒟) = 𝒟). Every neighbourhood of
T(𝒟) is a
neighbourhood of 𝒟. This is exactly Scott's T(𝒟) = T(⋃ₙ Tⁿ({Γ})) = ⋃ₙ Tⁿ⁺¹({Γ}) = 𝒟,
obtained from continuity on domains applied to the directed family {Tⁿ({Γ})}.
T(𝒟) = 𝒟 (Scott's 𝒟 = T(𝒟)): the two systems have the same
neighbourhoods (mutual
inclusion via colim_sub_Tcolim/Tcolim_sub_colim) and the same master.
A DomainObj equality from a carrier equality and a transported-system
equality.
The isomorphism T(𝒟) ≅ 𝒟 making 𝒟 a T-algebra (the identity, since T(𝒟) = 𝒟).
Instances For
The colimit 𝒟 as a T-algebra, with structure map the iso T(𝒟) → 𝒟.
Equations
- Domain.Neighborhood.Theorem614.colimAlg s = { carrier := { carrier := s.Tok, sys := Domain.Neighborhood.Theorem614.colim s }, str := (Domain.Neighborhood.Theorem614.colimIso s).hom }
Instances For
Existence of homomorphisms (Theorem 6.9) #
Existence (Theorem 6.9 applied to 𝒟 ≅ T(𝒟)). For any T-algebra B
with a strict
structure map, there is a strict homomorphism 𝒟 → B.
The projection chain ρₙ = iₙ ∘ jₙ and ⋃ₙ ρₙ = I_𝒟 #
ρₙ = iₙ ∘ jₙ : 𝒟 → 𝒟, the retraction onto Tⁿ({Γ}) (Proposition 6.12's
projection pair for
Tⁿ({Γ}) ◁ 𝒟).
Equations
- Domain.Neighborhood.Theorem614.rho s n = ⋯.inj.comp ⋯.proj
Instances For
The pointwise union ⋃ₙ ρₙ (directed, since the chain is increasing).
Equations
Instances For
Theorem 6.14 — the existence half (the canonical solution and its #
homomorphisms)
Theorem 6.14 (Scott 1981, PRG-19) — the canonical fixed point. Under the
hypotheses
(continuous on maps, monotone and continuous on domains, with a generating set
{Γ} ◁ T({Γ})), the
iterated colimit 𝒟 = ⋃ₙ Tⁿ({Γ}) is a T-algebra whose structure map is an
isomorphism
T(𝒟) ≅ 𝒟 (the identity, since T(𝒟) = 𝒟), and there is a homomorphism from 𝒟
into every
T-algebra with a strict structure map (Theorem 6.9). This is Scott's existence
of the initial
T-algebra.
Theorem 6.14 — the uniqueness half (T(ρₙ) = ρₙ₊₁, then g = ⋃ₙ g∘ρₙ) #
Scott shows homomorphisms out of 𝒟 are unique by showing they are determined on
the finite
elements. Concretely, the projection chain ρₙ = iₙ ∘ jₙ satisfies T(ρₙ) = ρₙ₊₁
(because T is
monotone on domains, so it carries the projection pair iₙ, jₙ to iₙ₊₁, jₙ₊₁)
and
⋃ₙ ρₙ = I_𝒟. For any homomorphism g : 𝒟 → E, the sequence gₙ = g ∘ ρₙ is
then independent
of g: g₀ = ⊥ (because g is strict and ρ₀ = ⊥), and gₙ₊₁ = k ∘ T(gₙ) ∘ j by the
homomorphism square; so g = ⋃ₙ gₙ is forced.
In the category of domains, ⊚ (categorical composition) is
ApproximableMap.comp.
The colimit 𝒟 as a category object ⟨Tok, 𝒟⟩.
Equations
- Domain.Neighborhood.Theorem614.objColim s = { carrier := s.Tok, sys := Domain.Neighborhood.Theorem614.colim s }
Instances For
The n-th tower system Tⁿ({Γ}) as a category object ⟨Tok, Tⁿ({Γ})⟩.
Equations
- Domain.Neighborhood.Theorem614.objDsys s n = { carrier := s.Tok, sys := Domain.Neighborhood.Theorem614.Dsys s n }
Instances For
T(ρₙ) as an endomorphism of T(𝒟), with the category objects pinned (they
cannot be inferred
from rho s n's ApproximableMap type alone).
Equations
Instances For
Transport of a Hom X X along an object equality is heterogeneously equal to
itself.
The carrier-transport core of T(ρₙ) = ρₙ₊₁. Given the
monotone-on-domains data for a
subsystem (its injection Tmi/projection Tmj are heterogeneously equal to the
canonical 6.12 pair
sub.inj/sub.proj of the image subsystem sub : Ps ◁ ce ▸ Qs), the composite
Tmi ∘ Tmj is —
after carrying the functor-image carriers Pc, Qc down to Tok — exactly the
projection
iₙ₊₁ ∘ jₙ₊₁ of the next subsystem hsub' : Dn1 ◁ Col. Proved by substing the
carrier equalities,
after which proof-irrelevance identifies the two subsystem proofs.
ρₙ₊₁ = i ∘ T(ρₙ) ∘ j (Scott's T(ρₙ) = ρₙ₊₁, conjugated by the
structure iso). Since the
iso 𝒟 ≅ T(𝒟) is the identity, this is the carrier transport of T(ρₙ); combined
with
map_rho_heq it pins ρₙ₊₁.
The g-independent fixed-point recursion #
For a strict map g, g(⊥) = ⊥ relationally: g sends Δ only to Δ.
For a strict homomorphism g, the base g ∘ ρ₀ is the least map: it relates
X only to the
master of E, independent of g.
The base case of g-independence: any two strict maps agree after ∘ ρ₀.
The fixed-point recursion gₙ₊₁ = k ∘ T(gₙ) ∘ j. Using key_rho (ρₙ₊₁ = i∘T(ρₙ)∘j)
and the
homomorphism square g ∘ i = k ∘ T(g).
g-independence of gₙ = g ∘ ρₙ. For any two strict homomorphisms into
the same algebra,
g ∘ ρₙ = g' ∘ ρₙ for all n — the sequence is determined by the recursion, not
by g.
Uniqueness and initiality (among strict algebras) #
The underlying maps of two strict homomorphisms coincide: g = g ∘ I = g ∘ ⋃ₙ ρₙ = ⋃ₙ (g ∘ ρₙ), and the latter is g-independent.
Uniqueness of strict homomorphisms out of 𝒟. Any two strict T-algebra
homomorphisms from
the canonical solution into the same algebra are equal.
Theorem 6.14 (Scott 1981, PRG-19) — initial T-algebra. When {Γ} is the
one-point
generating system, the canonical solution 𝒟 = ⋃ₙ Tⁿ({Γ}) is the initial
T-algebra among the
strict algebras: for every T-algebra B with a strict structure map there is a
unique strict
homomorphism 𝒟 → B. (Existence is Theorem 6.9; uniqueness is the ρₙ
projection-chain argument.)