Tagged interpretations #
Reductions between problems often build structures whose elements are of several kinds: the
literal vertices and the clause gadgets of a graph built from a formula, the variables and the
clauses of a formula built from a structure. A tagged interpretation I of L' in L
(Cslib.Logic.FO.TaggedInterpretation) has a finite type T of tags and, for each tag t, a
type ι t of coordinates and a domain formula; the interpreted structure I.Model M is the
disjoint union over the tags t of the tuples ι t → M satisfying the domain formula of t,
and a relation symbol is defined, for each choice of tags of its arguments, by a formula in the
coordinates of the arguments. Senellart and Gnatenko's interpretations are tagged in this way, with
the same coordinates Fin dim for every tag Senellart and Gnatenko.
The first-order interpretations of this library (Cslib.Logic.FO.Interpretation) are untagged,
and the structures are unordered and have no constants, so a tag cannot be named by a fixed
element. It is named by an equality pattern instead: the coordinates of the compiled
interpretation I.toInterpretation S are two coordinates p ≠ q, a coordinate per tag, equal to
q at the tag of the element and to p at the others, and the coordinates of every tag, those of
the other tags equal to p. Every ordered pair p ≠ q thus carries a copy of I.Model M, and
the compiled structure is isomorphic to Copies J (I.Model M), the disjoint union of copies
indexed by the pairs J (Cslib.Logic.FO.TaggedInterpretation.copiesEquiv). A structure with at
most one element has no such pair; on it, the compiled interpretation is a given interpretation
S of dimension one (Cslib.Logic.FO.TaggedInterpretation.subsingletonEquiv).
So a tagged interpretation gives an order-free reduction to every class that is closed under
isomorphism and under taking a positive number of disjoint copies, such as satisfiability of
formulas in conjunctive normal form or colorability of graphs
(Cslib.Logic.FO.Reduces.of_tagged).
Binary relations of tagged interpretations are conveniently defined by templates
(Cslib.Logic.FO.TaggedInterpretation.Template): a template from tag t relates an element of tag
t whose coordinates satisfy a guard to the elements of a target tag whose coordinates are copied
from it, or are arbitrary.
Main definitions #
Cslib.Logic.FO.TaggedInterpretation,Cslib.Logic.FO.TaggedInterpretation.Model: tagged interpretations and the structures they interpret.Cslib.Logic.FO.TaggedInterpretation.reindex: renaming the tags.Cslib.Logic.FO.Copies,Cslib.Logic.FO.CopyInvariant: disjoint copies of a structure, and the classes closed under them.Cslib.Logic.FO.TaggedInterpretation.toInterpretation: the compiled first-order interpretation.Cslib.Logic.FO.TaggedInterpretation.Template: templates for binary relations.
Main results #
Cslib.Logic.FO.TaggedInterpretation.copiesEquiv: on a structure with two distinct elements, the compiled interpretation is a disjoint union of copies of the tagged one.Cslib.Logic.FO.TaggedInterpretation.subsingletonEquiv: on a structure with at most one element, it is the given interpretation of dimension one.Cslib.Logic.FO.Reduces.of_tagged: tagged interpretations give order-free reductions to classes closed under isomorphism and copies.Cslib.Logic.FO.TaggedInterpretation.Template.realize_formula: the semantics of templates.
References #
A tagged interpretation of L' in L: for each tag t a domain formula in the
coordinates ι t, and for each relation symbol of arity n and each choice of tags of its n
arguments a formula in their coordinates.
- domain (t : T) : L.Formula (ι t)
The domain formula of each tag.
The formula defining a relation symbol among arguments of the given tags.
Instances For
In a structure with at most one element: the formula ∀ x y, x = y.
Instances For
The universe of the structure interpreted by I in M: for each tag, the tuples satisfying
its domain formula.
Instances For
The tag and coordinates of an element of the interpreted structure.
Instances For
The structure interpreted by I: a relation holds of some elements when its defining formula
for their tags holds of their coordinates.
Renaming tags #
The tagged interpretation with tags renamed along e.
Instances For
Renaming the tags of a tagged interpretation does not change the interpreted structure, up to isomorphism.
Instances For
Disjoint copies #
The disjoint union of copies of N indexed by J: a relation holds of some elements of one
copy when it holds of them in N.
- idx : J
The copy containing the element.
- val : N
The element of
Nit is a copy of.
Instances For
A binary relation holds of two elements of the copies when they are in the same copy and
related in N.
A unary relation in a copy holds exactly when it holds of the underlying element.
A class of structures is invariant under copies when a finite structure belongs to it exactly when the disjoint union of a finite positive number of copies of it does.
Instances For
The compiled interpretation #
The first coordinate of a copy.
Instances For
The second coordinate of a copy, distinct from the first.
Instances For
The domain formula of the compiled interpretation on elements of tag t: the coordinates
p and q are distinct, the coordinate of each tag is q at t and p elsewhere, the
coordinates of the other tags are p, and the coordinates of t satisfy its domain formula.
Instances For
The formula defining a relation symbol in the compiled interpretation: all arguments belong to
the same copy, and the formula of I for their tags holds of their coordinates.
Instances For
The compiled interpretation of a tagged interpretation I, using the interpretation S
of dimension one on structures with at most one element.
Instances For
Structures with at most one element #
On a structure with at most one element, the compiled interpretation is the interpretation
S.
Instances For
Structures with two distinct elements #
The ordered pairs of distinct elements, each indexing a copy of the tagged structure.
Instances For
The coordinates of an element e of the tagged structure in the copy of the pair (a, b):
the coordinates p and q are a and b.
Instances For
The map from the copies of the tagged structure to the compiled structure.
Instances For
On a structure with two distinct elements, the compiled interpretation is a disjoint union of copies of the tagged one, a copy for each ordered pair of distinct elements.
Instances For
On a structure with two distinct elements, the compiled interpretation of a tagged interpretation whose structures are nonempty is nontrivial: there are at least two copies.
Reductions by tagged interpretations #
Tagged interpretations give order-free reductions to classes closed under isomorphism and
under copies: if the structure interpreted by I decides membership on the finite structures
with two distinct elements, and the interpretation S of dimension one decides it on those with
at most one element, then the compiled interpretation is a order-free reduction.
Templates for binary relations #
A template for a binary relation from elements of tag t: it relates an element of tag
t whose coordinates x satisfy the guard to the elements of tag target whose coordinate j
is x i whenever map j = some i, the coordinates j with map j = none being arbitrary.
- target : T
The tag of the related elements.
- guard : L.Formula (ι t)
The condition on the coordinates of the element of tag
t. The coordinates of the related elements copied from the element of tag
t.
Instances For
The tuples of tag τ.target related to the coordinates x of an element of tag t.
Instances For
The template relates the coordinates x of an element of tag t to an element of tag w
with coordinates y.
Instances For
The formula of a template, relating an element of tag t to an element of tag w.
Instances For
The formula of a template holds of the coordinates of two elements exactly when the template relates them.
The disjunction of the formulas of a list of templates.
Instances For
The formula of a list of templates holds exactly when one of them relates the elements.
The formula of a binary relation among arguments of tags ts 0 and ts 1, from a formula in
the coordinates of the two arguments.