Extending an expansion with its own order #
DescriptiveComplexity.ExpExpansion.ordExtend adds the order symbol to the
expanded vocabulary, defined by the sentence of
DescriptiveComplexity.Exponential.OrdFormula, and
DescriptiveComplexity.ExpExpansion.ordExtendLEquiv says the result is exactly
the original expansion carrying
DescriptiveComplexity.ExpExpansion.mapLinearOrder.
This is the analogue, one level up, of
DescriptiveComplexity.FOInterpretation.ordExtend and its ordExtendLEquiv,
and it plays the same role: an interpretation whose formulas mention the order
of the structure they read can only be composed with an expansion once that
expansion defines its order. It is the prerequisite of the outer composition
that is about the order rather than about quantifiers.
The tag comparison is static, exactly as in
DescriptiveComplexity.lexLeF: two points with different tags are ordered by
their tags alone, so the defining sentence at such a pair is ⊤ or ⊥, and
only the equal-tag case emits a real comparison.
The defining sentence of the order #
The defining sentence of the order at a pair of tags: the tags are compared statically, and at equal tags the assignments are compared as binary numbers.
Equations
Instances For
Dependency graph
The defining sentence is the order on points.
Dependency graph
The extended expansion #
The expansion extended with its own order: the tags, the block and the
domain are unchanged, the expanded vocabulary gains the order symbol, and that
symbol is defined by DescriptiveComplexity.ExpExpansion.ordSentence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The expanded structure of the order extension, at the vocabulary written as a sum – equal to the extension's own by definition, but not syntactically, so instance search has to be handed it.
Instances For
Dependency graph
The extension produces exactly the original expanded structure equipped with its order: the identity map is an isomorphism over the order-expanded vocabulary.
Equations
- X.ordExtendLEquiv A = { toEquiv := Equiv.refl (DescriptiveComplexity.ExpExpansion.ordExtend.Map A), map_fun' := ⋯, map_rel' := ⋯ }