Value invention, bounded #
DescriptiveComplexity.SigmaSONewDefinable guesses a finite extension
A ⊕ Fin m of the instance with m unbounded, and that single freedom is
what takes existential second-order logic from NP up to RE: the yes-instances
become those found by an unbounded search over finite witnesses.
This file puts the bound back, as a parameter. ∃SO[new, d] guesses an
extension with at most Nat.card (Fin d → A) invented values – as many as there
are d-tuples of the instance – and the point of the notion is that the bound
does exactly what it should: it hands the search space back to the instance, so
the class is NP again. Read beside PSPACE = NL.exp, the family reads invent
nothing (Σ₁), invent polynomially many (here), invent exponentially many
(NEXPTIME) and invent unboundedly many (RE): one definition with one parameter.
What is here #
DescriptiveComplexity.SigmaSONewBddDefinable: the polynomial bound;DescriptiveComplexity.SigmaSONewExpDefinable: the exponential one, whose invented values are as many as the instance has tuples ofcrelations of arityd;DescriptiveComplexity.SigmaSODefinable.toNewBdd:Σ₁ ⊆ ∃SO[new, d], by inventing nothing, which is the easy half of∃SO[new, d] = NP.
The converse half – that a bounded extension is definable inside the instance's
own d-tuples, so the guess can be moved back onto A – is the substance, and
lives in DescriptiveComplexity.SecondOrderNewBddPull, where the
d-dimensional interpreted universe enters; together the two give
DescriptiveComplexity.sigmaSONewBddDefinable_iff_sigmaSODefinable.
Note that neither the bound nor its absence is a weakening of the other: a definability statement is an equivalence, so relaxing the bound loses the backward direction and tightening it loses the forward one. Passing between the notions means re-guarding the sentence, not reusing it.
Definability in ∃SO[new, d]: one existential second-order block over a
universe extended by at most Nat.card (Fin d → A) invented values, and a
first-order kernel. The bound is the only difference from
DescriptiveComplexity.SigmaSONewDefinable.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
∃SO[new, d]-definability only depends on the finite instances of a
problem, as ∃SO[new]-definability does.
Dependency graph
Σ₁ ⊆ ∃SO[new, d]: an ∃SO sentence becomes an ∃SO[new, d] sentence
when guarded by “nothing was invented”, the bound being satisfied by inventing
nothing at all.
Dependency graph
Inventing exponentially many values #
Definability in ∃SO[new, exp c d]: the same logic with the number of
invented values held to 2 ^ (c · nᵈ) – as many as the instance has tuples of
c relations of arity d, which is the size of an exponential expansion of it.
This is the middle rung of the family: invent nothing is Σ₁, invent
polynomially many is DescriptiveComplexity.SigmaSONewBddDefinable, invent
unboundedly many is DescriptiveComplexity.SigmaSONewDefinable.
Two constants and not one: at a one-element instance nᵈ is 1 whatever d
is, so a bound of 2 ^ nᵈ would be the constant 2 there, while an expansion's
points at such an instance are |Tag| · 2 ^ |B.ι| – a constant the expansion
chooses. The factor c is what lets an arbitrary expansion fit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
∃SO[new, exp d]-definability only depends on the finite instances of a
problem.