arXiv:1001.0641v1 [cs.LO] 5 Jan 2010

Least and Greatest Fixpoints
in Game Semantics
Pierre Clairambault
pierre.clairambault@pps.jussieu.fr
PPS — Université Paris 7
Abstract
We show how solutions to many recursive arena equations can be computed in a natural way by allowing loops in arenas. We then equip arenas
with winning functions and total winning strategies. We present two natural winning conditions compatible with the loop construction which respectively provide initial algebras and terminal coalgebras for a large class
of continuous functors. Finally, we introduce an intuitionistic sequent calculus, extended with syntactic constructions for least and greatest fixed
points, and prove it has a sound and (in a certain weak sense) complete
interpretation in our game model.

1

Introduction

The idea to model logic by game-theoretic tools can be traced back to the work
of Lorenzen [21]. The idea is to interpret a formula by a game between two
players O and P, O trying to refute the formula and P trying to prove it. The
formula A is then valid if P has a winning strategy on the interpretation of A.
Later, Joyal remarked [18] that it is possible to compose strategies in Conway
games [8] in an associative way, thus giving rise to the first category of games
and strategies. This, along with parallel developments in Linear Logic and
Geometry of Interaction, led to the more recent construction of compositional
game models for a large variety of logics [3, 23, 9] and programming languages
[17, 4, 22, 5].
We aim here to use these tools to model an intuitionistic logic with induction
and coinduction. Inductive/coinductive definitions in syntax have been defined
and studied in a large variety of settings, such as linear logic [6], λ-calculus [1] or
Martin-Löf’s type theory [10]. Motivations are multiple, but generally amount
to increasing the expressive power of a language without paying the price of
exponential modalities (as in [6]) or impredicativity (as in [1] or [10]). However,
less work has been carried out when it comes to the semantics of such constructions. Of course we have the famous order-theoretic Knaster-Tarski fixed
point theorem [25], the nice categorical theory due to Freyd [12], set-theoretic

1

models [10] (for the strictly positive fragment) or PER-models [20], but it seems
they have been ignored by the current trend for intensional models (i.e. games
semantics, GoI . . . ). We fix this issue here, showing that (co)induction admits
a nice game-theoretic model which arises naturally if one enriches McCusker’s
[22] work on recursive types with winning functions inspired by parity games
[24].
In Section 2, we first recall the basic definitions of the Hyland-Ong-Nickau
setting of game semantics. Then we sketch McCusker’s interpretation of recursive types, and show how most of these recursive types can be modelled by
means of loops in the arenas. For this purpose, we define a class of functors
called open functors, including in particular all the endofunctors built out of
the basic type constructors. We also present a mechanism of winning functions
inspired by [16], allowing us to build a category Gam of games and total winning strategies. In section 3, we present µLJ, the intuitionistic sequent calculus
with least and greatest fixpoints that we aim to model. We briefly discuss its
proof-theoretic properties, then present its semantic counterpart: we show how
to build initial algebras and terminal coalgebras to most positive open functors. Finally, we use this semantic account of (co)induction to give a sound and
(weakly) complete interpretation of µLJ in Gam.

2

Arena Games

2.1

Arenas and Plays

We recall briefly the now usual definitions of arena games, introduced in [17].
More detailed accounts can be found in [22, 14]. We are interested in games with
two participants: Opponent (O, the environment ) and Player (P, the program).
Possible plays are generated by directed graphs called arenas, which are semantic
versions of types or formulas. Hence, a play is a sequence of moves of the ambient
arena, each of them being annotated by a pointer to an earlier move — these
pointers being required to comply with the structure of the arena. Formally, an
arena is a structure A = (MA , λA , ⊢A ) where:
• MA is a set of moves,
• λA : MA → {O, P } × {Q, A} is a labelling function indicating whether a
move is an Opponent or Player move, and whether it is a question (Q) or
QA
an answer (A). We write λOP
A for the projection of λA to {O, P } and λA
for its projection on {Q, A}. λA will denote λA where the {O, P } part has
been reversed.
• ⊢A is a relation between MA + {⋆} to MA , called enabling, satisfying:
– ⋆ ⊢ m =⇒ λA (m) = OQ;
QA
– m ⊢A n ∧ λQA
A (n) = A =⇒ λA (m) = Q;
OP
– m ⊢A n ∧ m 6= ⋆ =⇒ λOP
A (m) 6= λA (n).

2

In other terms, an arena is a directed bipartite graph, with a set of distinguished
initial moves (m such that ⋆ ⊢A m) and a distinguished set of answers (m
such that λQA
= A) such that no answer points to another answer. We now
A
define plays as justified sequences over A: these are sequences s of moves
of A, each non-initial move m in s being equipped with a pointer to an earlier
move n in s, satisfying n ⊢A m. In other words, a justified sequence s over A is
such that each reversed pointer chain sφ(0) ← sφ(1) ← . . . ← sφ(n) is a path on
A, viewed as a directed bipartite graph.
The role of pointers is to allow reopenings in plays. Indeed, a path on A may
be (slightly naively) understood as a linear play on A, and a justified sequence
as an interleaving of paths, with possible duplications of some of them. This
intuition is made precise in [15]. When writing justified sequences, we will often
omit the justification information if this does not cause any ambiguity. ⊑ will
denote the prefix ordering on justified sequences. If s is a justified sequence on
A, |s| will denote its length.
Given a justified sequence s on A, it has two subsequences of particular
interest: the P-view and O-view. The view for P (resp. O) may be understood
as the subsequence of the play where P (resp. O) only sees his own duplications.
In a P-view, O never points more than once to a given P-move, thus he must
always point to the previous move. Concretely, P-views correspond to branches
of Böhm trees [17]. Practically, the P-view psq of s is computed by forgetting
everything under Opponent’s pointers, in the following recursive way:
• psmq = psqm if λOP
A (m) = P ;
• psmq = m if ⋆ ⊢A m and m has no justification pointer;
• ps1 ms2 nq = psqmn if λOP
A (n) = O and n points to m.
The O-view xsy of s is defined dually. Note that in some cases — in fact if s
does not satisfies the visibility condition introduced below — psq and xsy may
not be correct justified sequences, since some moves may have pointed to erased
parts of the play. However, we will restrict to plays where this does not happen.
The legal sequences over A, denoted by LA , are the justified sequences s on
A satisfying the following conditions:
OP
• Alternation. If tmn ⊑ s, then λOP
A (m) 6= λA (n);

• Bracketing. A question q is answered by a if a is an answer and a
points to q. A question q is open in s if it has not yet been answered.
We require that each answer points to the pending question, i.e. the last
open question.
• Visibility. If tm ⊑ s and m is not initial, then if λOP
A (m) = P the justifier
of m appears in ptq, otherwise its justifier appears in xty.

3

2.2

The cartesian closed category of Innocent strategies

A strategy σ on A is a prefix-closed set of even-length legal plays on A. A
strategy is deterministic if only Opponent branches, i.e. ∀smn, smn′ ∈ σ, n =
n′ . Of course, if A represents a type (or formula), there are often many more
strategies on A than programs (or proofs) on this type. To address this issue
we need innocence. An innocent strategy is a strategy σ such that
sab ∈ σ ∧ t ∈ σ ∧ ta ∈ LA ∧ psaq = ptaq =⇒ tab ∈ σ
We now recall how arenas and innocent strategies organize themselves into
a cartesian closed category. First, we build the product A × B of two arenas
A and B:
MA×B

=

MA + MB

λA×B
⊢A×B

=
=

[λA , λB ]
⊢A + ⊢B

We mention the empty arena I = (∅, ∅, ∅), which will be terminal for the
category of arenas and innocent strategies. We mention as well the arena ⊥ =
(•, • 7→ OQ, (⋆, •)) with only one initial move, which will be a weak initial
object. We define the arrow A ⇒ B as follows:
MA⇒B

=

λA⇒B

=

m ⊢A⇒B n

MA + MB

[λA , λB ]

m 6= ⋆ ∧ m ⊢A n



m 6= ⋆ ∧ m ⊢B n
⇔
⋆ ⊢B m ∧ ⋆ ⊢A n



m = ⋆ ∧ ⋆ ⊢B n

We define composition of strategies by the usual parallel interaction plus
hiding mechanism. If A, B and C are arenas, we define the set of interactions
I(A, B, C) as the set of justified sequences u over A, B and C such that u↾A,B ∈
LA⇒B , u↾B,C ∈ LB⇒C and u↾A,C ∈ LA⇒C . Then, if σ : A ⇒ B and τ : B ⇒ C,
we define parallel interaction:
σ||τ = {u ∈ I(A, B, C) | u↾A,B ∈ σ ∧ u↾B,C ∈ τ }
Composition is then defined as σ; τ = {u↾A,C | u ∈ σ||τ }. It is associative and
preserves innocence (a proof of these facts can be found in [17] or [14]). We also
define the identity on A as the copycat strategy (see [22] or [14] for a definition)
on A ⇒ A. Thus, there is a category Inn which has arenas as objects and
innocent strategies on A ⇒ B as morphisms from A to B. In fact, this category
is cartesian closed, the cartesian structure given by the arena product above and
the exponential closure given by the arrow construction. This category is also
equipped with a weak coproduct A + B [22], which is constructed as follows:
MA+B

=

MA + MB + {q, L, R}
4

λA+B

m ⊢A+B n

2.3

[λA , λB , q 7→ OQ, L 7→ P A, R 7→ P A]

m, n ∈ MA ∧ m ⊢A n




 m, n ∈ MB ∧ m ⊢B n
m=⋆∧n=q
⇔


(m
= q ∧ n = L) ∨ (m = q ∧ n = R)



(m = L ∧ ⋆ ⊢A n) ∨ (m = R ∧ ⋆ ⊢B n)
=

Recursive types and Loops

Let us recall briefly the interpretation of recursive types in game semantics, due
to McCusker [22]. Following [22], we first define an ordering E on arenas as
follows. For two arenas A and B, A E B iff
MA
λA

⊆
=

⊢A

=

MB
λB ↾MA
⊢B ∩ (MA + {⋆} × MA )

This defines a (large) dcpo, with least element I and directed sups given by
the componentwise union. If F : Inn → Inn is a functor which is continuous
with respect to E, we
F∞can find an arena D such that D = F (D) in the usual
way by setting D = n=0 F n (I). McCusker showed [22] that when the functors
are closed (i.e. their action can be internalized as a morphism (A ⇒ B) →
(F A ⇒ F B)), and when they preserve inclusion and projection morphisms
(i.e. partial copycat strategies) corresponding to E, this construction defines
minimal invariants [12]. Note that the crucial cases of these constructions are
the functors built out of the product, sum and function space constructions.
We give now a concrete and new (up to the author’s knowledge) description
of a large class of continuous functors, that we call open functors. These
include all the functors built out of the basic constructions, and allow a rereading
of recursive types, leading to the model of (co)induction.
2.3.1

Open arenas.

Let T be a countable set of names. An open arena is an arena A with distinguished question moves called holes, each of them labelled by an element of
T. We denote by X the holes annotated by X ∈ T. We will sometimes write
O
P
X to denote a hole of Player polarity, or X to denote a hole of Opponent
polarity. If A has holes labelled by X1 , . . . , Xn , we denote it by A[X1 , . . . , Xn ].
By abuse of notation, the corresponding open functor we are going to build will
be also denoted by A[X1 , . . . , Xn ] : (Inn × Innop )n → Inn.
2.3.2

Image of arenas.

If A[X1 , . . . , Xn ] is an open arena and B1 , . . . , Bn , B1′ , . . . , Bn′ are arenas (possibly open as well), we build a new arena A(B1 , B1′ , . . . , Bn , Bn′ ) by replacing each
5

O
′
occurrence of P
Xi by Bi and each occurrence of Xi by Bi . More formally:

MA(B1 ,B1′ ,...,Bn ,Bn′ )

=

(MA \ {X1 , . . . , Xn }) +

n
X

(MBi + MBi′ )

i=1

λA(B1 ,B1′ ,...,Bn ,Bn′ )

=

m ⊢A(B1 ,B1′ ,...,Bn ,Bn′ ) p ⇔

[λA , λB1 , λB1′ , . . . , λBn , λBn′ ]

P

Xi ∧ ⋆ ⊢Bi p
 m ⊢A  O


m
⊢


A
Xi ∧ ⋆ ⊢Bi′ p



 ⋆ ⊢Bi m ∧ P
Xi ⊢A p
⋆ ⊢Bi′ m ∧ O
Xi ⊢A p


m ⊢Bi p




m
⊢Bi′ p



m ⊢A p

Note that in this definition, we assimilate all the moves sharing the same hole
label Xi and with the same polarity. This helps to clarify notations, and is
justified by the fact that we never need to distinguish moves with the same hole
label, apart from when they have different polarity.
2.3.3

Image of strategies.

If A is an arena, we will, by abuse of notation, denote by IA both the set of initial
moves of A and the subarena of A with only these moves. Let A[X1 , . . . , Xn ] be
an open arena, B1′ , B1 , . . . , Bn′ , Bn and C1′ , C1 , . . . , Cn′ , Cn be arenas. Consider
the application ξ defined on moves as follows:

S
Xi if x ∈ i∈{1,...,n} (IB ′ ∪ IBi ∪ IC ′ ∪ ICi )
i
i
ξ(x) =
x
otherwise
and then extended recursively to an application ξ ∗ on legal plays as follows:
 ∗
ξ (s) if a is a non-initial move of Bi , B ′ , Ci or C ′
∗
i
i
ξ (sa) =
ξ ∗ (s)ξ(a) otherwise
ξ ∗ erases moves in the inner parts of Bi′ , Bi , Ci′ , Ci and agglomerates all the
initial moves back to the holes. This way we will be able to compare the resulting
play with the identity on A[X1 , . . . , Xn ]. Now, if σi : Bi → Ci and τi : Ci′ → Bi′
are strategies, we can now define the action of open functors on them by stating:

 ∀i ∈ {1, . . . , n}, s↾Bi ⇒Ci ∈ σi
∀i ∈ {1, . . . , n}, s↾C ′ ⇒B′ ∈ τi
s ∈ A(σ1 , τ1 , . . . , σn , τn ) ⇔
i
i
 ∗
ξ (s) ∈ idA[X1 ,...,Xn ]

Proposition 1. For any A[X1 , . . . , Xn ], this defines a functor A[X1 , . . . , Xn ] :
(Inn × Innop )n → Inn, which is monotone and continuous with respect to E.

6

Proof sketch. Preservation of identities and composition are rather direct. A
little care is needed to show that the resulting strategy is innocent: this relies
on two facts: First, for each Player move the three definition cases are mutually
exclusive. Second, a P-view of s ∈ A(σ1 , τ1 , . . . , σn , τn ) is (essentially) an initial
copycat appended with a P-view of one of σi or τi , hence the P-view of s
determines uniquely the P-view presented to one of σi , τi or idA[X1 ,...,Xn ] .
Example. Consider the open arena A[X] = X ⇒ X . For any arena B,
we have A(B) = B ⇒ B and for any σ : B1 → C1 and τ : C2 → B2 , we have
A(σ, τ ) = τ ⇒ σ : (B2 ⇒ B1 ) → (C2 ⇒ C1 ), the strategy which precomposes
its argument by τ and postcomposes it by σ.
2.3.4

Loops for recursive types.

Since these open functors are monotone and continuous with respect to E, solutions to their corresponding recursive equations can be obtained by computing
the infinite expansion of arenas (i.e. infinite iteration of the open functors).
However, for a large subclass of the open functors, this solution can be expressed in a simple way by replacing holes with a loop up to the initial moves.
Suppose A[X1 , . . . , Xn ] is an open functor, and i is such that Xi appears only
in non-initial, positive positions in A. Then we define an arena µXi .A as follows:
MµXi .A

=

λµXi .A

=

m ⊢µXi .A n

(MA \ Xi )

λA↾MµX .A
i

m ⊢A n
⇔
m ⊢A Xi ∧ ⋆ ⊢A n

A simple argument ensures that the obtained arena is isomorphic to the one
obtained by iteration of the functor. For this issue we take inspiration from
Laurent [19] and prove a theorem stating that two arenas are isomorphic in the
categorical sense if and only if their set of paths are isomorphic. A path in A
is a sequence of moves a1 , . . . , an such that for all i ∈ {1, . . . , n − 1} we have
ai ⊢A ai+1 . A path isomorphism between A and B is a bijection φ between
the set of paths of A and the set of paths on B such that for any non-empty
path p on A, φ(ip(p)) = ip(φ(p)) (where ip(p) denotes the immediate prefix of
p). We have then the theorem:
Theorem 1. Let A and B be two arenas. They are categorically isomorphic if
and only if there is a path isomorphism between their respective sets of paths.
Now, it is clear by construction that, if A[X] is an open functor such
F∞that X
appears only in non-initial positive positions in A, the set of paths of n=0 An (I)
and of µX.A are isomorphic. Therefore µX.A is solution of the recursive equation X = A(X), and when A[X] is closed and preserves inclusions and projections, µX.A defines as well a minimal invariant for A[X]. But in fact, we have
the following fact:
7

Proposition 2. If A[X] is an open functor, then it is closed and preserves
inclusions and projections. Hence µX.A is a minimal invariant for A[X].
This interpretation of recursive types as loops preserves finiteness of the
arena, and as we shall see, allows to easily express the winning conditions necessary to model induction and coinduction.

2.4

Winning and Totality

A total strategy on A is a strategy σ : A such that for all s ∈ σ, if there is a
such that sa ∈ LA , then there is b such that sab ∈ σ. In other words, σ has a
response to any legal Opponent move. This is crucial to interpret logic because
the interpretation of proofs in game semantics always gives total strategies: this
is a counterpart in semantics to the cut elimination property in syntax. To model
induction and coinduction in logic, we must therefore restrict to total strategies.
However, it is well-known that the class of total strategies is not closed under
composition, because an infinite chattering can occur in the hidden part of the
interaction. This is analogous to the fact that in λ-calculus, the class of strongly
normalizing terms is not closed under application: δ = λx.xx is a normal form,
however δδ is certainly not normalizable. This problem is discussed in [2, 16]
and more recently in [7]. We take here the solution of [16], and equip arenas with
winning functions: for every infinite play we choose a loser, hence restricting to
winning strategies has the effect of blocking infinite chattering.
The definition of legal plays extends smoothly to infinite plays. Let Lω
A
denote the set of infinite legal plays over A. If s ∈ Lω
A , we say that s ∈ σ
when for all s ⊏ s, s ∈ σ. We write LA = LA + Lω
A . A game will be a pair
A = (A, GA ) where A is an arena, and GA is a function from infinite threads
on A (i.e. infinite legal plays with exactly one initial move) to {W, L}. The
winning function GA extends naturally to potentially finite threads by setting,
for each finite s:

W if |s| is even ;
GA (s) =
L otherwise.
Finally, GA extends to legal plays by saying that GA (s) = W iff GA (t) = W for
every thread t of s. By abuse of notation, we keep the same notation for this
extended function. The constructions on arenas presented in section 2.2 extend
to constructions on games as follows:
• GA×B (s) = [GA , GB ] (indeed, a thread on A × B is either a thread on A or
a thread on B) ;
• GA+B (s) = W iff all threads of s↾A are winning for GA and all threads of
s↾B are winning for GB .
• GA⇒B (s) = W iff if all threads of s↾A are winning for GA , then GB (s↾B ) =
W.
It is straightforward to check that these constructions commute with the
extension of winning functions from infinite threads to potentially infinite legal
8

plays. We now define winning strategies σ : A as innocent strategies σ : A
such that for all s ∈ σ, GA (s) = W . Now, the following proposition is satisfied:
Proposition 3. Let σ : A ⇒ B and τ : B ⇒ C be two total winning strategies.
Then σ; τ is total winning.
Proof sketch. If σ; τ is not total, there must be infinite s in their parallel interaction σ||τ , such that s↾A,C is finite. By switching, we have in fact |s↾A | even and
|s↾C | odd. Thus GA (s↾A ) = W and GC (s↾C ) = L. We reason then by disjunction
of cases. Either GB (s↾B ) = W in which case GB⇒C (s↾B,C ) = L and τ cannot
be winning, or GB (s↾B ) = L in which case GA⇒B (s↾A,B ) = L and σ cannot be
winning. Therefore σ; τ is total.
σ; τ must be winning as well. Suppose there is s ∈ σ; τ such that GA⇒C (s) =
L. By definition of GA⇒C , this means that GA (s↾A ) = W and GC (s↾C ) = L. By
definition of composition, there is u ∈ σ||τ such that s = u↾A,C . But whatever
the value of GB (u↾B ) is, one of σ or τ is losing. Therefore σ; τ is winning.
It is clear from the definitions that all plays in the identity are winning. It
is also clear that all the structural morphisms of the cartesian closed structure
of Inn are winning (they are essentially copycat strategies), thus this defines a
cartesian closed category Gam of games and innocent total winning strategies.

3
3.1
3.1.1

Fixpoints
µLJ: an intuitionistic sequent calculus with fixpoints
Formulas.

S ::= S ⇒ T | S ∨ T | S ∧ T | µX.T | νX.T | X | ⊤ | ⊥
A formula F is valid if for any subformula of F of the form µX.F ′ ,
(1) X appears only positively in F ′ ,
(2) X does not appear at the root of F ′ (i.e. X appears at least under a ∨
or a ⇒ in the abstract syntax tree of F ′ ).
(2) corresponds to the restriction to arenas where loops allow to express recursive types, whereas (1) is the usual positivity condition. We could of course
hack the definition to get rid of these restrictions, but we choose not to obfuscate the treatment for an extra generality which is neither often considered in
the literature, nor useful in practical examples of (co)induction.
3.1.2

Derivation rules.

We present the rules with the usual dichotomy.
Identity group
A⊢A

ax

Γ⊢A

∆, A ⊢ B

Γ, ∆ ⊢ B

9

Cut

Structural group
Γ, A, A ⊢ B
Γ, A ⊢ B

Γ⊢B

C

Γ, A, B, ∆ ⊢ C

W

Γ, A ⊢ B

Γ, B, A, ∆ ⊢ C

γ

Logical group
Γ, A ⊢ B
Γ⊢A⇒B

Γ⊢A

Γ⊢A

⇒r

Γ, ∆, A ⇒ B ⊢ C

Γ⊢B

Γ ⊢ A∨B

⇒l

Γ, A ⊢ C

∧r

Γ⊢A∧B
Γ⊢A

∆, B ⊢ C

Γ, A ∧ B ⊢ C
Γ⊢B

←
∨−r

Γ⊢A∨B

−
→
∨
r

Γ, ⊥ ⊢ A

⊥l

Γ⊢⊤

Γ, B ⊢ C

←
∧−l

Γ, A ∧ B ⊢ C
Γ, A ⊢ C

−
→
∧l

∆, B ⊢ C

Γ, ∆, A ∨ B ⊢ C

⊤r

∨l

Fixpoints
Γ ⊢ T [µX.T /X]
Γ ⊢ µX.T

µr

T [A/X] ⊢ A
µX.T ⊢ A

T [νX.T /X] ⊢ B

µl

νX.T ⊢ B

νl

A ⊢ T [A/X]
A ⊢ νX.T

νr

Note that the µl , νl and νr rules are not relative to any context. In fact,
the general rules with a context Γ at the left of the sequent are derivable from
these ones (even if, for µl and νr , the construction of the derivation requires
an induction on T ), and we stick with the present ones to clarify the game
model. Cut elimination on the ⇒, ∧, ∨ fragment is the same as usual. For the
reduction of µ and ν, we need an additional rule to handle the unfolding of
formulas. For this purpose, we add a new rule [T ] for each type T with free
variables. This method can already be found in [1] for strictly positive functors:
no type variable appears on the left of an implication. From now on, T [A/X]
will be abbreviated T (A). This notation implies that, unless otherwise stated,
X will be the variable name for which T is viewed as a functor. In the following
rules, X appears only positively in T and only negatively in N :
Functors
A⊢B
T (A) ⊢ T (B)

A⊢B

[T ]

N (B) ⊢ N (A)

[N ]

The dynamic behaviour of this rule is to locally perform the unfolding. We give
some of the reduction rules. These are of two kinds: the rules for the elimination
of [T ], and the cut elimination rules. Here are the main cases:

10

π

π

A⊢B
T ⊢T

T ⊢T

[T ](X 6∈ F V (T ))

ax

A⊢B
A⊢B

π
[X]

A⊢B

π

π

π

A⊢B

A⊢B

N (B) ⊢ N (A)

N (A) ⇒ T (A) ⊢ N (B) ⇒ T (B)

[N ⇒ T ]

A⊢B

[N ]

T (A) ⊢ T (B)

N (A) ⇒ T (A), N (B) ⊢ T (B)
N (A) ⇒ T (A) ⊢ N (B) ⇒ T (B)

[T ]
⇒l

⇒r

π
π

A⊢B

A⊢B

T (A)[µY.T (B)/Y ] ⊢ T (B)[µY.T (B)/Y ]

µY.T (A) ⊢ µY.T (B)

[µY.T ]

T (A)[µY.T (B)/Y ] ⊢ µY.T (B)
µY.T (A) ⊢ µY.T (B)

[T [µY.T (B)/Y ]]
µr

µl

We omit the rule for ν, which is dual, and for ∧ and ∨, which are simple
pairing and case manipulations. Note also that most of these cases have a
counterpart where T is replaced by negative N , which has the sole effect of π
being a proof of B ⊢ A instead of A ⊢ B in the expansion rules. With that, we
can express the cut elimination rule for fixpoints:
π1

π2

Γ ⊢ T [µX.T /X]
Γ ⊢ µX.T

µr

T [A/X] ⊢ A
µX.T ⊢ A

Γ⊢A

µl

Cut

π2
T [A/X] ⊢ A

µl

π1

µX.T ⊢ A

Γ ⊢ T [µX.T /X]

T [µX.T /X] ⊢ T [A/X]

Γ ⊢ T [A/X]
Γ⊢A

[T ]
Cut

π2
T [A/X] ⊢ A

Cut

We skip once again the rule for ν, which is dual to µ. We choose consciously
not to recall the usual cut elimination rules nor the associated commutation
rules, since they are not central to our goals. µLJ, as presented above, does
not formally eliminate cuts since there is no rule to reduce the following (and

11

its dual with ν):

π1
T (A) ⊢ A
µX.T ⊢ A

π2

µl

Γ, A ⊢ B

Γ, µX.T ⊢ B

Cut

This cannot be reduced without some prior unfolding of the µX.T on the left.
This issue is often solved [6] by replacing the rule for µ presented here above by
the following:
T (A) ⊢ A
Γ, A ⊢ B ′
µ
Γ, µX.T ⊢ B
With the corresponding reduction rule, and analogously for ν. We choose here
not to do this, first because our game model will prove consistency without
the need to prove cut elimination, and second because we want to preserve the
proximity with the categorical structure of initial algebras / terminal coalgebras.

3.2

The games model

We present the game model for fixpoints. We wish to model a proof system,
therefore we need our strategies to be total. The base arenas of the interpretation of fixpoints will be the arenas with loops presented in section 2.3.4, to which
we will adjoin a winning function. While the base arenas will be the same for
greatest and least fixpoints, they will be distinguished by the winning function:
intuitively, Player loses if a play grows infinite in a least fixpoint (inductive)
game, and Opponent loses if this happens in a greatest fixpoint (coinductive)
game. The winning functions we are going to present are strongly influenced
by Santocanale’s work on games for µ-lattices [24]. A win open functor is
a functor T : (Gam × Gamop )n → Gam such that there is an open functor
T [X1 , . . . , Xn ] such that for all games A1 , . . . , A2n of base arenas A1 , . . . , A2n ,
the base arena of T(A1 , . . . , A2n ) is T (A1 , . . . , An ). In other terms, it is the
natural lifting of open functors to the category of games. By abuse of notation,
we denote this by T[X1 , . . . , Xn ], and T [X1 , . . . , Xn ] will denote its underlying
open functor.
3.2.1

Least fixed point.

Let T[X1 , . . . , Xn ] be a win open functor such that X1 appears only positively
and at depth higher than 0 in T [X1 , . . . , Xn ]. Then we define a new win open
functor µX1 .T[X2 , . . . , Xn ] as follows:
• Its base arena is µX1 .T [X2 , . . . , Xn ] ;
• If A3 , . . . , A2n ∈ Gam, GµX1 .T(A3 ,...,A2n ) (s) = W iff
– There is N ∈ N such that no path of s takes the external loop more
that N times, and ;

12

– s is winning in the subgame inside the loop, or more formally:
GT(I,I,A3 ,...,A2n ) (s↾T(I,I,A3 ,...,A2n ) ) = W .
3.2.2

Greatest fixed point.

Dually, if the same conditions are satisfied, we define the win open functor
νX1 .T[X1 , . . . , Xn ] as follows:
• Its base arena is µX1 .T [X2 , . . . , Xn ] ;
• If A3 , . . . , A2n ∈ Gam, GνX1 .T(A3 ,...,A2n ) (s) = W iff
– For any N ∈ N, there is a path of s crossing the external loop more
than N times, or ;
– s is winning in the subgame inside the loop, or more formally:
GT(I,I,A3 ,...,A2n ) (s↾T(I,I,A3 ,...,A2n ) ) = W .
It is straightforward to check that these are still functors, and in particular
win open functors. There is one particular case that is worth noticing: if T[X]
has only one hole which appears only in positive position and at depth greater
than 0, then µX.T is a constant functor, i.e. a game. Moreover, theorem 1
implies that it is isomorphic in Inn to T(µX.T). It is straightforward to check
that this isomorphism iT : T(µX.T) → µX.T is winning (it is nothing but the
identity strategy), which shows that they are in fact isomorphic in Gam. Then,
one can prove the following theorem:
Theorem 2. If T[X] has only one hole which appears only in positive position
and at depth greater than 0, then the pair (µX.T, iT ) defines an initial algebra
for T[X] and (νX.T, i−1
T ) defines a terminal coalgebra for T[X].
Proof. We give the proof for initial alebras, the second part being dual. Let
(A, σ) another algebra of T[X]. We need to show that there is a unique σ † :
µX.T ⇒ B such that
T(σ† )

T(µX.T)

/ T(B)
σ

iT


µX.T

σ†


/B

commutes. The idea is to iterate σ:
...

T3 (σ)

/ T3 (B)

T2 (σ)

/ T2 (B)

T(σ)

/ T(B)

σ

/B

and somehow to take the limit. In fact we can give a direct definition of σ † :

σ

σ (1)

=

σ

(n+1)

=
=

Tn (σ); σ (n)
{s ∈ LµX.T⇒B | ∃n ∈ N∗ , s ∈ σ (n) }

σ

†

13

This defines an innocent strategy, since when restricted to plays of µX.T, these
strategies agree on their common domain. This strategy is winning. Indeed,
take an infinite play s ∈ σ † . Suppose s↾µX.T is winning. By definition of GµX.T ,
this means that there is N ∈ N such that no path of s↾µX.T takes the external loop
more than N times. Thus, s ∈ LTn (I)⇒B . But this implies that s ∈ σ (n) , and
σ (n) is a composition of winning strategies thus winning, therefore s is winning.
Moreover, σ † is the unique innocent strategy making the diagram commute:
suppose there is another f making this square commute. Since T(µX.T) and
µX.T have the same set of paths, iT is in fact the identity, thus we have T(f ); σ =
f . By applying T and post-composing by σ, we get:
T2 (f ); T(σ); σ = T(f ); σ = f
And by iterating this process, we get for all n ∈ N:
Tn+1 (f ); Tn (σ); . . . ; T(σ); σ = f
Thus:
Tn+1 (f ); σ (n) = f
Now take s ∈ f , and let n be the length of the longest path in s. Since T[X]
has no hole at the root, no path of length n can reach B in Tn+1 (B), thus
s ∈ σ (n) , therefore s ∈ σ † . The same reasoning also works for the other inclusion.
Likewise, if σ : B → T(B), we build a unique σ ‡ : B → νX.T making the
coalgebra diagram commute.

3.3

Interpretation of µLJ

3.3.1

Interpretation of Formulas.

As expected, we give the interpretation of valid formulas.
J⊤K
J⊥K
JA ∨ BK
JA ∧ BK
3.3.2

=
=
=
=

JA ⇒ BK
JXK
JµX.T K
JνX.T K

I
⊥
JAK + JBK
JAK × JBK

=
=
=
=

JAK ⇒ JBK
X
µX.JT K
νX.JT K

Interpretation of Proofs.

As usual, the interpretation of a proof π of a sequent A1 , . . . , An ⊢ B will be a
morphism JπK : JA1 K × . . . × JAn K −→ JBK. The interpretation is computed by
induction on the proof tree. The interpretation of the rules of LJ is standard
and its correctness follows from the cartesian closed structure of Gam. Here
are the interpretations for the fixpoint and functor rules:
u

wΓ ⊢ T [µX.T /X]
v
Γ ⊢ µX.T

u

}

π
µr

wT [A/X] ⊢ A
v


~ = JπK; iJT K

µX.T ⊢ A

14

}

π
µl


†
~ = JπK

u

w
vT [νX.T /X] ⊢ B
νX.T ⊢ B

u

}

π
νl

w
vA ⊢ T [A/X]


−1
~ = iJT K ; JπK

u
w
v

}

π
A⊢B
T (A) ⊢ T (B)

}

π

A ⊢ νX.T

νr


‡
~ = JπK


~ = JT K(JπK)
[T ]

We do not give the details of the proof that this defines an invariant of
reduction. The main technical point is the validity of the interpretation of the
functor rule; more precisely when the functor is a (least or greatest) fixpoint.
Given that, we get the following theorem.
Theorem 3. If π

π ′ , then JπK = Jπ ′ K.

In particular, this proves the following theorem which is certainly worth
noticing, because µLJ has large expressive power. In particular, it contains
Gödel’s system T [13].
Theorem 4. µLJ is consistent: there is no proof of ⊥.
Proof. There is no total strategy on the game ⊥.
3.3.3

Completeness.

When it comes to completeness, we run into the issue that the total winning
innocent strategies are not necessarily finite, hence the usual definability process
does not terminate. Nonetheless, we get a definability theorem in an infinitary
version of µLJ. Whether a more precise completeness theorem is possible is
a subtle point. First, we would need to restrict to an adequate subclass of
the recursive total winning strategies (for example, the Ackermann function is
definable in µLJ). Then again, the problem to find a proof whose interpretation
is exactly the original strategy would be highly non-trivial: if σ : µX.T ⇒ A, we
have to guess an invariant B, a proof π1 of T (B) ⊢ B and a proof π2 of B ⊢ A
such that Jπ1 K† ; Jπ2 K = σ. Perhaps it would be more feasible to look for a proof
whose interpretation is observationally equivalent to the original strategy, which
would be very similar to the universality result in [17].

4

Conclusion and Future Work

We have successfully constructed a games model of a propositional intuitionistic sequent calculus µLJ with inductive and coinductive types. It is striking
that the adequate winning conditions on legal plays to model (co)induction
are almost identical to those used in parity games to model least and greatest
fixpoints, to the extent that the restriction of our winning condition to paths
coincides exactly with the winning condition used in [24]. It would be worthwile
to investigate this connection further: given a game viewed as a bipartite graph

15

along with winning conditions for infinite plays, under which assumptions can
these winning conditions be canonically lifted to the set of legal plays on this
graph, viewed as an arena? Results in this direction might prove useful, since
they would allow to import many game-theoretic results into game semantics,
and thus programming languages.
This work is part of a larger project to provide game-theoretic models to
total programming languages with dependent types, such as COQ or Agda.
In these settings, (co)induction is crucial, since they deliberately lack general
recursion. We believe that in the appropriate games setting, we can push the
present results further and model Dybjer’s Inductive-Recursive[11] definitions.
4.0.4

Acknowledgements.

We would like to thank Russ Harmer, Stephane Gimenez and David Baelde for
stimulating discussions, and the anonymous referees for useful comments and
suggestions.

References
[1] A. Abel and T. Altenkirch. A predicative strong normalisation proof for a
lambda-calculus with interleaving inductive types. In TYPES, 1991.
[2] S. Abramsky. Semantics of interaction: an introduction to game semantics.
Semantics and Logics of Computation, pages 1–31, 1996.
[3] S. Abramsky and R. Jagadeesan. Games and full completeness for multiplicative linear logic. J. Symb. Log., 59(2):543–574, 1994.
[4] S. Abramsky, R. Jagadeesan, and P. Malacaria. Full Abstraction for PCF.
Info. & Comp, 2000.
[5] S. Abramsky, H. Kohei, and G. McCusker. A fully abstract game semantics
for general references. In LICS, pages 334–344, 1998.
[6] D. Baelde and D. Miller. Least and greatest fixed points in linear logic. In
LPAR, pages 92–106, 2007.
[7] P. Clairambault and R. Harmer. Totality in Arena Games. Submitted.,
2008.
[8] J.H. Conway. On Numbers and Games. AK Peters, Ltd., 2001.
[9] J. De Lataillade. Second-order type isomorphisms through game semantics.
Ann. Pure Appl. Logic, 151(2-3):115–150, 2008.
[10] P. Dybjer. Inductive sets and families in Martin-Löfs Type Theory and
their set-theoretic semantics: An inversion principle for Martin-Löfs type
theory. Logical Frameworks, 14:59–79, 1991.

16

[11] P. Dybjer. A general formulation of simultaneous inductive-recursive definitions in type theory. J. Symb. Log., 65(2):525–549, 2000.
[12] P. Freyd. Algebraically complete categories. In Proc. 1990 Como Category
Theory Conference, volume 1488, pages 95–104. Springer, 1990.
[13] K. Godel. Über eine bisher noch nicht bentzte Erweiterung des finiten
Standpunktes. Dialectica, 1958.
[14] R. Harmer. Innocent game semantics. Lecture notes, 2004.
[15] R. Harmer, J.M.E. Hyland, and P.-A. Melliès. Categorical combinatorics
for innocent strategies. In LICS, pages 379–388, 2007.
[16] J.M.E. Hyland. Game semantics. Semantics and Logics of Computation,
1996.
[17] J.M.E. Hyland and C.H.L. Ong. On full abstraction for PCF: I, II, and
III. Inf. Comput., 163(2):285–408, 2000.
[18] A. Joyal. Remarques sur la théorie des jeux à deux personnes. Gaz. Sc.
Math. Qu., 1977.
[19] O. Laurent. Classical isomorphisms of types. Mathematical Structures in
Computer Science, 15(5):969–1004, 2005.
[20] R. Loader. Equational theories for inductive types. Ann. Pure Appl. Logic,
84(2):175–217, 1997.
[21] P. Lorenzen. Logik und Agon. Atti Congr. Internat. di Filosofia, 1960.
[22] G. McCusker. Games and full abstraction for FPC. Inf. Comput., 160(12):1–61, 2000.
[23] P.-A. Melliès. Asynchronous games 4: A fully complete model of propositional linear logic. In LICS, pages 386–395, 2005.
[24] L. Santocanale. Free µ-lattices. J. Pure Appl. Algebra, 168(2-3):227–264,
2002.
[25] A. Tarski. A lattice-theoretical fixpoint theorem and its applications. Pacific Journal of Mathematics, 5(2):285–309, 1955.

17

