The tree of a front is well-founded #
The tree of a front F is the set of all prefixes (initial segments) of elements of F, ordered
by proper end-extension (treeExt F a b : a properly extends b). This file proves that this
relation is well-founded, so a front has an ordinal rank.
Well-foundedness is proved directly, by showing there is no infinite descending chain. A
descending chain is an ascending tower f 0 ⊏ f 1 ⊏ ⋯ of proper extensions inside the tree.
Its lengths grow without bound, so the tower has a limit b : ℕ → ℕ, a strictly increasing
subsequence of M. By Density some t ∈ F is an initial segment of b; extending it by one
more entry of b lands inside some u ∈ F with t <+: u, so Incomparability forces t = u —
impossible, as u is
strictly longer.
Main results #
Front.exists_strictMono_comp: a strictly monotonebwithrange b ⊆ range Mis a subsequenceM ∘ gofM(the enumeration bridge).Front.IsFront.wellFounded_treeExt: proper end-extension is well-founded on the tree of a front.Front.IsFront.rank: the ordinal rank of a front.Front.powK_rank: the uniform front[M]^khas rankk.Front.schreier_rank: the Schreier front has rankω.
A relation homomorphism does not increase rank. If f : r →r s maps r into a
well-founded relation s, then the r-rank of a is at most the s-rank of f a. This is the
cross-relation companion to IsWellFounded.rank_lt_of_rel (which only compares ranks within a
single relation), and the tool underlying the rank comparisons for the ray and the restriction of
a front. General; Mathlib-bound (belongs next to IsWellFounded.rank_lt_of_rel).
Proper end-extension inside the tree of F: treeExt F a b holds when a properly extends
b and both lie in the tree. Its well-foundedness is what allows ranking a front. Note the
recursion direction: IsWellFounded.rank (treeExt F) s is the supremum of succ (rank s') over
the proper extensions s' of s, matching the usual rank of a front.
Equations
- Front.treeExt F a b = (a ∈ Front.tree F ∧ b ∈ Front.tree F ∧ b <+: a ∧ b ≠ a)
Instances For
If every finite initial segment of b is strictly increasing, then b is strictly
monotone.
Enumeration bridge. A strictly monotone b whose range is contained in that of a
strictly monotone M is a subsequence M ∘ g of M, for a unique strictly monotone g.
Proper end-extension is well-founded on the tree of a front. Proved directly: there is no infinite descending chain.
The ordinal rank of a front: the rank of the root [] in the well-founded tree of proper
end-extensions.
Equations
- hF.rank = IsWellFounded.rank (Front.treeExt F) []
Instances For
M being a strictly monotone enumeration, there is an element of M above any bound.
An increasing list contained in M can be extended by one further element of M.
Any increasing list in M extends to an increasing list in M of any prescribed length.
General rank formula. If, above a fixed node s0, every tree node has length ≤ L and
every tree node of length < L has a one-step extension in the tree, then the rank of a node s
above s0 is L - s.length.
The uniform front [M]^k has rank k.
The Schreier front has rank ω.