The quantifier prefix, read from the middle #
DescriptiveComplexity.altQuant quantifies the k block assignments from the
outside in, building the tuple with Fin.cons: the assignment of index 0 is
the outermost, and the type shrinks as the recursion goes. That is the right
shape for a definition and the wrong one for a run, which fixes the blocks in
place and rewrites them one at a time with Function.update.
DescriptiveComplexity.AltTail is the second shape: AltTail P r m νs pol
quantifies the r blocks from m up, leaving the blocks below m at whatever
νs says. The two agree (DescriptiveComplexity.altTail_iff_altQuant), by an
induction that pushes one block from the tail into the prefix at a time. The
gluing map DescriptiveComplexity.glueTail is what translates between them,
and the whole content of the bridge is that pushing a block past it is
Function.update.
Quantification from the middle of the prefix #
One quantifier at the polarity pol.
Equations
- DescriptiveComplexity.AltQbf.polQuant true Q = ∃ (ν : A → Prop), Q ν
- DescriptiveComplexity.AltQbf.polQuant false Q = ∀ (ν : A → Prop), Q ν
Instances For
Dependency graph
Dependency graph
Quantifying the last r blocks, the ones below m already fixed by
νs. Each block is written in place, which is the shape a run of the machine
produces: round m replaces the m-th assignment and leaves the others
alone.
Equations
- One or more equations did not get rendered due to their size.
- DescriptiveComplexity.AltQbf.AltTail P 0 x✝² x✝¹ x✝ = P x✝¹
Instances For
Dependency graph
Dependency graph
Gluing a tail onto a prefix #
The tuple that follows νs below m and reads the r blocks from m up
off σ.
Equations
Instances For
Dependency graph
Gluing nothing leaves the prefix alone.
Dependency graph
Pushing one block from the tail into the prefix is an update. This is the whole content of the bridge between the two shapes of the prefix.
Dependency graph
The two shapes agree #
Quantifying from the middle is quantifying from the outside, once the blocks already fixed are glued back on.
Dependency graph
The whole prefix: quantifying every block in place is the alternating
quantification of DescriptiveComplexity.QbfProblem.