Asking a question of the machine #
The bridge between DescriptiveComplexity.GameProg – the machine's two hooks
into the source structure – and the phases that use them. Everything before
this file is parametric in concOk and isTarget; here they are the ones a
program supplies, and the round becomes a statement about a sentence:
DescriptiveComplexity.GameProg.altWin_ask: if the question holds of the two assignments the tape carries, the machine wins from the entry of its prefix.
The three things the bridge has to say #
- A claim vector is a claim vector. The phase carries
Fin M → Booland the questionFin (natoms q) → Bool;DescriptiveComplexity.GameProg.claimsOfextends one to the other andclaimsOf_applyreads it back. Nothing is padded – the extension is junk abovenatoms q, which no rule looks at. - A correct claim is a hit. The cell a challenge addresses is
cellPt a₀ rr i āwithithe atom's relation variable,āits arguments read at the valuation, andrrthe region the atom's copy names – the current position sitting in regionrand the candidate in the other, which isDescriptiveComplexity.GameProg.cond_copy. Its symbol carries the bit the tape gives it, and the claim being right says that bit is the claim. - The residue is the guard.
concOkat the concluding phase is literally(data q).sub brealized at the valuation the tuple carries, which is whatDescriptiveComplexity.QuestionData.MatrixHoldssupplies.
The claim vector #
The claim vector a phase carries, from the question's own: junk above the question's atoms, which no rule ever looks at.
Instances For
Dependency graph
Dependency graph
The region a copy names #
The current position sits in region r and the candidate in the other
one, so the copy an atom reads picks the region
if copy then !r else r – which is exactly the region
DescriptiveComplexity.GameProg.isTarget looks in.
Dependency graph
A correct claim is a hit #
The cell a challenge addresses carries the bit that was claimed, when the claim is right – so the seek finds it and the challenge is answered.
Dependency graph
The residue is the guard #
The concluding transition's guard is the residual formula, read at the valuation the tuple carries.
Dependency graph
The round, and the question #
The claim phase wins when the matrix holds. The existential player claims the vector the matrix supplies; each challenge is answered because the claim is right, and the concluding transition is guarded by the residue.
Dependency graph
The machine wins from the entry of a question's prefix when the question holds. This is the whole of the second normal form on the machine side: the prefix is played as moves, the matrix is claimed and challenged, and no evaluator appears anywhere.