The reduction to FINSAT, and its correctness #
DescriptiveComplexity.FinSat.Hardness evaluates the encoded sentence σ_A
node by node; this file closes the two directions and assembles the ordered
first-order reduction.
- ⟹ – an assignment of the block over an extended universe
A ⊕ Fin mis a model ofσ_A: takeA ⊕ Fin mas the model, the intended assignmentSum.inlof the prefix variables, and the interpretationDescriptiveComplexity.FinSat.blockIthe assignment induces. The prefix and the diagram areDescriptiveComplexity.FinSat.gval_of_kernel, the kernel isDescriptiveComplexity.FinSat.gval_kernel. - ⟸ – a finite model of
σ_Ais such an assignment. The existential prefix is walked once more, this time to read the witnesses off: at each node the truth definition hands over a value for that node's variable, so an induction along the input order produces an environment giving every prefix variable a value, and the diagram makes that assignmentιinjective. Its complement in the model is finite – that is them– so the model isA ⊕ Fin mup to a bijection, and the relations of the instance read throughιare exactly those of the extended structure.
The two remaining pieces of bookkeeping the converse needs are here too: the
truth definition at the nodes only the converse inspects (the prefix, the top
conjunction and a distinctness literal), and the fact that Gval only sees an
interpretation at the symbols some node carries
(DescriptiveComplexity.FinSat.gval_congr_I), which is what lets the model's
own interpretation be replaced by the one a block assignment induces.
The head of a one-block second-order satisfaction #
Realization of a one-block ∃SO sentence is realization of its kernel in
the expansion by an assignment.
Dependency graph
The extended universe reads the instance through Sum.inl #
The two facts about the model that the kernel recursion
(DescriptiveComplexity.FinSat.gval_kernel) asks for, on the extended
structure.
Dependency graph
Dependency graph
⟹ : an assignment of the block is a model of the encoded sentence #
The image of a yes-instance is finitely satisfiable: the extended
universe carrying the assignment is a model of σ_A, with Sum.inl as the
intended assignment of the prefix variables.
Dependency graph
The nodes only the converse inspects #
Reading a model of σ_A means going through the truth definition at the nodes
the ⟹ direction only had to build: a node of the existential prefix, the top
conjunction, and a distinctness literal of the diagram. As everywhere, the
clauses that cannot fire are ruled out by the tag.
A tag no positive equality literal is defined at carries none.
Dependency graph
The same for the negated equality literals.
Dependency graph
A node of the prefix binds its own variable, and nothing else.
Dependency graph
A distinctness literal of the diagram, inverted: it exists only for a distinct pair, and relates the two prefix variables of that pair.
Dependency graph
The truth definition at a node of the existential prefix: it binds its own variable, so the only clause that can fire hands over a value for it.
Dependency graph
The truth definition at the top conjunction.
Dependency graph
The truth definition at a distinctness literal of the diagram.
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The witnesses of the prefix, read off a model: from the node of a the
truth definition hands over a value for x_a and passes to the next node, so an
induction along the input order produces an environment satisfying the top
conjunction and agreeing with the given one below a.
Dependency graph
The interpretation a model carries is a block assignment #
The truth definition reads an interpretation only at the symbols some node
carries, and those are exactly the symbols of the relation variables. So the
model's own interpretation may be replaced by the one induced by the assignment
that reads it back – which is what turns a model of σ_A into a witness of the
∃SO[new] definition.
Gval only sees an interpretation at the symbols of the atoms.
Dependency graph
An element canonical at dimension zero carrying the tag of an argument position is that position.
Dependency graph
Dependency graph
The block assignment a model's interpretation carries: the relation of a variable is its symbol's, read at an assignment of the argument positions holding the tuple.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
It reads the interpretation back: at the symbol of a relation variable whose arity fits in the dimension, the interpretation induced by that assignment is the interpretation itself.
Dependency graph
⟸ : a model of the encoded sentence is an assignment of the block #
The model, seen through the intended assignment of the prefix variables: a
relation of the instance holds of a tuple of the model exactly when the tuple is
the image of one where it holds. This is the shape an extended universe has
(DescriptiveComplexity.relMap_ext_iff), and all the kernel recursion asks
of a model.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The marking predicate on such a model: the elements in the image.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The model as a structure over DescriptiveComplexity.newLang L.
Instances For
Dependency graph
A model of the encoded sentence is an extended universe: the intended assignment is injective, so its complement is the invented part.
Dependency graph
The reduction #
The image is finitely satisfiable exactly at the yes-instances.
Dependency graph
The reduction to FINSAT: the ordered first-order interpretation sending
an instance to the encoded sentence σ_A, from any problem defined, on nonempty
finite structures, by an ∃SO[new] sentence with a single block.
Relational for now: DescriptiveComplexity.CofinalHard admits source languages
with function symbols, whose junk interpretation on invented arguments the
sentence would have to guess: the term layer, which
DescriptiveComplexity.exists_relational_of_sigmaSONewDefinable removes from the
source instead.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Trakhtenbrot's theorem, the hardness half over a relational vocabulary:
every ∃SO[new]-definable problem over a relational vocabulary admits an
ordered first-order reduction to finite satisfiability.
Membership is DescriptiveComplexity.FinSat.finsat_mem_RE; together they say
that finite satisfiability is complete for ∃SO[new] among relational
vocabularies. Lifting the restriction is the term layer, which is what
DescriptiveComplexity.RE.Hard – cofinal hardness, quantified over every
source vocabulary – additionally asks for;
DescriptiveComplexity.exists_relational_of_sigmaSONewDefinable supplies it, and
the umbrella composes the two.