The canonical order on ≡ᵏ-classes, as an inflationary refinement #
The k-pebble refinement (DescriptiveComplexity.Invariant.Pebble) splits
classes round by round; this file runs the ordered version of the same
refinement: a strict order DescriptiveComplexity.ordStage on k-tuples
that grows round by round – tuples split apart become comparable, and stay
comparable for ever after. The initial data is a coloring c₀ of the
tuples in a linear order (over a structure: the atomic type, read as a tuple
of bits); one round (DescriptiveComplexity.ordRefine) keeps the current
order and, inside one incomparability class, compares first the colors, then
the move sets – at the first pebble where they differ, the sets of current
classes reachable by moving that pebble, compared through their least
separating class (DescriptiveComplexity.SetLess).
The point of the construction, and the reason it is phrased as a growing chain, is twofold:
- its incomparability is exactly the pebble refinement, stage by stage
(the third component of
DescriptiveComplexity.ordStage_invariant) and at the limitDescriptiveComplexity.OrdK, whose incomparability is≡ᵏ(DescriptiveComplexity.incompRel_ordK_eq); the limit is asymmetric and transitive (DescriptiveComplexity.ordK_asymm,DescriptiveComplexity.ordK_trans), and total across classes (DescriptiveComplexity.ordK_or_of_not_equivK) by the very definition of incomparability – a canonical linear order on the≡ᵏ-classes; - the chain is inflationary, so it is computed by an inflationary fixed-point induction – one more relation variable alongside any other – and its canonicity (invariance under isomorphisms) is inherited from the transport of inflationary stages rather than proved by hand.
Everything is stated over a bare type and an abstract coloring, with no
vocabulary in sight, exactly as in DescriptiveComplexity.Invariant.Pebble;
the instantiation at the atomic coloring of a structure, and the first-order
definition of one round, live with the invariant structure.
Incomparability, move sets, and set comparison #
Incomparability in a relation on k-tuples: the current classes.
Equations
- DescriptiveComplexity.IncompRel O u v = (¬O u v ∧ ¬O v u)
Instances For
Dependency graph
Dependency graph
The class of x belongs to the move set of u at pebble j: some move
of pebble j from u lands in the class of x.
Equations
- DescriptiveComplexity.InMoves O j u x = ∃ (a : A), DescriptiveComplexity.IncompRel O (Function.update u j a) x
Instances For
Dependency graph
The move sets of u and v at pebble j coincide.
Equations
- DescriptiveComplexity.MovesEq O j u v = ∀ (x : Fin k → A), DescriptiveComplexity.InMoves O j u x ↔ DescriptiveComplexity.InMoves O j v x
Instances For
Dependency graph
The class of x separates the move sets of u and v at pebble j.
Equations
- DescriptiveComplexity.MovesDiff O j u v x = ¬(DescriptiveComplexity.InMoves O j u x ↔ DescriptiveComplexity.InMoves O j v x)
Instances For
Dependency graph
Dependency graph
Comparison of move sets at pebble j: a class in the move set of u but
not of v is minimal among the separating classes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Lexicographic comparison of the move sets over the pebbles: equal before some pebble, less at it.
Equations
- DescriptiveComplexity.MovesLess O u v = ∃ (j : Fin k), (∀ j' < j, DescriptiveComplexity.MovesEq O j' u v) ∧ DescriptiveComplexity.SetLess O j u v
Instances For
Dependency graph
One round of the ordered refinement, and the chain #
Agreement on the coloring: the initial relation of the refinement.
Equations
- DescriptiveComplexity.colorAgree c₀ u v = (c₀ u = c₀ v)
Instances For
Dependency graph
Dependency graph
One round of the ordered refinement: keep the current order; inside one incomparability class, compare the colors, then the move sets.
Equations
- DescriptiveComplexity.ordRefine c₀ O u v = (O u v ∨ DescriptiveComplexity.IncompRel O u v ∧ (c₀ u < c₀ v ∨ c₀ u = c₀ v ∧ DescriptiveComplexity.MovesLess O u v))
Instances For
Dependency graph
The ordered refinement chain, from the empty order.
Equations
- DescriptiveComplexity.ordStage c₀ 0 = fun (x x_1 : Fin k → A) => False
- DescriptiveComplexity.ordStage c₀ n.succ = DescriptiveComplexity.ordRefine c₀ (DescriptiveComplexity.ordStage c₀ n)
Instances For
Dependency graph
The canonical order: the union of the ordered refinement chain. Its
incomparability is ≡ᵏ (DescriptiveComplexity.incompRel_ordK_eq), and it
is transitive and asymmetric, so it is a linear order on the
≡ᵏ-classes.
Equations
- DescriptiveComplexity.OrdK c₀ u v = ∃ (n : ℕ), DescriptiveComplexity.ordStage c₀ n u v
Instances For
Dependency graph
The chain grows: one round only ever adds pairs.
Dependency graph
The chain grows, monotonically.
Dependency graph
Structural lemmas #
Each lemma of this section holds for any relation with the listed fragments
of the stage invariant – asymmetry, transitivity, transitivity of
incomparability – which the master induction
(DescriptiveComplexity.ordStage_invariant) establishes stage by stage.
Comparability is a congruence for incomparability, on the right.
Dependency graph
Comparability is a congruence for incomparability, on the left.
Dependency graph
Membership in a move set only depends on the class of the target.
Dependency graph
If the move sets differ, one compares below the other: the least separating class lands on one of the two sides.
Dependency graph
Set comparison is asymmetric: the two candidate least separating classes would be incomparable, hence equal as classes, hence on the same side.
Dependency graph
Set comparison is invariant under move-set equality on the right.
Dependency graph
Set comparison is invariant under move-set equality on the left.
Dependency graph
Set comparison is transitive: compare the two least separating classes, and reuse the smaller one.
Dependency graph
Move-set equality contradicts set comparison at the same pebble.
Dependency graph
Lexicographic move-set comparison is asymmetric.
Dependency graph
Lexicographic move-set comparison is transitive.
Dependency graph
If the move sets differ at some pebble, the tuples compare one way or the other lexicographically: cut at the first differing pebble.
Dependency graph
The stage invariant #
The stage invariant of the ordered refinement: every stage is asymmetric and transitive, and its incomparability is the corresponding pebble stage relative to color agreement. One simultaneous induction establishes all three.
Dependency graph
The limit #
The canonical order is asymmetric.
Dependency graph
The canonical order is transitive.
Dependency graph
Incomparability in the canonical order is ≡ᵏ: the limit linearly
orders the ≡ᵏ-classes.
Dependency graph
Inequivalent tuples are comparable in the canonical order.
Dependency graph
Incomparability in the canonical order is transitive.
Dependency graph
The canonical order is a congruence for ≡ᵏ on the right.
Dependency graph
The canonical order is a congruence for ≡ᵏ on the left.