The power interpretation on k-tuples #
Given a finite relational vocabulary v : Vocabulary L and a tuple width k ≥ 1 bounding all
arities of v, a k-tuple x : Fin k → M over a finite structure M numbered by e : M ≃ Fin n
represents the natural number tupleIndex (e ∘ x) < n ^ k in base n (little-endian).
The relational language v.powerLanguage describes the numbers below n ^ k together with the
input tables:
- a binary relation
powerLtfor the strict linear order<onFin (n ^ k), - a unary relation
powerIsElemfor numbers< n(those whose highk - 1digits vanish), - for each symbol
i : Fin v.countof aritya = v.arity i, a unary relationpowerInTable ifor numbers< n ^ a(those whose highk - adigits vanish), and - for each symbol
i : Fin v.countof aritya = v.arity i, a unary relationpowerTableBit iholding ofm < n ^ awhen them-th bit of thei-th relation table istrue.
We construct a first-order interpretation v.powerInterpretation k har of dimension Fin k from
L.sum ESO.orderLanguage to v.powerLanguage and prove (v.powerEquiv) that on (M, e) the
interpreted structure is isomorphic to (Fin (n ^ k), v.powerStructure (v.encode M e) (n ^ k)).
Pulling back along this interpretation via FO.Interpretation.onESOSentence therefore turns an
existential second-order sentence about the numeric structure Fin (n ^ k) into one about M
(v.realize_onESOSentence_powerInterpretation). Machine simulations in descriptive complexity
(Fagin, Immerman–Vardi, Grädel, NL ⊆ FO(TC)) run on this numeric structure.
Main definitions #
Cslib.Logic.Vocabulary.powerLanguage,Cslib.Logic.Vocabulary.powerIsElem,Cslib.Logic.Vocabulary.powerInTable,Cslib.Logic.Vocabulary.powerTableBit,Cslib.Logic.Vocabulary.powerLt: the relational language of thek-th power structure and its symbols.Cslib.Logic.Vocabulary.powerStructure: the canonicalv.powerLanguage-structure onFin Binduced by anEncodedStructure.Cslib.Logic.Vocabulary.powerInterpretation: the first-order interpretation of dimensionFin kfromL.sum ESO.orderLanguagetov.powerLanguage.
Main results #
Cslib.Logic.Vocabulary.powerEquiv: the structure interpreted byv.powerInterpretationin(M, orderRelOfEquiv e)is isomorphic toFin (n ^ k)withv.powerStructure (v.encode M e).Cslib.Logic.Vocabulary.realize_onESOSentence_powerInterpretation: pulling an existential second-order sentence back alongv.powerInterpretationpreserves its truth value.
References #
The power language and canonical numeric structure #
The relational language of a power structure over a vocabulary v:
- unary relation
.inl ()(powerIsElem) testing< n, - unary relation
.inr (.inl i)(powerInTable i) testing< n ^ v.arity i, - unary relation
.inr (.inr i)(powerTableBit i) testing thei-th relation table ofv, and - binary relation
()(powerLt) for the strict linear order<.
Instances For
The binary relation symbol < of v.powerLanguage.
Instances For
The unary relation symbol < n of v.powerLanguage.
Instances For
The unary relation symbol < n ^ v.arity i of v.powerLanguage.
Instances For
The unary relation symbol for the i-th relation table of v in v.powerLanguage.
Instances For
The canonical v.powerLanguage-structure on Fin B induced by an EncodedStructure a:
powerLt is < on Fin B, powerIsElem is < a.1, powerInTable i is < a.1 ^ v.arity i,
and powerTableBit i holds of m when m < a.1 ^ v.arity i and bit m of the i-th table of
a is true.
Instances For
The first-order interpretation of v.powerLanguage on k-tuples #
The binary relation symbol < of ESO.orderLanguage, inside L.sum ESO.orderLanguage.
Instances For
The formula x < y in L.sum ESO.orderLanguage for free variables p, q : α.
Instances For
The formula ∀ z, ¬ (z < x_p) in L.sum ESO.orderLanguage, saying that x_p is the minimum
element of the linear order.
Instances For
The colexicographic < formula on two k-tuples in L.sum ESO.orderLanguage.
Instances For
The formula testing that all coordinates at indices ≥ a are the minimum element.
Instances For
The formula defining powerTableBit idx on a k-tuple.
Instances For
The first-order interpretation of v.powerLanguage in L.sum ESO.orderLanguage of dimension
Fin k.
Instances For
The power isomorphism: when M is expanded by the strict linear order of e : M ≃ Fin n,
the structure interpreted by v.powerInterpretation k har is isomorphic to Fin (n ^ k) with
v.powerStructure (v.encode M e) (n ^ k).
Instances For
Pulling back an existential second-order sentence Ψ over v.powerLanguage along
v.powerInterpretation k har holds in (M, orderRelOfEquiv e) iff Ψ holds in Fin (n ^ k)
with v.powerStructure (v.encode M e) (n ^ k).