Document Sample

1/38 Modeling induction and co-induction: from parity games to game semantics Pierre Clairambault e PPS — CNRS & Universit´ Paris 7 Dagstuhl seminar on game semantics and veriﬁcation 2/38 I. µ-calculus and parity games 3/38 µ-calculus s, t ::= x | s ∧ t | s ∨ t | µx.t | νx.t | ⊥ | “The µ-calculus is basically an algebra of monotonic functions over a complete lattice, whose basic constructors are functional composition and least and greatest ﬁxed point operators.” n Rudiments of µ-calculus, Arnold & Niwi´ski 4/38 Curry-Howard for the µ-calculus Veriﬁcation: µ-terms are logical propositions. Considered with modalities φ and ♦φ Does M |= φ ? Model checking decidable for several classes of models Semantics: µ-terms are data types. : (m, n) : a ∧ b if m : a and n : b (i, m) : a ∨ b if i = 1 and m : a or i = 2 and m : b m : µx.t if there is n such that m : t n (⊥) m : νx.t if m : t ω (⊥) And parity games provide a game semantics for µ-terms! 5/38 Parity games Two players : Adam ( ) and Eve (♦). Deﬁnition A parity game is a tuple (MA , λA , →A , iA , rA ) where: MA is a set of positions λA : MA → { , ♦} is a polarity function →A ⊆ MA × MA is the set of moves iA ∈ MA is the initial position rA : MA → N is a priority function A ﬁnite play m0 , . . . , mn is won by Eve iﬀ λA (mn ) = . An inﬁnite play m0 , m1 , m2 , . . . is won by Eve iﬀ limsupi→+∞ rA (mi ) is even. 6/38 Example 7/38 From µ-terms to parity games 8/38 From µ-terms to parity games where n is the highest even priority where n is the highest odd priority 9/38 Parity games are already a complete game semantics inftree = νx.µy . ∨ (x ∧ y ) Every winning strategy encodes data of the corresponding type Every parity game comes from a µ-term Could we also handle function space? Composition? Let us ﬁrst investigate the proof theory of µ-calculus with implication. 10/38 II. Game semantics of induction and co-induction II.1 A logic with fixpoints : µLJ 11/38 µLJ = LJ + µ-calculus Formulas are built by the following grammar: S, T ::= S ⇒ T | S + T | S × T | µX .T | νX .T | X | 1 | 0 Bound type variables have to occur positively Examples bool = 1+1 nat = µX .1 + X list(A) = µX .1 + A × X tree = µX .(µY .1 + X × Y ) fin aut = Q ⇒ (bool × (Σ ⇒ Q)) lang = νX .bool × (Σ ⇒ X ) ? = µX .((X ⇒ bool) ⇒ bool) 12/38 Weak µLJ Deduction rules are the rules of LJ, plus : Fixpoints Γ T [µX .T /X ] T [A/X ] A µr µl Γ µX .T µX .T A Γ, T [νX .T /X ] B A T [A/X ] νl νr Γ, νX .T B A νX .T Functors A B B A [T ] [N] T (A) T (B) N(A) N(B) 13/38 Cut reduction π2 π1 π2 T [A/X ] A µl Γ T [µX .T /X ] T [A/X ] A π1 µX .T A µr µl [T ] Γ µX .T µX .T A Γ T [µX .T /X ] T [µX .T /X ] T [A/X ] π2 Cut Cut Γ A Γ T [A/X ] T [A/X ] A Cut Γ A Termination, but no cut elimination! Cut elimination in µLJ ω 14/38 Models of µLJ Any cartesian closed category (with weak coproducts) supports a partial interpretation of open µLJ formulas as functors. Deﬁnition The partial interpretation − is deﬁned by induction on formulas as follows. S ×T = S × T S +T = S + T S ⇒T = S ⇒ T µX .T is (if deﬁned) the parametrized initial algebra of T νX .T is (if deﬁned) the parametrized terminal coalgebra of T A category C is weak µ-closed iﬀ − is total in [C, C]. Any weak µ-closed category is a sound model for µLJ. 15/38 II.2 Arena games 16/38 Winning HO games Two players : Adam ( ) Opponent (O) and Eve (♦) Player (P) Deﬁnition A parity game arena is a tuple (MA , λA , A , IA ) where: MA is a set of positions moves λA : MA → {O, P} is a polarity function →A ⊆ MA × MA is the set of moves enabling relation (alternating) IA ∈ MA is the initial position set of initial moves (Opponent moves) rA : MA → N is a priority function (we will introduce winning later) 17/38 HO/N setting: players can backtrack 17/38 HO/N setting: players can backtrack 17/38 HO/N setting: players can backtrack 17/38 HO/N setting: players can backtrack 17/38 HO/N setting: players can backtrack 17/38 HO/N setting: players can backtrack 18/38 Arena constructions Games are now negative, and alternating. 19/38 A category of games and strategies This leads to a category of games where: Objets are arenas; Morphisms are strategies, i.e. sets of plays with backtrack; Composition is by communication plus hiding (CCS) Strategies are innocent. 20/38 Open functors, loops Three main constructions: Open Arenas: arenas with distinguished moves called holes, representing second order free variables. Open Functors: Each open arena A[X1 , . . . , Xn ] with n holes gives rise to a functor A[X1 , . . . , Xn ] : (I op × I)n → I Image of arenas: arena substitution; Image of a strategy σ: vertical composition of idA and σ. Loops: If A[X ] is an open arena where X is positive and not initial, we deﬁne the loop arena µX .A[X ]. 21/38 Loop construction We recover minimal invariants of open functors. 22/38 II.3 Winning in game semantics 23/38 Proofs and total strategies Proof systems Total programming languages (strongly) normalizing languages Normal forms Total strategies Deﬁnition A strategy σ : A is total if for all s ∈ σ, if sa is legal, there is b such that sab ∈ σ. → Interpret proofs as total strategies → Total strategies not stable under composition 24/38 Composition may not preserve totality A σ +3 B B τ +3 C • 24/38 Composition may not preserve totality A σ +3 B B τ +3 C • • • 24/38 Composition may not preserve totality A σ +3 B B τ +3 C • • • • 24/38 Composition may not preserve totality A σ +3 B B τ +3 C • • • • • 24/38 Composition may not preserve totality A σ +3 B B τ +3 C • • • • • • • 24/38 Composition may not preserve totality A σ +3 B B τ +3 C • • • • • • • • • 24/38 Composition may not preserve totality A σ +3 B B τ +3 C • • • • • • • • • • • 24/38 Composition may not preserve totality A σ +3 B B τ +3 C • • • • • • • • • • • • • • • • • • • ... ... 24/38 Composition may not preserve totality A σ;τ +3 C • • • 25/38 Winning HO games Two players : Opponent (O) and Player (P) Deﬁnition A game is a tuple (MA , λA , →A , IA , GA ) where: (MA , λA , →A , IA ) is an arena GA : Lω → {W , L} is a winning function A A (possibly) inﬁnite play s ∈ Lω is won by Player if A GA (s) = W 26/38 Game constructions Winning is adapted to arena constructions. GA×B (s) = W ⇔ GA (s A ) = W ∧ GB (s B ) = W (&) GA+B (s) = W ⇔ GA (s A ) = W ∧ GB (s B ) = W (⊕) 27/38 Game constructions GA⇒B (s) = W ⇔ GA (s A ) = W ⇒ G (s B ) = W 28/38 Consequences of winning A strategy σ : A is winning if ∀s ∈ω σ, GA (s) = W . Inﬁnite interactions are impossible between winning strategies Total winning strategies are stable under composition Open functors are easily generalized in the winning setting. 29/38 II.4 Fixed points 30/38 Least ﬁxed point. GµX .A[X ] (s) = W if and only if both these condi- tions are satisﬁed: There is n ∈ N such that no path of s crosses the external more than N times, and GA[X ] (s A ) = W (µX .A[X ], idµX .A[X ] ) deﬁnes an initial algebra for A[X ]. 31/38 Least ﬁxed point T(σ † ) T(µX .T) / T(A) i = σ µT /A σ† T3 (σ) T2 (σ) σ† = ... / T3 (A) / T2 (A) T(σ) / T(A) σ /A σ (1) = σ (n+1) σ = Tn (σ); σ (n) σ† = {s ∈ LµX .T⇒A | ∃n ∈ N∗ , s ∈ σ (n) } 32/38 Greatest ﬁxed point. GνX .A[X ] (s) = W if and only if one of these condi- tions are satisﬁed: For any bound N ∈ N, there is a path of s crossing the external loop more than N times, or GA[X ] (s A ) = W (νX .A[X ], idνX .A[X ] ) deﬁnes a terminal coalgebra for A[X ]. 33/38 We get a model of µLJ, but. . . Strong µLJ is needed for the interpretation of a programming language. Fixpoints Γ T [µX .T /X ] Γ, T [A/X ] A µr µl Γ µX .T Γ, µX .T A Γ, T [νX .T /X ] B Γ, A T [A/X ] νl νr Γ, νX .T B Γ, A νX .T Functors Γ, A B Γ, B A [T ] [N] Γ, T (A) T (B) Γ, N(A) N(B) Requires a machinery of strong covariant and contravariant functors. 34/38 III. Further properties and future work 35/38 Completeness No completeness: there is a winning σ : nat ⇒ bool solving the halting problem. Inﬁnite deﬁnability in µLJ ω Finite deﬁnability if µ is only positive/ ν only negative. ⇒ is there some characterisation of deﬁnable proofs (some recursion scheme) ? 36/38 Faithfulness Consider the following programs: let rec iter f n b = if n = 0 then b else iter f (n-1) (f b) let rec iter’ f n b = if n = 0 then b else not (iter’ f (n-1) (f (not b))) not (iter f n (not b)) G = iter f n b G But they cannot be convertible to each other. No rule for uniqueness of iteration! 37/38 Faithfulness Conjecture π1 G = π2 G iﬀ for all C µ-closed, π1 C = π2 C . Corollary Given π1 and π2 , it is undecidable wether π1 G = π2 G 38/38 Future investigations Question Is it decidable wether a term generated by general recursion gives rise to a winning strategy? No. But in some restricted language? Question Is there a “regular” class of terms stable under composition, where equality of corresponding strategies and of winning are decidable?

DOCUMENT INFO

Shared By:

Categories:

Tags:

Stats:

views: | 4 |

posted: | 3/27/2013 |

language: | Unknown |

pages: | 51 |

OTHER DOCS BY ajizai

How are you planning on using Docstoc?
BUSINESS
PERSONAL

By registering with docstoc.com you agree to our
privacy policy and
terms of service, and to receive content and offer notifications.

Docstoc is the premier online destination to start and grow small businesses. It hosts the best quality and widest selection of professional documents (over 20 million) and resources including expert videos, articles and productivity tools to make every small business better.

Search or Browse for any specific document or resource you need for your business. Or explore our curated resources for Starting a Business, Growing a Business or for Professional Development.

Feel free to Contact Us with any questions you might have.