Game semantics
From LLWiki
(Difference between revisions)
(First basic definitions on games) |
(Game constructions, strategies) |
||
Line 1: | Line 1: | ||
− | This article presents the game-theoretic [[fully complete model]] of <math>MLL</math>. |
+ | This article presents the game-theoretic [[fully complete model]] of <math>MLL</math>. |
Formulas are interpreted by games between two players, Player and Opponent, and proofs |
Formulas are interpreted by games between two players, Player and Opponent, and proofs |
||
are interpreted by strategies for Player. |
are interpreted by strategies for Player. |
||
Line 5: | Line 5: | ||
== Preliminary definitions and notations == |
== Preliminary definitions and notations == |
||
− | * If <math>M</math> is a set, <math>M^*</math> will denote the set of ''finite words'' on <math>M</math>; |
+ | === Sequences, Polarities === |
+ | |||
+ | {{Definition|title=Sequences| |
||
+ | If <math>M</math> is a set of ''moves'', a '''sequence''' or a '''play''' on <math>M</math> |
||
+ | is a finite sequence of elements of <math>M</math>. The set of sequences of <math>M</math> is denoted by <math>M^*</math>. |
||
+ | }} |
||
+ | |||
+ | :We introduce some convenient notations on sequences. |
||
* If <math>s\in M^*</math>, <math>|s|</math> will denote the ''length'' of <math>s</math>; |
* If <math>s\in M^*</math>, <math>|s|</math> will denote the ''length'' of <math>s</math>; |
||
* If <math>1\leq i\leq |s|</math>, <math>s_i</math> will denote the i-th move of <math> s</math>; |
* If <math>1\leq i\leq |s|</math>, <math>s_i</math> will denote the i-th move of <math> s</math>; |
||
− | * We define <math>\overline{(\_)}:\{O,P\}\to \{O,P\}</math> with <math> \overline{O} = P </math> and <math>\overline{P} = O</math> |
+ | * We denote by <math>\sqsubseteq</math> the prefix partial order on <math>M^*</math>; |
− | * We denote by <math>\sqsubseteq</math> the prefix partial order on <math>M^*</math> |
+ | * If <math>s_1</math> is an even-length prefix of <math>s_2</math>, we denote it by <math>s_1\sqsubseteq^P s_2</math>; |
+ | * The empty sequence will be denoted by <math>\epsilon</math>. |
||
+ | |||
+ | |||
+ | :All moves will be equipped with a '''polarity''', which will be either Player (<math>P</math>) or Opponent (<math>O</math>). |
||
+ | * We define <math>\overline{(\_)}:\{O,P\}\to \{O,P\}</math> with <math> \overline{O} = P </math> and <math>\overline{P} = O</math>. |
||
+ | * This operation extends in a pointwise way to functions onto <math>\{O,P\}</math>. |
||
+ | |||
+ | === Sequences on Components === |
||
+ | |||
+ | :We will often need to speak of sequences over (the disjoint sum of) multiple sets of moves, along with a restriction operation. |
||
+ | * If <math> M_1 </math> and <math> M_2 </math> are two sets, <math> M_1 + M_2 </math> will denote their disjoint sum, implemented as <math> M_1 + M_2 = \{1\}\times M_1 \cup \{2\}\times M_2</math>; |
||
+ | * In this case, if we have two functions <math>\lambda_1:M_1 \to R</math> and <math> \lambda_2:M_2\to R</math>, we denote by <math> [\lambda_1,\lambda_2]:M_1 + M_2 \to R</math> their ''co-pairing''; |
||
+ | * If <math>s\in (M_A + M_B)^*</math>, the '''restriction''' of <math>s</math> to <math>M_A</math> (resp. <math>M_B</math>) is denoted by <math>s\upharpoonright M_A</math> (resp.<math>s \upharpoonright M_B</math>). Later, if <math>A</math> and <math>B</math> are games, this will be abbreviated <math>s\upharpoonright A</math> and <math>s\upharpoonright B</math>. |
||
+ | |||
== Games and Strategies == |
== Games and Strategies == |
||
+ | |||
+ | === Game constructions === |
||
+ | :We first give the definition for a game, then all the constructions used to interpret the connectives and operations of <math>MLL</math> |
||
{{Definition|title=Games| |
{{Definition|title=Games| |
||
Line 18: | Line 21: | ||
* <math>\lambda_A: M_A \to \{O,P\}</math> is a ''polarity function''; |
* <math>\lambda_A: M_A \to \{O,P\}</math> is a ''polarity function''; |
||
* <math>P_A</math> is a subset of <math>M_A^*</math> such that |
* <math>P_A</math> is a subset of <math>M_A^*</math> such that |
||
− | ** Each <math>s\in P_A</math> is '''alternated''', ''i.e.'' if we define <math>\lambda_A (s_i) = Q</math> then, if defined, <math>\lambda_A(s_{i+1}) = \overline{Q}</math>; |
+ | ** Each <math>s\in P_A</math> is '''alternating''', ''i.e.'' if <math>\lambda_A (s_i) = Q</math> then, if defined, <math>\lambda_A(s_{i+1}) = \overline{Q}</math>; |
** <math>A</math> is '''finite''': there is no infinite strictly increasing sequence <math>s_1 \sqsubset s_2 \sqsubset \dots </math> in <math>P_A</math>. |
** <math>A</math> is '''finite''': there is no infinite strictly increasing sequence <math>s_1 \sqsubset s_2 \sqsubset \dots </math> in <math>P_A</math>. |
||
+ | }} |
||
+ | |||
+ | |||
+ | {{Definition|title=Linear Negation| |
||
+ | If <math>A</math> is a game, the game <math>A^\bot</math> is <math>A</math> where Player and Opponent are interchanged. Formally: |
||
+ | * <math>M_{A^\bot} = M_A</math> |
||
+ | * <math>\lambda_{A^\bot} = \overline{\lambda_A}</math> |
||
+ | * <math>P_{A^\bot} = P_A</math> |
||
+ | }} |
||
+ | |||
+ | |||
+ | {{Definition|title=Tensor| |
||
+ | If <math>A</math> and <math>B</math> are games, we define <math>A \tens B</math> as: |
||
+ | * <math>M_{A\tens B} = M_A + M_B</math>; |
||
+ | * <math>\lambda_{A\tens B} = [\lambda_A,\lambda_B]</math> |
||
+ | * <math>P_{A\tens B}</math> is the set of all finite, alternating sequences in <math>M_{A\tens B}^*</math> such that <math>s\in P_{A\tens B}</math> if and only if: |
||
+ | # <math>s\upharpoonright A\in P_A</math> and <math>s \upharpoonright B \in P_B</math>; |
||
+ | # If we have <math>i\le |s|</math> such that <math> s_i</math> and <math>s_{i+1}</math> are in different components, then <math>\lambda_{A\tens B}(s_{i+1}) = O</math>. We will refer to this condition as the ''switching convention for tensor game''. |
||
+ | }} |
||
+ | |||
+ | |||
+ | :The ''par'' connective can be defined either as <math>A\parr B = (A^\bot \tens B^\bot)^\bot</math>, or similarly to the ''tensor'' except that the switching convention is in favor of Player. We will refer to this as the ''switching convention for par game''. |
||
+ | |||
+ | |||
+ | === Strategies === |
||
+ | |||
+ | {{Definition|title=Strategies| |
||
+ | A '''strategy''' for Player in a game <math>A</math> is defined as a subset <math>\sigma\subseteq P_A</math> satisfying the following conditions: |
||
+ | * <math>\sigma</math> is non-empty: <math>\epsilon\in \sigma</math> |
||
+ | * Oponnent starts: If <math>s\in \sigma</math>, <math>\lambda_A(s_1)=O</math>; |
||
+ | * <math>\sigma</math> is closed by ''even prefix'', ''i.e.'' if <math>s\in \sigma</math> and <math>s'\sqsubseteq^P s</math>, then <math>s'\in \sigma</math>; |
||
+ | * Determinacy: If we have <math>soa\in \sigma</math> and <math>sob\in \sigma</math>, then <math>a=b</math>. |
||
}} |
}} |
Revision as of 12:06, 3 February 2009
This article presents the game-theoretic fully complete model of MLL. Formulas are interpreted by games between two players, Player and Opponent, and proofs are interpreted by strategies for Player.
Contents |
Preliminary definitions and notations
Sequences, Polarities
Definition (Sequences)
If M is a set of moves, a sequence or a play on M
is a finite sequence of elements of M. The set of sequences of M is denoted by M * .
- We introduce some convenient notations on sequences.
- If , | s | will denote the length of s;
- If , si will denote the i-th move of s;
- We denote by the prefix partial order on M * ;
- If s1 is an even-length prefix of s2, we denote it by ;
- The empty sequence will be denoted by ε.
- All moves will be equipped with a polarity, which will be either Player (P) or Opponent (O).
- We define with and .
- This operation extends in a pointwise way to functions onto {O,P}.
Sequences on Components
- We will often need to speak of sequences over (the disjoint sum of) multiple sets of moves, along with a restriction operation.
- If M1 and M2 are two sets, M1 + M2 will denote their disjoint sum, implemented as ;
- In this case, if we have two functions and , we denote by their co-pairing;
- If , the restriction of s to MA (resp. MB) is denoted by (resp.). Later, if A and B are games, this will be abbreviated and .
Games and Strategies
Game constructions
- We first give the definition for a game, then all the constructions used to interpret the connectives and operations of MLL
Definition (Games)
A game A is a triple (MA,λA,PA) where:
- MA is a finite set of moves;
- is a polarity function;
- PA is a subset of such that
- Each is alternating, i.e. if λA(si) = Q then, if defined, ;
- A is finite: there is no infinite strictly increasing sequence in PA.
Definition (Linear Negation)
If A is a game, the game is A where Player and Opponent are interchanged. Formally:
Definition (Tensor)
If A and B are games, we define as:
- ;
- is the set of all finite, alternating sequences in such that if and only if:
- and ;
- If we have such that si and si + 1 are in different components, then . We will refer to this condition as the switching convention for tensor game.
- The par connective can be defined either as , or similarly to the tensor except that the switching convention is in favor of Player. We will refer to this as the switching convention for par game.
Strategies
Definition (Strategies)
A strategy for Player in a game A is defined as a subset satisfying the following conditions:
- σ is non-empty:
- Oponnent starts: If , λA(s1) = O;
- σ is closed by even prefix, i.e. if and , then ;
- Determinacy: If we have and , then a = b.