The machine of a formula, written in first-order logic #
DescriptiveComplexity.altAccepts_iff_qbf says that the alternating machine
built in an ordered QBF instance accepts exactly when the formula is true. This
file writes that machine down: an FOInterpretation of the alternating-machine
vocabulary in the ordered QBF vocabulary, dimension two, tagged by
DescriptiveComplexity.AltTag.
The shape is the one of DescriptiveComplexity.SatTM.satTuringInterp:
- every defining formula matches on the base tag of its arguments, the
sweep index being a static number – so a side condition like “this is a real
sweep” is
⊤or⊥, decided when the formula is built, not a subformula; - the payload conditions are the three shapes a tag can have: both coordinates
least (
DescriptiveComplexity.AltTM.acstF), one element carried (DescriptiveComplexity.AltTM.aoneF), or a clause condition read off the instance; - the order is
DescriptiveComplexity.lexLeF, whose linearity is inherited from theLinearOrderonDescriptiveComplexity.AltTag, which is the very order the machine runs on.
The block marks are new here: blk i holds of a state exactly when
DescriptiveComplexity.altBlockOf returns i, which is a function of the tag
alone, so those formulas are ⊤ or ⊥ too.
The ordered vocabulary of the source #
The vocabulary of ordered QBF instances.
Equations
Instances For
Dependency graph
Being a clause.
Instances For
Dependency graph
Occurring positively.
Instances For
Dependency graph
Occurring negatively.
Instances For
Dependency graph
Carrying the mark of the i-th block.
Equations
Instances For
Dependency graph
The ambient order.
Instances For
Dependency graph
The formula builders #
x is a clause.
Equations
Instances For
Dependency graph
x occurs positively in c.
Equations
Instances For
Dependency graph
x occurs negatively in c.
Equations
Instances For
Dependency graph
x carries the mark of the i-th block.
Equations
Instances For
Dependency graph
x ≤ y in the ambient order.
Equations
Instances For
Dependency graph
x = y.
Equations
Instances For
Dependency graph
x < y in the ambient order.
Equations
Instances For
Dependency graph
x is the least element.
Equations
Instances For
Dependency graph
c is the lowest clause.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
c is the highest clause.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
c' is the clause immediately above c.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
There is no clause at all.
Equations
Instances For
Dependency graph
The cell of x holding the value v satisfies the clause c: the literal
test the check phase performs.
Equations
Instances For
Dependency graph
Realization of the builders #
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
The shapes of the machine's elements, as formulas #
A side condition decided when the formula is built: the sweep indices are static, so “this is a real sweep” is a truth value, not a subformula.
Instances For
Dependency graph
Dependency graph
The second argument is the constant of the tag s: the right tag, and both
coordinates least.
Equations
Instances For
Dependency graph
The second argument is the tag s carrying the value of x.
Equations
- DescriptiveComplexity.AltQbf.aoneF s x t' = if t' = s then DescriptiveComplexity.AltQbf.eqF (1, 0) x ⊓ DescriptiveComplexity.AltQbf.minF (1, 1) else ⊥
Instances For
Dependency graph
Dependency graph
Dependency graph
The block of a state, read off its tag #
The quantifier block of a state, as a function of its tag alone: this is what makes the block marks statically decided formulas.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Dependency graph
The defining formulas #
One per symbol of FirstOrder.Language.turingAlt, each matching on the base
tag of its arguments. The sweep index is static: a condition on it is sideF,
and so is the block a state belongs to.
Defining formula for posn.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Defining formula for tr: the payload promises of
DescriptiveComplexity.AltTr, the index conditions decided statically.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Defining formula for start.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Defining formula for acc: acceptance is read off the base tag alone.
Equations
- DescriptiveComplexity.AltQbf.accF t = match t.1 with | DescriptiveComplexity.AltQbf.AltBase.qAcc => ⊤ | x => ⊥
Instances For
Dependency graph
Defining formula for blank.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Defining formula for right: a static condition on the tag.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Defining formula for inp, the initial tape.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Defining formula for tsrc.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Defining formula for tread.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Defining formula for tdst: the one place the instance is consulted, in
the check clause, through DescriptiveComplexity.AltTM.litF.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Defining formula for twrite.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
Defining formula for the i-th block mark: the block of a state is a
function of its tag.
Equations
Instances For
Dependency graph
The interpretation of alternating machine instances in ordered QBF
instances: the machine M_φ of the formula, written down.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Dependency graph
The realization lemmas #
One per symbol, each saying that its defining formula defines the
corresponding predicate of DescriptiveComplexity.altMachine. The universe of
the interpreted structure is definitionally DescriptiveComplexity.AltV k A.
The identity equivalence between the tagged tuples and the interpreted universe.
Equations
Instances For
Dependency graph
Dependency graph
The block mark of a sweep index, read as a formula.
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
The machines agree, and the reduction #
The interpreted structure describes the machine of the instance: every
field of DescriptiveComplexity.atmData on the interpreted structure agrees,
along the identity equivalence, with DescriptiveComplexity.altMachine.
Dependency graph
Correctness of the interpretation: the interpreted structure is a
yes-instance of alternating acceptance exactly when the quantified formula is
true. Both promises hold unconditionally, and acceptance is
DescriptiveComplexity.altAccepts_iff_qbf, transported along the
agreement.
Dependency graph
A quantified Boolean formula reduces to acceptance by an alternating
machine: the ordered first-order reduction building M_φ inside the
instance.
Equations
- One or more equations did not get rendered due to their size.