Stratified inflationary inductions #
Composition of inflationary inductions: a second
induction whose step formulas read the converged relations of a first is
itself a single induction. The second stratum is presented as a
DescriptiveComplexity.StepDef over the base vocabulary expanded by the
first stratum's block – its semantics is «run over the structure expanded by
the first stratum's limit» – and the composite
DescriptiveComplexity.StepDef.stratify computes exactly that value
(DescriptiveComplexity.StepDef.ifpHolds_stratify).
The construction gates the second stratum on an arity-0 gate variable,
derived once the first stratum's step formulas add nothing to its current
stage – a first-order condition, since the step formulas are formulas
(DescriptiveComplexity.stratGateF). Inflation makes the timing work: before
the gate fires the second stratum is empty; the gate fires exactly when the
first stratum has reached its limit, which it then never leaves; from that
point on the second stratum replays its own stages verbatim
(DescriptiveComplexity.StepDef.strat2Assign_inflStage_add).
Its consumer is the invariant layer of the Abiteboul–Vianu development: the
canonical order on ≡ᵏ-classes is one stratum, the simulation of an ordered
induction over the invariant structure reads it as a second.
The combined block and its vocabulary #
The block of a stratified induction: the first stratum's variables, an
arity-0 gate, the second stratum's variables.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The relation symbol of a first-stratum variable.
Instances For
Dependency graph
The relation symbol of the gate.
Instances For
Dependency graph
The first-stratum part of an assignment of the combined block.
Equations
- DescriptiveComplexity.strat1Assign σ i x = σ (Sum.inl (Sum.inl i)) x
Instances For
Dependency graph
The second-stratum part of an assignment of the combined block.
Equations
- DescriptiveComplexity.strat2Assign σ i x = σ (Sum.inr i) x
Instances For
Dependency graph
The gate bit of an assignment of the combined block.
Instances For
Dependency graph
The first-stratum part is the pullback along the block inclusion.
Dependency graph
The vocabulary morphism reading the first stratum inside the combined block.
Equations
- DescriptiveComplexity.strat1LHom L B₁ B₂ = (FirstOrder.Language.LHom.id L).sumMap (DescriptiveComplexity.SOBlock.homLHom (fun (i : B₁.ι) => Sum.inl (Sum.inl i)) ⋯)
Instances For
Dependency graph
The vocabulary morphism reading the doubly expanded vocabulary inside the combined block.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Reading the first stratum inside the combined block: realization against the combined assignment is realization against its first-stratum part.
Dependency graph
The combined structure is an expansion of the doubly expanded structure
along DescriptiveComplexity.strat2LHom.
Dependency graph
Reading the second stratum inside the combined block: realization against the combined assignment is realization over the structure expanded first by the first-stratum part, then by the second.
Dependency graph
Realization of the gate atom: the gate bit of the assignment, whatever the valuation.
Dependency graph
The gate formula #
The gate formula: every step formula of the first stratum is absorbed by the current stage – the first stratum has converged.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Realization of the gate formula: the first-stratum part absorbs one more application of the first stratum's steps.
Dependency graph
The stratified induction #
The stratified induction: run the first stratum; once its steps add nothing (the gate), run the second stratum over the frozen first.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
A step is absorbed by its current stage exactly when the stage is an inflationary fixed point.
Dependency graph
The first-stratum part of the stratified stages is the first stratum's own stages.
Dependency graph
The gate of the stratified stages: false at the start, and derived exactly when the first stratum's current stage is an inflationary fixed point.
Dependency graph
The gate only ever turns on.
Dependency graph
While the gate is on, the first stratum sits at an inflationary fixed point.
Dependency graph
While the gate is on, the first stratum sits at its limit.
Dependency graph
One step of the second stratum, decomposed: the gate at the current stage, and the second stratum's own step over the frozen strata.
Dependency graph
While the gate is off, the second stratum does not move.
Dependency graph
While the gate is off, the second stratum is empty.
Dependency graph
The second stratum replays its own stages once the gate fires: from the first gate-on stage, the second-stratum parts are the stages of the second stratum over the structure expanded by the first stratum's limit.
Dependency graph
The second-stratum part of the composite limit is the second stratum's own limit over the structure expanded by the first stratum's limit.
Dependency graph
The first-stratum part of the composite limit is the first stratum's own limit.
Dependency graph
Stratification: the value of the stratified induction is the value of the second stratum, read over the structure expanded by the first stratum's limit. Nested inflationary inductions are one induction.