PH ⊆ PSPACE #
The theorem: every level of the polynomial hierarchy is inside polynomial
space (DescriptiveComplexity.PH_subset_PSPACE). A Σₖ sentence is not a walk,
so this is not a syntactic inclusion; it is two closure properties of SO(TC) put
together, alternated along the quantifier prefix:
- complement (
DescriptiveComplexity.SOTCDefinable.compl, i.e.,PSPACE = coPSPACE, proved inDescriptiveComplexity.PSpaceCompl), which turns a universal block into an existential one; - prefixing an existential block
(
DescriptiveComplexity.SOTCDefinable.exBlock): a walk can carry a guessed block in its own state and never touch it again, so∃R̄. (SO(TC) condition)is again an SO(TC) condition.
The second is the construction of this file. The state of
DescriptiveComplexity.SOTCSpec.exBlock is an assignment of the merged block
DescriptiveComplexity.SOBlock.cons; its transition sentence is the conjunction
of DescriptiveComplexity.fixedS – the guessed component is unchanged, one
universally quantified equivalence per relation variable of it – with the inner
transition sentence read through DescriptiveComplexity.consTwoLHom; and its
endpoints are the inner ones read through DescriptiveComplexity.consOneLHom.
Because a step never moves the guessed component, a whole walk keeps it fixed
(DescriptiveComplexity.exBlock_reach), so accepting is accepting the inner walk
under some assignment of it (DescriptiveComplexity.exBlock_accepts_iff).
The prefix is then peeled one block at a time
(DescriptiveComplexity.sotcDefinable_soProblem), the base case being that a
first-order sentence is a walk with a trivial block and no step. Level 0 of the
hierarchy is not second-order at all and goes through PTIME ⊆ NP ⊆ PSPACE.
Reading a spec over a block expansion through the merge #
The renaming of a one-copy expansion: the symbols of the guessed block B
land in the left component of the merged block.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The renaming of a two-copy expansion: the symbols of the guessed block land in the left component of the first copy of the merged block.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The guessed block does not change #
The relation variable i of the guessed block, in the first copy of the
merged block.
Instances For
Dependency graph
The relation variable i of the guessed block, in the second copy.
Instances For
Dependency graph
The relation variable i of the guessed block has the same value in the two
copies of the merged block.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The whole guessed block is unchanged by a step.
Equations
Instances For
Dependency graph
Prefixing a specification with a guessed block #
The walk that guesses a block first: its state is an assignment of the
merged block, its transition sentence says that the guessed part does not change
and that the rest takes a step of spec, and its endpoints are those of
spec.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The guessed block is the same all along a walk, and the rest of the state walks in the inner specification.
Dependency graph
What the guessing walk accepts: exactly what the inner walk accepts, under some assignment of the guessed block.
Dependency graph
SO(TC) is closed under prefixing an existential second-order block: the walk carries the guessed block in its own state and never touches it again.
Dependency graph
Down the quantifier prefix #
The decision problem defined by a second-order sentence with a given
quantifier prefix: isomorphism-invariant by
DescriptiveComplexity.sorealize_iso.
Equations
- DescriptiveComplexity.soProblem L Bs φ pol = { Holds := fun (A : Type) (inst : L.Structure A) => DescriptiveComplexity.SORealize L A Bs φ pol, iso_invariant := ⋯ }
Instances For
Dependency graph
Every second-order sentence defines an SO(TC) condition: peel the prefix one block at a time, guessing an existential block into the state of the walk and complementing at a universal one.
Dependency graph
PH ⊆ PSPACE #
Every level of the polynomial hierarchy is inside PSPACE.
Registered in the Lax archive as
Lax134656.HierarchyInPSPACE.sigmaP_subset_PSPACE.
Dependency graph
PH ⊆ PSPACE: the polynomial hierarchy is inside polynomial space.
Registered in the Lax archive as
Lax134656.HierarchyInPSPACE.PH_subset_PSPACE.
Dependency graph
Πₖᵖ ⊆ PSPACE as well, since PSPACE is closed under complement.
Registered in the Lax archive as
Lax134656.HierarchyInPSPACE.piP_subset_PSPACE.