Categorical combinatorics of scheduling and synchronization in game semantics Paul-André Melliès Institut de Recherche en Informatique Fondamentale (IRIF) CNRS & Université Paris Diderot ACM Symposium on Principles of Programming Languages 16 Ñ 19 January 2019 Cascais POPL ’19 � �
Categorical combinatorics of scheduling and synchronization in game semantics Paul-André Melliès Institut de Recherche en Informatique Fondamentale (IRIF) CNRS & Université Paris Diderot ACM Symposium on Principles of Programming Languages 16 Ñ 19 January 2019 Cascais POPL ’19 � �
Understanding logic in space and time What are the principles at work in a dialogue?
Understanding logic in space and time What are the principles at work in a dialogue?
Understanding logic in space and time What are the principles at work in a dialogue?
Purpose of this talk: Understand how different proofs and programs may be ˝ combined together in space ˝ synchronized together in time in the rich and modular ecosystem provided by linear logic.
Purpose of this talk: Understand how different proofs and programs may be ˝ combined together in space ˝ synchronized together in time in the rich and modular ecosystem provided by game semantics.
Template games Categorical combinatorics of synchronization
The category of polarities We introduce the category � game freely generated by the graph O xay x‘y P the category � game will play a fundamental role in the talk
Template games First idea: Define a game as a category A equipped with a functor A λ A � game to the category � game freely generated by the graph O xay x‘y P Inspired by the notion of coloring in graph theory
Positions and trajectories It is convenient to use the following terminology Ø objects positions Ø morphisms trajectories and to see the category A as an unlabelled transition system.
The polarity functor The polarity functor λ A : A � game assigns a polarity ‘ or a to every position of the game A . A position a P A is called Definition. λ A p a q “ ‘ Player when its polarity is positive λ A p a q “ a Opponent when its polarity is negative
Opponent moves Definition. An Opponent move a ‘ b a m : is a trajectory of the game A transported to the edge x‘y xay O : of the template category � game .
Player moves Definition. A Player move a a b ‘ m : is a trajectory of the game A transported to the edge xay x‘y P : of the template category � game .
Silent trajectories Definition. A silent move m : a b is a trajectory of the game A transported to an identity morphism x‘y x‘y id x‘y : xay xay id xay : of the template category � game .
The template of strategies Categorical combinatorics of synchronization
The template of strategies In order to describe the strategies between two games | : A B σ we introduce the template of strategies � strat defined as the category freely generated by the graph O t P s xa , ay x‘ , ay x‘ , ‘y O s P t
The template of strategies Each of the four labels O s P s O t P t describes a specific kind of Opponent and Player move O s : Opponent move played at the source game P s : Player move played at the source game O t : Opponent move played at the target game P t : Player move played at the target game which may appear on the interactive trajectory played by a strategy | : A B . σ
The template of strategies The four generators P s O t xa , ay x‘ , ay x‘ , ‘y P t O s of the category � strat may be depicted as follows: P O O P s t s t
The template of strategies In that graphical notation, the sequence O t ¨ P s ¨ O s ¨ P t is depicted as O t P s O s P t
The template of strategies The category � strat comes equipped with a span of functors s “p 1 q t “p 2 q � game � strat � game defined as the projection s “ p 1 q on the first component: O s ÞÑ P P s ÞÑ O xa , ay ÞÑ xay O t , P t ÞÑ id x‘y x‘ , ay , x‘ , ‘y ÞÑ x‘y and as the projection t “ p 2 q on the second component: O t ÞÑ O P t ÞÑ P x‘ , ‘y ÞÑ x‘y O s , P s ÞÑ id xay xa , ay , x‘ , ay ÞÑ xay
The template of strategies The two functors s and t are illustrated below: O O t P O s source target O P s P P t
Strategies between games Second idea: Define a strategy between two games | σ : A B as a span of functors s t A S B together with a scheduling functor λ σ S � strat
Strategies between games making the diagram below commute s t A S B λ A λ σ λ B s t � game � strat � game Key idea: Every trajectory s P S induces a pair of trajectories s A P A and s B P B . The functor λ σ describes how s A and s B are scheduled together by σ .
Support of a strategy Terminology. The category S defining the span s t A S B is called the support of the strategy A B σ : Basic intuition: « the support S contains the trajectories played by σ »
A typical scheduling B ¨ A ¨ A ¨ B A trajectory s P S of the strategy σ with schedule O t P s O s P t x‘ , ‘y x‘ , ay xa , ay xa , ‘y x‘ , ‘y is traditionally depicted as σ A B first move m 1 of polarity O t m 1 second move n 1 of polarity P s n 1 third move m 2 of polarity O s m 2 fourth move n 2 of polarity P t n 2
A typical scheduling B ¨ A ¨ A ¨ B Thanks to the approach, one gets the more informative picture: m : O t : n P s m : O s n : P t
Simulations Definition: A simulation between strategies | θ : σ τ : A B is a functor from the support of σ to the support of τ θ : S T making the three triangles commute θ θ θ S T S T S T s s t t λ σ λ τ � game � game � strat
The category of strategies and simulations Suppose given two games A and B . The category Games p A , B q has strategies between A and B | : A B σ, τ as objects and simulations between strategies | θ : σ τ : A B as morphisms.
The bicategory Games A bicategory of games, strategies and simulations
The bicategory Games of games and strategies At this stage, we want to turn the family of categories Games p A , B q into a bicategory Games of games and strategies.
The bicategory Games of games and strategies To that purpose, we need to define a composition functor ˝ A , B , C : Games p B , C q ˆ Games p A , B q Games p A , C q which composes a pair of strategies | | σ : A B τ : B C into a strategy σ ˝ A , B , C τ | : A C
Composition of strategies The construction starts by putting the pair of functorial spans side by side: S T s t s t λ τ λ σ A B C � strat � strat λ A λ B λ C s s t t � game � game � game Fine, but how shall one carry on and perform the composition?
The template of interactions Third idea: We define the template of interactions � int as the category obtained by the pullback diagram below � int π 1 π 2 pb � strat � strat s t s t � game � game � game
The template of interactions Somewhat surprisingly, the category � int is simple to describe, as the free category generated by the graph O | P O t P s xa , a , ay x‘ , a , ay x‘ , ‘ , ay x‘ , ‘ , ‘y P t O s P | O with four states or positions.
The template of interactions The six generators O | P O t P s xa , a , ay x‘ , a , ay x‘ , ‘ , ay x‘ , ‘ , ‘y P t O s P | O may be depicted as follows: O P O t Ps Os Pt P O
The template of interactions A typical sequence of interactions is thus depicted as follows: O t O P Ps Os P O Pt
Key observation The template � int of interactions comes equipped with a functor hide : � int � strat which makes the diagram below commute: p 12 q p 23 q � strat � int � strat p 1 q p 2 q hide s “p 1 q t “p 2 q � game � strat � game and thus defines a map of span.
Key observation The functor hide : � int � strat is defined by projecting the positions of the interaction category x ε 1 , ε 2 , ε 3 y on their first and third components: xa , a , ay ÞÑ xa , ay O s ÞÑ O s P s ÞÑ P s x‘ , a , ay , x‘ , ‘ , ay ÞÑ x‘ , ay O | P , P | O ÞÑ id x‘ , ay x‘ , ‘ , ‘y ÞÑ x‘ , ‘y O s ÞÑ O s P s ÞÑ P s
Illustration O t O t id O P Ps Ps P s hide Os Os O s id P O P Pt t
Composition of strategies S ˆ B T π 1 π 2 π 2 λ σ } λ τ S T � int π 1 π 2 s t λ σ λ τ A C hide � strat � strat s t λ A λ C s t � game � strat � game
Composition of strategies This definition of composition implements the slogan that composition = synchronization + hiding
What about identities? There exists a functor copycat : � game � strat which makes the diagram commute: � game id id copycat � game � game s “p 1 q t “p 2 q � strat and thus defines a morphism of spans.
What about identities? The functor copycat : � game � strat is defined by duplicating the positions of the polarity category x ε y in the following way: xay ÞÑ xa , ay O ÞÑ O t ¨ P s x‘y ÞÑ x‘ , ‘y P ÞÑ O s ¨ P t
Recommend
More recommend