Canonical numerical predicates for first-order logic #
Append selected numerical relation symbols to an input vocabulary and interpret
them canonically on Fin card. Order and BIT are binary; addition and
multiplication are ternary graphs of natural arithmetic restricted to the
universe, without modular wraparound. BIT takes the number before the bit index.
These extensions use the existing relation atoms, substitution, and semantics. Input relations and constants retain their meanings. Definability with numerical predicates is evaluated only on canonical expansions, so it does not assert invariance under arbitrary permutations of the original input structure.
The numerical-predicate convention follows Immerman's Descriptive Complexity and Schweikardt--Schwentick, A note on the expressive power of linear orders (2011), Section 2, https://lmcs.episciences.org/1008/pdf.
Numerical relations available as designated symbols in a vocabulary extension.
- lt : NumericalPredicate
Strict canonical order.
- bit : NumericalPredicate
bit x itests bitiof the natural numberx, starting at zero. - add : NumericalPredicate
The ternary graph
x + y = zof natural addition. - mul : NumericalPredicate
The ternary graph
x * y = zof natural multiplication.
Instances For
Number of arguments of each designated numerical relation.
Equations
Instances For
Interpret a numerical relation on natural-number arguments.
Equations
- Complexity.DescriptiveComplexity.NumericalPredicate.lt.Holds args = (args 0 < args 1)
- Complexity.DescriptiveComplexity.NumericalPredicate.bit.Holds args = ((args 0).testBit (args 1) = true)
- Complexity.DescriptiveComplexity.NumericalPredicate.add.Holds args = (args 0 + args 1 = args 2)
- Complexity.DescriptiveComplexity.NumericalPredicate.mul.Holds args = (args 0 * args 1 = args 2)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Append numerical relation symbols, preserving the input vocabulary's constants.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The input vocabulary with canonical strict order.
Instances For
The input vocabulary with the canonical BIT predicate.
Instances For
The input vocabulary with the graphs of addition and multiplication.
Equations
Instances For
Expand an input structure by the selected canonical numerical relations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The computable Boolean version of canonical numerical expansion.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Forget the additional symbols through a quantifier-free first-order interpretation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Regard an input formula as a formula over the extended numerical vocabulary.
Equations
- φ.withNumerical predicates = (Complexity.DescriptiveComplexity.FOInterpretation.forgetNumerical V predicates).translate φ
Instances For
Apply a selected numerical relation symbol to terms in the extended vocabulary.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Strict canonical order as an ordinary first-order atom.
Equations
Instances For
The zero-based bit test, with the number before its bit index.
Equations
Instances For
Natural addition restricted to the finite universe, without modular wraparound.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Natural multiplication restricted to the finite universe, without modular wraparound.
Equations
- One or more equations did not get rendered due to their size.
Instances For
FO definability on the canonical expansions by the selected numerical predicates.
Equations
- One or more equations did not get rendered due to their size.