FINSAT is in RE #
The membership half of Trakhtenbrot's theorem: finite satisfiability of an
encoded sentence is definable in ∃SO[new]
(DescriptiveComplexity.finsat_sigmaSONewDefinable), the logic defining RE.
The mathematical content is
DescriptiveComplexity.FinSat.finSatOn_iff_cert: an encoded sentence has a
finite model exactly when a finite set of invented values carries a
certificate – a model, environments with their graph, and truth values for
the nodes and for the atoms. This file is that statement written out in
syntax:
- the invented values are the extension
A ⊕ Fin mof the universe,munbounded – the only difference from aΣ₁definition, and what puts the problem beyond NP; - the five components of the certificate are the relation variables of a
single existential second-order block
(
DescriptiveComplexity.FinSat.certBlock); - every condition on them is a conjunct of the first-order kernel, with each
quantifier guarded by its sort: the variables ranging over the instance
by
old, those ranging over the invented values by its negation. The guards are what make the kernel say exactly the certificate conditions, in both directions, rather than something stronger on one side.
The second-order block #
The relation variables of the ∃SO[new] definition of FINSAT: the model,
the environments, the graph of an environment, the truth values of the nodes
and the truth values of the atoms.
- elt : CertIx
The elements of the model.
- env : CertIx
The environments.
- val : CertIx
val e x d: the environmentegives the variablexthe valued. - gv : CertIx
gv g e: the nodegholds under the environmente. - hv : CertIx
hv g e: the atom atgholds under the environmente.
Instances For
Dependency graph
Dependency graph
Equations
- One or more equations did not get rendered due to their size.
Dependency graph
The single existential block of the definition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The vocabulary of the kernel: that of the instance, the marker old of the
original elements, and the five relation variables.
Equations
Instances For
Dependency graph
A relation symbol of the instance, in the kernel's vocabulary.
Equations
Instances For
Dependency graph
The marker of the original elements, in the kernel's vocabulary.
Instances For
Dependency graph
The relation variable of the model.
Equations
Instances For
Dependency graph
The relation variable of the environments.
Equations
Instances For
Dependency graph
The relation variable of the graph of an environment.
Equations
Instances For
Dependency graph
The relation variable of the truth values of the nodes.
Equations
Instances For
Dependency graph
The relation variable of the truth values of the atoms.
Equations
Instances For
Dependency graph
The extended universe #
The vocabulary of the instance, read on the extended universe: a relation holds only of original elements, and there of what it holds of in the instance.
Equations
Instances For
Dependency graph
The structure the kernel is read in: the extended structure together with an assignment of the relation variables.
Equations
Instances For
Dependency graph
The instance, read on the extended universe #
A relation of the instance holds on the extended universe only of original elements, and there of what it holds of in the instance – so at original arguments the kernel reads the instance itself.
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The certificate an assignment carries #
The five relation variables, read at the sorts they are meant for: the model
and the environments among the invented values, the graph of an environment and
the truth values across the two sorts. These are the components of the
certificate DescriptiveComplexity.FinSat.CertOK the kernel says the
assignment is.
The elements of the model an assignment carries.
Equations
Instances For
Dependency graph
The environments an assignment carries.
Equations
Instances For
Dependency graph
The graph of an environment, read off an assignment.
Equations
Instances For
Dependency graph
The truth values of the nodes an assignment carries.
Equations
Instances For
Dependency graph
The truth values of the atoms an assignment carries.
Equations
Instances For
Dependency graph
Atomic formulas #
An atom of a unary relation of the instance.
Equations
Instances For
Dependency graph
An atom of a binary relation of the instance.
Equations
Instances For
Dependency graph
An atom of a ternary relation of the instance.
Equations
Instances For
Dependency graph
x is an original element.
Equations
Instances For
Dependency graph
x is an element of the model.
Equations
Instances For
Dependency graph
x is an environment.
Equations
Instances For
Dependency graph
The environment e gives the variable x the value d.
Equations
Instances For
Dependency graph
The node g holds under the environment e.
Equations
Instances For
Dependency graph
The atom at g holds under the environment e.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Equality of two variables.
Equations
Instances For
Dependency graph
Dependency graph
Naming the symbols of the instance #
The order of the syntax.
Equations
Instances For
Dependency graph
The node g is a conjunction.
Equations
Instances For
Dependency graph
The node g is a disjunction.
Equations
Instances For
Dependency graph
The node g is a universal quantifier.
Equations
Instances For
Dependency graph
The node g is an existential quantifier.
Equations
Instances For
Dependency graph
The node c is a child of the node g.
Equations
Instances For
Dependency graph
The quantifier node g binds the variable x.
Equations
Instances For
Dependency graph
The node g is the literal x = y.
Equations
Instances For
Dependency graph
The node g is the literal x ≠ y.
Equations
Instances For
Dependency graph
The node g is a positive atom of the symbol s.
Equations
Instances For
Dependency graph
The node g is a negated atom of the symbol s.
Equations
Instances For
Dependency graph
The argument of the atom g at position p is the variable x.
Equations
Instances For
Dependency graph
The symbol s has an argument position p.
Equations
Instances For
Dependency graph
The node g is the root of the encoded sentence.
Equations
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Guarded quantifiers #
Every quantifier of the kernel ranges over one of the two sorts of the extended
universe – the original elements, marked by old, and the invented values –
and is guarded accordingly. The guards are not decoration: one missing in a
hypothesis position (inside the update relation of the universal-quantifier
clause, or in the agreement hypotheses of g_ext and atom_coh) makes the
kernel demand of an assignment more than the certificate gives, and that
direction of the correspondence no longer closes.
A variable is named by its distance from its binder: vr0 is bound by the
innermost guarded quantifier, vr1 by the one just outside it, and so on – so
passing under one more quantifier increments every index, and up is that same
shift applied to a variable given by name.
A variable of the enclosing scope, seen from inside one guarded quantifier.
Equations
Instances For
Dependency graph
The variable bound by the innermost guarded quantifier.
Equations
Instances For
Dependency graph
The variable bound one guarded quantifier further out.
Equations
Instances For
Dependency graph
The variable bound two guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound three guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound four guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound five guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound six guarded quantifiers further out.
Equations
Instances For
Dependency graph
The variable bound seven guarded quantifiers further out.
Equations
Instances For
Dependency graph
∃ x, old x ∧ φ: a quantifier over the original elements.
Equations
Instances For
Dependency graph
∀ x, old x → φ: a quantifier over the original elements.
Equations
Instances For
Dependency graph
∃ d, ¬old d ∧ φ: a quantifier over the invented values.
Equations
Instances For
Dependency graph
∀ d, ¬old d → φ: a quantifier over the invented values.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Well-formedness #
The kernel has to check well-formedness, since junk instances are
no-instances: each condition of DescriptiveComplexity.FinSat.IsWF is one
conjunct, every quantifier ranging over the original elements.
The order of the syntax is reflexive.
Equations
Instances For
Dependency graph
The order of the syntax is transitive.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The order of the syntax is antisymmetric.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The order of the syntax is total.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Children come strictly earlier in the order of the syntax.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
An atom has at most one argument at each position.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
An atom has at most one relation symbol.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
An atom only has arguments at the positions of its symbol's signature.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
An atom has an argument at every position of its symbol's signature.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The instance is well-formed: the nine conditions of
DescriptiveComplexity.FinSat.IsWF, conjoined.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
The truth definition #
DescriptiveComplexity.FinSat.CertStep written out: one disjunct per kind of
node, the environments and the values of the model ranging over the invented
values and everything read off the encoding over the original elements.
e' is the environment e with the variable x set to the value d
(DescriptiveComplexity.FinSat.UpdAt). Its inner quantifiers carry guards
like every other, and here it matters: this clause occurs in a hypothesis
position inside the universal-quantifier disjunct below.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The value of the node g under the environment e, one disjunct per kind
of node.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The disjunction is the truth definition read on the certificate the assignment carries.
Dependency graph
The certificate #
One conjunct per field of DescriptiveComplexity.FinSat.CertOK.
The model is nonempty.
Equations
Instances For
Dependency graph
There is at least one environment.
Equations
Instances For
Dependency graph
An environment gives every variable a value in the model.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
An environment gives every variable at most one value.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Environments are closed under updating one variable.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The truth value of a node depends on the environment only through the values it gives.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The truth values obey the truth definition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Two atoms of the same relation symbol whose arguments have the same values have the same truth value.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The root holds under every environment.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The assignment is a certificate: the nine conditions of
DescriptiveComplexity.FinSat.CertOK, conjoined.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
The kernel #
The first-order kernel of the ∃SO[new] definition of FINSAT: the
instance is a well-formed encoding, and the guessed relations are a certificate
of finite satisfiability.
Equations
Instances For
Dependency graph
Dependency graph
The assignment a certificate determines #
The assignment of the relation variables a certificate determines: each variable holds exactly at the sort its component is meant for, and nowhere else – which is what makes the sort guards of the kernel harmless in this direction.
Equations
- One or more equations did not get rendered due to their size.
- DescriptiveComplexity.FinSat.certAssign Elt Env Val G H DescriptiveComplexity.FinSat.CertIx.elt = fun (x : Fin 1 → A ⊕ Fin m) => ∃ (d : Fin m), x 0 = Sum.inr d ∧ Elt d
- DescriptiveComplexity.FinSat.certAssign Elt Env Val G H DescriptiveComplexity.FinSat.CertIx.env = fun (x : Fin 1 → A ⊕ Fin m) => ∃ (e : Fin m), x 0 = Sum.inr e ∧ Env e
- DescriptiveComplexity.FinSat.certAssign Elt Env Val G H DescriptiveComplexity.FinSat.CertIx.gv = fun (x : Fin 2 → A ⊕ Fin m) => ∃ (g : A) (e : Fin m), x 0 = Sum.inl g ∧ x 1 = Sum.inr e ∧ G g e
- DescriptiveComplexity.FinSat.certAssign Elt Env Val G H DescriptiveComplexity.FinSat.CertIx.hv = fun (x : Fin 2 → A ⊕ Fin m) => ∃ (g : A) (e : Fin m), x 0 = Sum.inl g ∧ x 1 = Sum.inr e ∧ H g e
Instances For
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Dependency graph
Membership #
FINSAT is definable in ∃SO[new], the logic defining RE: the invented
values carry a finite model of the encoded sentence together with the
environments – a certificate
(DescriptiveComplexity.FinSat.finSatOn_iff_certFin) – and the first-order
kernel DescriptiveComplexity.FinSat.kernelS checks that the encoding is well
formed and that the guessed relations are one.
The number of invented values is unbounded in the instance, which is exactly what takes the problem beyond NP: a finite model of a satisfiable sentence can be arbitrarily larger than the sentence.