Game Semantics

Higher-Order Guessing

Proponent is a term of type ((B → B) → B) → B: it receives an oracle f and queries it by supplying an argument strategy (identity, negation, or constant true). Each interrogation of that argument is a separate P-view; innocence forbids a hidden call counter.

Type ((B → B) → B) → B

OP?!₁P-viewΩ…₊ / ₋₁ ₂ ₃

Arena

Enabling structure of the arena (each move drawn once). Hover a move for its role. Enabling.

Strategies

ask-id

Query the oracle with the identity function and copy its answer.

Trace against auto. (stuck — Ω)

q? 0₀
q₁? 1₁
q₁₁? 2₂

P-view

Strategy tree

Unfolding against every legal Opponent continuation, up to the page bound. O branches fan out; P is a single reply. Click a reply count to expand folded Opponent options.

ε
Oq?
Pq₁?

ask-not

Query the oracle with negation.

Trace against auto. (stuck — Ω)

q? 0₀
q₁? 1₁
q₁₁? 2₂

P-view

Strategy tree

Unfolding against every legal Opponent continuation, up to the page bound. O branches fan out; P is a single reply. Click a reply count to expand folded Opponent options.

ε
Oq?
Pq₁?

ask-const-true

Query the oracle with the constant-true thunk.

Trace against auto. (truncated by bound)

q? 0₀
q₁? 1₁
q₁₁? 2₂
tt₁₁! 3₃
q₁₁? 4₂
tt₁₁! 5₅
q₁₁? 6₂
tt₁₁! 7₇
q₁₁? 8₂
tt₁₁! 9₉
q₁₁? 10₂
tt₁₁! 11₁₁

P-view

Strategy tree

Unfolding against every legal Opponent continuation, up to the page bound. O branches fan out; P is a single reply. Click a reply count to expand folded Opponent options.

ε
Oq?
Pq₁?

bot

The empty strategy Ω: Proponent never moves.

Trace against auto. (stuck — Ω)

q? 0₀

P-view

Strategy tree

Unfolding against every legal Opponent continuation, up to the page bound. O branches fan out; P is a single reply. Click a reply count to expand folded Opponent options.

ε
Oq?
Ω