Finite Structures #
A finite structure over a vocabulary V interprets each relation symbol as a
relation on a finite universe Fin card, and each constant symbol as an
element of that universe.
Following Immerman's Proviso 1.15, all structures have at least 2 elements, ensuring that the canonical elements 0 and 1 are always distinct.
Canonical numeric operations (min, max, ≤, succ) are not stored in the
structure but are available as meta-level helpers computed from the Fin
ordering. The current first-order syntax does not yet contain terms or atoms
that can reference these helpers.
STRUC V denotes finite structures over vocabulary V.
Equations
- Complexity.DescriptiveComplexity.termSTRUC = Lean.ParserDescr.node `Complexity.DescriptiveComplexity.termSTRUC 1024 (Lean.ParserDescr.symbol "STRUC")
Instances For
The minimum element of the universe, intended for a built-in constant 0.
Instances For
The element 1 of the universe, intended for a built-in constant.
Instances For
The canonical less-than-or-equal relation on the universe.
Instances For
Equations
- A.instDecidableRelFinCardLeRel a b = (↑a).decLe ↑b
Equations
- A.instDecidableRelFinCardSucRel a b = (↑b).decEq (↑a + 1)
The canonical elements 0 and 1 are distinct (follows from Proviso 1.15).
Convert a decidable structure to a propositional one.