PCF Böhm trees
$λ$calculus: Normal forms of the form
NB: this term is not allowed $λf. f$, where $f: nat → nat$ in PCF Böhm trees, because of the form of $A$ above. Only way to fix it: $η$expand it: $λf,x. f x$
Exercise: Show that any real PCF term reduces to a some (infinite) Böhm tree.
⟹ Infinite Böhm trees are $η$long normal forms.
NB: so $σ$ is of the form $σ_1 → ⋯ → σ_n → nat$.
Typing rules:
First goal: Compile PCF Btrees into “strategies” written using the following vocabulary:
$(nat → nat) → nat → nat$ is turned into
digraph {
rankdir=TB;
"nat_11" > "nat_1" > "nat_ε";
"nat_2" > "nat_ε";
}
The vocabulary will consist of moves of the form
with the convention that
 $?_ε$: Opponent (O)
 $n_ε$: Player (P)
and
 If $?v$ is O for $σ_i$, then $?{iv}$ is a P for $A$
 If $?v$ is P for $σ_i$, then $?{iv}$ is a O for $A$
NB: this is reminiscient of values of $M ⇒ M’$ being either values of $M’$ or cells of $M$
+ an equipement of pointers from P moves back to O moves
cf. picture
Innocent Strategies
Innocent strategies: between memoryless ones and those retaining complete history.
Warmup Example:
Kierstead (student of Curry (who was working on higherorder recursive functions)) terms:
From now on,
cf. picture
We will define a cartesian closed category of HylandOng Games.

Morphisms = innocent strategies
Two equivalent forms:

meager (set of views):

where Opponent moves point to their direct Player parent move

composition via abstract machines


fat (set of plays)
 composition is defined in one line
NB: it’s similar to what we had with sequential algorithms: meager (AM) vs. fat (abstract algorithms)

Example: cf. picture
Kierstead applied to $h$
Arenas (HO)
An arena is given by
where
 $M$ stands for the moves

$⊢ ⊆ M ∪ M × M$
 if $⊢ m$, then $m$ is an O
 if $m ⊢ n$, then $m$ and $n$ are of opposite polarities
Cartesian Product
where
Function Space
And the rules are the same as the ones of the product, except the intial rules:
Strategies (morphisms in our category)
A play is an alternating sequence of moves in $M$ starting with O, equipped with pointers from all occurrences (of noninitial moves) in the sequence in such a way that
 if $m_i$ points to $m_j$ for $j < i$, then $m_j ⊢ m_i$
(cf. picture)
 A strategy:

is a set $σ$ of evenlength plays closed under even prefixes
NB: definition by Russ Harmer. It is very practical for nondeterminism.
 A strategy $σ$ is deterministic:

if moreover: whenever $s m_1, \, s m_2 ∈ σ$, where the $m_i$’s point in $s$, it comes that $m_2 = m_1$
Innocent strategies
 A strategy $σ$ of $A$ is called innocent (Hyland Ong (HO)):

if for all $s$ (ranging over plays of $A$):
s ∈ σ \quad ⟺ \quad \underbrace{\lceil s \rceil}_{\text{P view of } s} ∈ σwhere the view of a play is defined as:
\lceil ε \rceil = ε\\ \lceil s n \rceil = \lceil s \rceil n \qquad \text{ if } λ(n) = P\\ \lceil s m \rceil = m \qquad \text{ if } λ(m) = O \text{ and } ⊢ m\\ \lceil s n s' m \rceil = \lceil s n \rceil m \qquad \text{ if } m \text{ points inside } n\\
Exercise: When we had the interaction $h(f)$, we spotted a play $s$ that belonged to $h$. Compute $\lceil s \rceil$.
 A view:

is a sequence $s$ such that $\lceil s \rceil = s$
Meager strategies
Given an innocent strategy $σ$, we can define
Prop: $meager$ is injective.
Innocent strategies can be composed in two ways:
 either as strategies (parallel composition + hiding)
 or as meager strategies (abstract machines)
Parallel composition
Let
 $σ$ be a strategy of $A ⇒ A’$
 $σ’$ be a strategy of $A’ ⇒ A’’$
Then we define
NB:
 Hiding: because the everything related to $A’$ has been kept private (hidden) in the final result

Parallel composition: because $w$ and $w’$ are obtained from the same $u$
 This definition works even without determinism nor innocence, but the equivalence with meager strategies holds only when we have innocence
Next time:

give a precise definition of the compilation from PCF Böhm trees to innocent strategies

Suggest: the characterisation of the image of this compilation (which is injective: two different Böhm tress give rise to different strategies)

Wellparenthesisation: exclude
catch
andor_tester

How to interpret some imperative features in the setting of HO games (imperative features ⟶ noninnocent strategies)
Leave a comment