Exercise 4.17 (Scott 1981, PRG-19, Lecture IV) — least solution in a monoid #
power-set
(For algebraists.) Let ⟨S, 1, ·⟩ be a monoid (a semi-group with unit). Then P S is a domain — in
fact a complete lattice (Exercise 4.14). For a, b ∈ S, what is the least
x ∈ P S with
x = {1} ∪ {a, b} ∪ x · x, where x · y = {t · u ∣ t ∈ x, u ∈ y}?
Answer. The least solution is the submonoid generated by {a, b} — i.e.
the set of all
finite products of as and bs (including the empty product 1):
lfpSet (F a b) = ⟨{a, b}⟩ (= Submonoid.closure {a, b}).
The operator F a b x = {1} ∪ {a, b} ∪ x · x is monotone (pointwise · is
monotone), so by
Exercise 4.14 (the dual Knaster–Tarski over the complete lattice P S) its least
fixed point
lfpSet (F a b) exists; we identify it with the submonoid closure
(lfpSet_eq_closure): a fixed
point of F is exactly a submonoid containing {a, b}, and the least such is the
closure.
Need the fixed point be unique? No. In any monoid the whole set
Set.univ is also a fixed
point (F a b univ = univ, since s = 1 · s ∈ univ · univ). So whenever the
monoid is not
generated by {a, b} there are at least two fixed points: taking S = ℕ (under
·) and a = b = 1,
the least solution is {1} while Set.univ is another (fixedPoint_not_unique).
The constructions are choice-free (#print axioms ⊆ {propext, Quot.sound}),
inheriting
lfpSet from Exercise 4.14.
The least solution. #
A pre-fixed point of F is a submonoid containing {a, b}: it contains 1
and is closed under
multiplication and contains a, b. Packaged as the submonoid with that carrier.
Equations
- Domain.Neighborhood.Exercise417.preFixSubmonoid a b hx = { carrier := x, mul_mem' := ⋯, one_mem' := ⋯ }
Instances For
Non-uniqueness. #
Exercise 4.17 (Scott 1981, PRG-19). The fixed point need not be
unique: over S = ℕ
(under ·) with a = b = 1, both {1} (the least solution) and Set.univ solve
the equation, and
they are distinct.