Orbit ranks of finite tuples and the internal Scott rank #
The internal finite-tuple invariant of a single structure M: for a tuple a : Fin n → M,
its orbit rank orbitRank a is the least ordinal α such that every tuple b of M that is
back-and-forth equivalent to a at level α is equivalent to a at every level. For
countable M that is exactly "the level-α class of a is its automorphism orbit"
(bfEquiv_orbitRank_iff_exists_automorphism). The internal Scott rank
internalScottRank M = ⨆ (orbitRank a + 1) is the SR(M) convention.
Convention, and a source discrepancy. Marker (Lectures on Infinitary Model Theory, 2016,
Definition 2.2.4) prints the one-step condition "a ∼_α b ⇒ a ∼_{α+1} b". That condition does
not define orbits: a class can pause for one level and split later (the graph K₂ ⊔ K₃: all
vertices are equivalent at levels 0 and 1, a K₂-vertex and a K₃-vertex are not
automorphic and separate at level 2; see scripts/check_orbit_rank_regressions.lean). The
production definition here is the all-levels form, as in the Scott-rank survey
(arXiv:2011.03923, Definition 2.6), which is what the orbit reading requires.
This is deliberately distinct from elementRank/scottRank (Scott/Rank.lean), which compare a
singleton of M with tuples of arbitrary countable structures. No comparison between the two
conventions is supplied here.
Contents:
orbitStable a: the levels at which the orbit ofahas stabilized (all-levels form); upward closed; nonempty for every structure (orbitStable_nonempty, via the set-sized stabilization ordinal ofMwith itself), soorbitRankis never an infimum over an empty set.orbitRank, its membership and least-element lemmas; for countableM, equivalence at the orbit rank is equivalent to an automorphism carrying the tuple.internalScottRank: the supremum API (internalScottRank_le, cofinal lower bound,internalScottRank_eq_iff) and, on top of it, the semantic exact-rank criterion:internalScottRank_le_of_orbits_determined(every tuple's orbit is determined at some level belowα) andle_internalScottRank_of_not_automorphic(below everyβ < αsomeβ-equivalent tuples are not automorphic), assembled ininternalScottRank_eq_of_orbits.- Transport of
BFEquivalong isomorphisms (BFEquiv.map_equiv) and isomorphism invariance of both ranks. exists_automorphism_of_bfEquiv_all: for countableM, two tuples equivalent at every level are carried to each other by an automorphism (pointed Karp). The proof builds a pointed potential isomorphism and reads the tuple off the graph specification of the countable back-and-forth construction through the equality atoms.- Infinite pure sets: every orbit rank is
0and the internal Scott rank is1.
Ordinals live in Ordinal.{w} for M : Type w, the universe the stabilization argument uses.
No computability or admissibility enters.
Transport along isomorphisms #
Atomic types are transported along isomorphisms.
Back-and-forth equivalence is transported along isomorphisms of both sides.
Orbit rank #
The levels at which the orbit of a inside M has stabilized: every b in M equivalent
to a at level α is equivalent to a at every level.
Equations
- FirstOrder.Language.orbitStable a = {α : Ordinal.{?u.1} | ∀ (b : Fin n → M), FirstOrder.Language.BFEquiv α n a b → ∀ (γ : Ordinal.{?u.1}), FirstOrder.Language.BFEquiv γ n a b}
Instances For
The stabilization set is never empty: the set-sized stabilization ordinal of M with
itself belongs to it. No countability of M is needed.
Stabilization persists upward.
Orbit rank of a tuple: the least level α such that every tuple of M equivalent to a
at level α is equivalent to a at every level. For countable M over a relational language,
that class is the automorphism orbit of a (bfEquiv_orbitRank_iff_exists_automorphism); in
general it is the all-levels class.
Equations
Instances For
Below the orbit rank, stabilization fails: some b is equivalent at that level but not at
every level.
Internal Scott rank #
Internal Scott rank SR(M) = ⨆ (orbitRank a + 1) over all finite tuples, with the
all-levels orbit rank of this module (the Scott-rank survey's Definition 2.6 convention; see the
module docstring for the discrepancy with Marker's printed Definition 2.2.4).
Equations
- FirstOrder.Language.internalScottRank M = ⨆ (x : (n : ℕ) × (Fin n → M)), FirstOrder.Language.orbitRank x.snd + 1
Instances For
Cofinal lower bound: every ordinal below the internal Scott rank is exceeded by some
orbitRank a + 1.
Exact-rank criterion: internalScottRank M = β iff β bounds every orbitRank a + 1
and every ordinal below β is exceeded by some orbitRank a + 1.
Pointed automorphisms #
Pointed Karp. In a countable structure, two tuples back-and-forth equivalent at every
level are carried to each other by an automorphism. The automorphism comes from the countable
back-and-forth construction applied to the pointed family; that it carries a to b is read
off the graph specification through the equality atoms of the extended tuples.
The orbit characterization and the semantic exact-rank criterion #
Equivalence at the orbit rank is automorphism. For countable M, b is equivalent to
a at level orbitRank a iff an automorphism carries a to b.
Equivalence at every level is automorphism, for countable M.
A level at which the class of a is its automorphism orbit is a stabilization level.
Semantic upper bound. If every tuple has some level below α at which its class is its
automorphism orbit, the internal Scott rank is at most α.
Semantic lower bound. If below every β < α some tuples are β-equivalent but not
automorphic, the internal Scott rank is at least α. Countability of M enters through the
pointed automorphism theorem.
Semantic exact-rank criterion: the internal Scott rank is α when every tuple's orbit is
determined below α and below every β < α some β-equivalent tuples are not automorphic.
Infinite pure sets #
The unique empty-language structure on X, local to this section.
Equations
Instances For
In an infinite pure set, tuples with the same equality pattern are equivalent at every level: extend by a matching old coordinate, or by a fresh element.
An infinite pure set has internal Scott rank 1.