≡ᵏ-invariance of the fixed-point stages #
The stages of a simultaneous first-order induction cannot separate
≡ᵏ-equivalent tuples, when k covers the induction's variable budget
(DescriptiveComplexity.StepDef.VarBound: each variable's arity plus the
quantifier depth of its step formula) and the equivalence is taken relative
to a family of relation symbols covering those of the induction
(DescriptiveComplexity.StepDef.UsesRels; every induction has a finite such
family, DescriptiveComplexity.StepDef.exists_usesRels). This is the reason
the unordered Abiteboul–Vianu theorem is about P = PSPACE rather than a
triviality: an inflationary or partial induction over a bare structure only
ever computes ≡ᵏ-invariant relations, so everything it derives factors
through the ≡ᵏ-classes.
The induction is one step of bookkeeping on top of the k-variable
invariance lemma (DescriptiveComplexity.realize_formula_equivK): the
previous stage is invariant by induction hypothesis, so expanding the
structure by it does not change ≡ᵏ
(DescriptiveComplexity.equivK_structure₁_eq, the expansion lemma
DescriptiveComplexity.equivK_inf_eq read at a block expansion – the block's
own symbols joining the agreement family through
DescriptiveComplexity.blockRelsExtend), so the step formulas – within
budget – cannot separate equivalent tuples, so the next stage is invariant
(DescriptiveComplexity.StepDef.next_invariant). Neither iteration is
special: inflationary and partial stages inherit invariance from next
alone (DescriptiveComplexity.StepDef.inflStage_invariant,
DescriptiveComplexity.StepDef.partStage_invariant).
Every induction has a budget (DescriptiveComplexity.StepDef.exists_varBound):
k and the family are chosen per definition, which is exactly how the
invariant layer is consumed – each phase-G statement carries the k and the
symbols of the definition it starts from.
Invariant assignments #
An assignment of a block is ≡ᵏ-invariant (relative to the agreement
family S) when each of its relations cannot separate ≡ᵏ-equivalent
tuples, however its arguments are selected from the k coordinates.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The empty assignment is invariant.
Dependency graph
Expanding by an invariant assignment does not change ≡ᵏ #
The agreement family of the block expansion of a structure: the given family on the base symbols, everything on the block symbols.
Equations
Instances For
Dependency graph
Expanding the structure by an invariant assignment does not change
≡ᵏ: the expansion lemma DescriptiveComplexity.equivK_inf_eq, read at the
block expansion DescriptiveComplexity.SOBlock.structure₁, the block symbols
joining the agreement family.
Dependency graph
The variable budget and the symbols of an induction #
The variable budget of a simultaneous induction: k covers each
variable's arity together with the quantifier depth of its step formula –
enough pebbles to hold the arguments and play out the quantifiers.
Instances For
Dependency graph
Every induction has a variable budget: the block is finite.
Dependency graph
A variable budget survives being raised.
Dependency graph
The base relation symbols of a simultaneous induction – of its step
formulas and its output sentence – lie in the family S.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
A family of used symbols survives being enlarged.
Dependency graph
Every induction mentions finitely many base relation symbols: the finite agreement family relative to which its stages are invariant and its refinement is definable.
Dependency graph
Invariance of the stages #
One application of the step formulas preserves invariance: the
k-variable invariance lemma, over the structure expanded by the (invariant)
current stage.
Dependency graph
Every stage of the inflationary iteration is ≡ᵏ-invariant.
Dependency graph
The value of the inflationary iteration is ≡ᵏ-invariant: an
inflationary induction over a bare structure only computes ≡ᵏ-invariant
relations.
Dependency graph
Every stage of the partial iteration is ≡ᵏ-invariant.