A π-calculus with preorders

Similar documents
Name-passing calculi: from fusions to preorders and types

Duality and i/o-types in the π-calculus

Models of Concurrency

Trace Refinement of π-calculus Processes

An introduction to process calculi: Calculus of Communicating Systems (CCS)

Formalising the π-calculus in Isabelle

A behavioural theory for a π-calculus with preorders

A Graph Rewriting Semantics for the Polyadic π-calculus

On Compensation Primitives as Adaptable Processes

Strong bisimilarity can be opened

Concurrent Processes and Reaction

Groupe de travail. Analysis of Mobile Systems by Abstract Interpretation

Advanced Process Calculi

Review of The π-calculus: A Theory of Mobile Processes

From CCS to Hybrid π via baby steps. Bill Rounds CSE, U of Michigan

The π-calculus Semantics. Equivalence and Value-Passing. Infinite Sums 4/12/2004

Nominal Completion for Rewrite Systems with Binders

On Böhm Trees and Lévy-Longo Trees in π-calculus

Business Process Management

Compositional Event Structure Semantics for the Internal π-calculus

Concurrency theory. proof-techniques for syncronous and asynchronous pi-calculus. Francesco Zappa Nardelli. INRIA Rocquencourt, MOSCOVA research team

Linear Forwarders. 1 Introduction. Philippa Gardner 1, Cosimo Laneve 2, and Lucian Wischik 2

Communication and Concurrency: CCS

FORMALISING THE π-calculus USING NOMINAL LOGIC

A Note on Scope and Infinite Behaviour in CCS-like Calculi p.1/32

page 1 Total ( )

Communication Errors in the π-calculus are Undecidable

Equations, contractions, and unique solutions

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980

A Canonical 1 Locally Named Representation of Binding. α -equivalence is identity. Randy Pollack. Masahiko Sato. LFCS, University of Edinburgh

Session Types Revisited

The Join calculus A calculus of mobile agents

Information Systems Business Process Modelling I: Models

On the coinductive nature of centralizers

On the Expressive Power of Global and Local Priority in Process Calculi

CS 395T. Probabilistic Polynomial-Time Calculus

Process Algebras and Concurrent Systems

Semantics and Verification

Formal Languages 2: Group Theory

Where Membrane Meet Complexes

Making the unobservable, unobservable

Interpreting the Full λ-calculus in the π-calculus

Complex Systems Design & Distributed Calculus and Coordination

Proof-Carrying Code in a Session-Typed Process Calculus

Solutions to Chapter Review Questions, Chapter 0

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either

Relating Nominal and Higher-Order Pattern Unification

Mathematical Logic. Reasoning in First Order Logic. Chiara Ghidini. FBK-IRST, Trento, Italy

Two-Dimensional Modal Logic

arxiv: v1 [cs.lo] 16 Apr 2018

Two-Dimensional Modal Logic

Parameterizations and Fixed-Point Operators on Control Categories

International Mathematical Olympiad. Preliminary Selection Contest 2017 Hong Kong. Outline of Solutions 5. 3*

Inquiry Calculus and the Issue of Negative Higher Order Informations

Final Review Sheet. B = (1, 1 + 3x, 1 + x 2 ) then 2 + 3x + 6x 2

Distributed Processes and Location Failures (Extended Abstract)

Psi-calculi: Mobile processes, nominal data, and logic

The Lambek-Grishin calculus for unary connectives

Propositional Calculus - Hilbert system H Moonzoo Kim CS Dept. KAIST

The π-calculus. From CCS to π-calculus. The π-calculus - Basic Ideas 4/1/2004. Overview Syntax Reaction, actions, and transitions

Duality and Automata Theory

Full abstraction for nominal exceptions and general references

Supplementary Notes on Inductive Definitions

The lambda calculus with constructors

On Expressiveness and Behavioural Theory of Attribute-based Communication

Proving Completeness for Nested Sequent Calculi 1

Encoding security protocols in the cryptographic λ-calculus. Eijiro Sumii Joint work with Benjamin Pierce University of Pennsylvania

Bicubical Directed Type Theory

hal , version 1-21 Oct 2009

On the asynchronous nature of the asynchronous π-calculus

Asterix calculus - classical computation in detail

Operational Semantics

On relational interpretation of multi-modal categorial logics

Propositional and Predicate Logic. jean/gbooks/logic.html

Fall Inverse of a matrix. Institute: UC San Diego. Authors: Alexander Knop

SMT 2018 Geometry Test Solutions February 17, 2018

Finitely Branching LTS s from Reaction Semantics for Process Calculi

Light Logics and Higher-Order Processes

Self-Adaptation and Information Flow in Multiparty Communications

Linear Algebra March 16, 2019

Concurrent Pattern Calculus

PROPOSITIONAL MIXED LOGIC: ITS SYNTAX AND SEMANTICS

Solutions I.N. Herstein- Second Edition

Postprint.

Nominal Unification. Key words: Abstract Syntax, Alpha-Conversion, Binding Operations, Unification

Recursive equations in higher-order process calculi

Adding and Scaling Points

First-Order Logic. Chapter Overview Syntax

Adjoint Logic and Its Concurrent Semantics

Chapter XI Novanion rings

Declarative event based models of concurrency and refinement in psi-calculi

Optimization problems on the rank and inertia of the Hermitian matrix expression A BX (BX) with applications

Event Structure Semantics of Parallel Extrusion in the pi-calculus

Relating State-Based and Process-Based Concurrency through Linear Logic

Constructions with ruler and compass.

T Reactive Systems: Temporal Logic LTL

2. Component Models: Interface Models by Streams

A FIRST COURSE IN LINEAR ALGEBRA. An Open Text by Ken Kuttler. Matrix Arithmetic

A Generic Type System for the Pi-Calculus

Transcription:

A π-calculus with preorders Daniel Hirschkoff, Jean-Marie Madiot, Davide Sangiorgi École Normale Supérieure de Lyon Università di Bologna PACE kick-off meeting, 2013-04-23 Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 1 / 23

Summary 1 π-calculus and fusions 2 Types in fusions 3 πp: a preorder on names 4 Types for πp 5 Encodings Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 1 / 23

π-calculus The π-calculus is a process calculus which is name-passing: P ::= 0 P Q!P a b.p a(x).p (νa)p a b.p a(x).q P Q[b/x] Examples: link =!a(x).b x spy =!a(x).(a x third x ) Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 2 / 23

Explicit fusions Non-binding input, construct = to equate names: P ::= 0 P Q!P a b.p a c.p (νa)p b = c a b.p a c.q P Q b = c (P a = b) (P [b/a] a = b) only one binder, simpler theory than π, outputs a b and inputs a b are of the same kind. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 3 / 23

Fusion-like calculi [Parrow, Victor, Fu, Wischik, Gardner,... ] Explicit fusions: a b.p a c.q P Q b = c (and custom ) Fusion calculus and χ-calculus contain these rules: (νc)(a b.p a c.q R) (P Q R)[b/c] (νb)(a b.p a c.q R) (P Q R)[c/b] Update calculus and asymmetric χ-calculus contain this rule: (νc)(a b.p a c.q R) (P Q R)[b/c] Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 4 / 23

Summary 1 π-calculus and fusions 2 Types in fusions 3 πp: a preorder on names 4 Types for πp 5 Encodings Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 4 / 23

Capability types (i/o-types) [Pierce Sangiorgi, 93] Types for names: T ::= 1 no capability it receive capability of T -values ot send capability of T -values T both capabilities Γ a : it Γ, x : T P Γ a(x).p Γ a : ot Γ b : T Γ P Γ a b.p Γ, a : T a : ot Γ, a : T a : it Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 5 / 23

Subtyping in i/o-types T 1 T 2 : a T 1 -name is also a T 2 -name. (easier to use, harder to provide) T it T ot T 1 T 2 it 1 it 2 T 1 T 2 ot 2 ot 1 T 1 T 2 : using T 1 -names is easier, it 1 it 2 : using channels that receive T 1 -names is easier. T 1 T 2 : providing T 1 -names is harder, ot 2 ot 1 : sending to channels that demand T 2 is easier. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 6 / 23

Typing issues in fusions It seems reasonable to have: b : a b c : i a c } globally, a : i but this implies by reduction that: c : i (νa)(νb)(b a b a c ) c : i c Fusion calculi break i/o-types as is: } Γ P P P Γ P. (formally, no subtyping used) Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 7 / 23

Origin of the problem Inputs can send (i.e. input objects replace other objects): u b (νa)(u a P ) P [b/a] The substitution P [b/a] suggests T b T a The i/o-types suggest T a T b Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 8 / 23

Sending inputs in update calculus Fusion calculus: output objects can be replaced: u b (νa)(u a P ) fu P [b/a] Update calculus: at first sight only inputs are replaced: but in fact, outputs can be, too: u b (νa)(u a P ) up P [b/a] u b (νac)(u c P v a v c ) up u b (νa)(u a P ) up P [b/a] Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 9 / 23

Sum up Theorem In a fusion-calculus where (νc)(a b.p a c.q) (P Q)[b/c], a regular type system will make subtyping essentially trivial, i.e. in a well-typed process Γ P, if Γ(a) Γ(b) we can exchange a and b anywhere in a process and it will stay well-typed: e.g. Γ P [a/b] and Γ P [b/a]. Main clash: fusions a = b induce an equivalence relation, subtyping is made symmetric, directed by substitutions. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 10 / 23

Summary 1 π-calculus and fusions 2 Types in fusions 3 πp: a preorder on names 4 Types for πp 5 Encodings Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 10 / 23

πp : π with preorder Idea: removing symmetry from fusions equivalence relation P ::= a b.p a b.p a/b (νa)p 0 P P!P an arc a/b makes a an alias of b: a can do what b can do b a a b is a free input prefix, symmetric of a b c a.p c b.q P a/b Q Details: arcs define the preorder, is as in π, ν is the only binder. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 11 / 23

Semantics C a b C[a c.p b d.q] C[P c/d Q] C a b : some name u can impersonate a and b. C a b iff u a u and b u. e.g. C = (νuv)(u/a u/v v/b ) Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 12 / 23

πp examples a/c (a c.p ) a/c P c/a (a c.p ) c/a P a c u/a u/c (a c.p ) u/a u/c P a c a/u c/u (a c.p ) (νx)(a/x b/x x) a.p 1 b.p 2 P 1... P 2... Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 13 / 23

πp : polarized fusions P ::= a/b a b.p a b.p P P!P 0 (νa)p Negative occurrences of b may affect other occurrences of b; In π, all negative positions are immediately bound: a(x).p = (νx)(a x.p ), P [b/x] = (νx)(p b/x). Extrapolating: if a appears: in 0 negative occurrence: a is a channel, in 1 negative occurrence: a is a variable, in 2+ negative occurrences: a is a concurrent binder. Polarity does not change along reduction; easy to check on the syntax. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 14 / 23

Some properties Modeling standard substitution: if x > 0 in P, (νx)(a/x P ) P [a/x], if x < 0 in P, (νx)(x/a P ) P [a/x], in any case, (νx)(x/a a/x P ) P [a/x], In the strong case, we have a LTS with simple labels (τ, ab, ab): P Q iff P Q E a b b, d not bound in E E[a c.p ] b d E[d/c P ] E a b b, d not bound in E E[a c.p ] b d E[c/d P ] P α R Q P R Q α P R Q P a/b R Q a/b P R Q P a b Q a b Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 15 / 23

Summary 1 π-calculus and fusions 2 Types in fusions 3 πp: a preorder on names 4 Types for πp 5 Encodings Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 15 / 23

Types for πp T ::= it ot T 1 T it T ot T 1 T 2 it 1 it 2 T 1 T 2 ot 2 ot 1 Γ P Γ(a) ot Γ(b) T Γ a b.p Γ P Γ(a) it Γ(b) T Γ a b.p Γ(a) Γ(b) Γ a/b like in the π-calculus constraint on b backwards Γ(b) T (Γ(a).. Γ(b)..) Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 16 / 23

Narrowing and polarities Usually we rely on narrowing... T 1 T 2 Γ, a : T 2 P } Γ, a : T 1 P Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 17 / 23

Narrowing and polarities Usually we rely on narrowing... Γ(a) Γ(b) Γ P } Γ P [a/b] Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 17 / 23

Narrowing and polarities Usually we rely on narrowing... Γ(a) Γ(b) Γ P } Γ P [a/b]... but it does not hold in πp: a:i, b:i, c: c (νx)(x a x b ) a:i, b:i, c: c (νx)(x c x b ) (c b/c) (can do b) Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 17 / 23

Properties of the type system We can make narrowing polarized: if Γ(a) Γ(b) then Γ P [b/x] Γ P [a/x] if x > 0 Γ P [a/x] Γ P [b/x] if x < 0 (In π, binders hide all negative occurrences hence narrowing is only positive) P ::= a/b a b.p a b.p P P!P 0 (νa)p This implies subject reduction: if P P and Γ P then Γ P. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 18 / 23

Summary 1 π-calculus and fusions 2 Types in fusions 3 πp: a preorder on names 4 Types for πp 5 Encodings Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 18 / 23

Encoding π πp is close to π (more than fusions and even update/χ) : a(x).p (νx)(a x.p ) And since a(x).p a b (νx)(p b/x) we would like : (νx)(p b/x) = P [b/x] Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 19 / 23

Encoding π πp is close to π (more than fusions and even update/χ) : a(x).p (νx)(a x.p ) And since a(x).p a b (νx)(p b/x) we would like : (νx)(p b/x) = P [b/x] Which holds if x is positive in P (True since P is a π-process). Remarks : full abstraction for Aπ (maybe for π), full abstraction for a subcalculus of πp. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 19 / 23

Encoding explicit fusions a = b = a/b b/a a b.p = (νu)a b, u.u b. P a c.q = (νv)a c, v.v c. Q a b.p a c.q b = c P Q a b.p a c.q (νuv)(b/c u/v u b. P v c. Q ) (νuv)(u/v b/c c/b P Q ) b = c P Q Operational correspondence: P P P P P Q P P Q P Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 20 / 23

Encoding implicit fusions a b.p = (νu)a b, u.u b. P a c.q = (νv)a c, v.v c. Q Operational correspondence: a b.p a c.q (b/c c/b) P Q a b.p a c.q {b=c} P Q P P P P { P P Q τ P P {a=b} P Q P Q P a/b b/a Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 21 / 23

The χ-calculus Rules of (symmetric) χ: (νx)(a[x].p a[y].q R) χ P [y/x] Q[y/x] R[y/x] (νx)(a[x].p a[y].q R) χ P [y/x] Q[y/x] R[y/x] Encoding into πp: a b.p = (νu)a b, u.u b. P a c.q = (νv)a c, v.v c. Q P χ P P = P { P P 1 P [y/x] χ P P τ χ P Asymmetric χ: not sure how. (νx)p 1 = P P 1 = P P [y/x] P (νx)p τ P Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 22 / 23

Conclusion Fusions: behavioural theory scales from π, types do not! A refinement of fusions, πp: has a preorder instead of an equivalence, preserves π s types, also, has a real notion of restriction. Now: weak case of the theory, extensions (e.g. what matching would be), abstract machine ( fusion machine). Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 23 / 23

Thank you for your time.

Private names This π process has some private names: (νab)(int server a list server b c a, b.p...) In other (algebraic) words: (νab)u a, b.(a b) (νab)u a, b.(a.b + b.a) Which does not hold in the case of fusions: u d, d (νab)u a, b.(a b) u d, d (νab)u a, b.(a.b + b.a) (d d) (d.d + d.d) Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 24 / 23

Modelisation in fusions A bad client fusing names: c d, d (νab)(int server a list server b c a, b.p...) Modelisation is more difficult using fusions than π: we lack private names, we lack types (beyond simple types). Fusions calculi are too pure for modelisation....is there a similar calculus that keeps these good properties of π? Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 25 / 23

Private names in πp If a is not negative in P then it is private in (νa)p. In fusions: (νab)(p u a, b ) u d, d (νab)(p a = d b = d). In πp a and b are not compromised: (νab)(p u a, b ) u d, d (νab)(p a/d b/d). In πp the law holds: (νab)u a, b.(a b) (νab)u a, b.(a.b + b.a). Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 26 / 23

The χ-calculus Symmetric χ-calculus (1,2) fusion calculus Asymmetric χ-calculus (1) update calculus (νx)(a[x].p a[y].q R) χ P [y/x] Q[y/x] R[y/x] (1) (νx)(a[x].p a[y].q R) χ P [y/x] Q[y/x] R[y/x] (2) Even in (1) alone input objects are being rewritten, e.g.: (νxzb)(b[x] b[z].a[z] a[y] R) χ (νx)(a[x] a[y] R) χ R[y/x] Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 27 / 23

Fusions: an equivalence relation on names condition effect a c.p b(x).q P Q[c/x] π syntactic equality syntactic replacement a = b x c a c.p b d.q P Q c = d fusions equivalence relation equivalence modification a b c d Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 28 / 23

Fusions: an equivalence relation on names condition effect a c.p b(x).q P Q[c/x] π syntactic equality syntactic replacement a = b x c a c.p b d.q P Q c = d fusions equivalence relation equivalence modification a b c d a c.p b d.q P Q c/d πp preorder preorder modification a b c d Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 28 / 23

Two semantics Eager semantics By-need semantics a b.p a c.q P b/c Q a c.p b/a b c.p b/a a c.p b/a b c.p b/a C u/a and C u/b C[a c.p b d.q] C[P c/d Q] Some remarks: a/b can act at any time, more τ-reductions ( ), easier to implement, a.a a a. Some remarks: a/b acts as late as possible, more τ-sensible (, ), more expressive, a.a a a. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 29 / 23

Typing πi: π with internal mobility [Sangiorgi, 96] Sending only fresh names. (Subcalculus of π) ((νx)ax.p ) a(x).q (νx)(p Q) simpler theory, expressiveness (π, λ); duality at the operational level: a(x).b(y).p = a(x).b(y).p, P P P P. But subtyping does not improve expressiveness. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 30 / 23

Typing πi: π with internal mobility [Sangiorgi, 96] Sending only fresh names. (Subcalculus of π) a(x).p a(x).q (νx)(p Q) simpler theory, expressiveness (π, λ); duality at the operational level: a(x).b(y).p = a(x).b(y).p, P P P P. But subtyping does not improve expressiveness. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 30 / 23

A maximal solution: π [Concur 12] The calculus π: has duality, symmetry, free input and output prefixes, has types, is a conservative extension of π. With the following drawbacks: not minimal (gotten by saturation of π), verbose, it is necessarily typed, no fusion constructor. Everything but the first item: remaining of this talk. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 31 / 23

Preservation of scope scope of the binders of b {}}{... b e... a b.p... c/b... c b... }{{} binders of b With usual substitution: scope of b {}}{ R (νb) (P... v b u b ) R (P [c/b]... v c ) c }{{} new scope of c scope of c {}}{ u c c This breaks subtyping, controling the binders helps controling the scope, πp preserves locality of binders. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 32 / 23

πi : π with internal mobility [Sangiorgi, 96] Sending only fresh names (subcalculus of π): ((νx)a x.p ) a(x).q (νx)(p Q) expressive system (λ, π), simpler theory, the natures of a(x) and a(x) are similar. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 33 / 23

πi : π with internal mobility [Sangiorgi, 96] Sending only fresh names (subcalculus of π): a(x).p a(x).q (νx)(p Q) expressive system (λ, π), simpler theory, the natures of a(x) and a(x) are similar. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 33 / 23

Trying to invent typing rules Fusions are two-way substitutions: P b = c P [c/b] b = c P [b/c] b = c which trivializes subtyping: Γ b = c implies (Γ P Γ P [c/b]), which suggests Γ(c) Γ(b) (and thus Γ(b) = Γ(c)), hence (Γ a b a c ) Γ(b) = Γ(c), so in Γ(a) =? ot 1 Γ(b) =? T 2, Γ(a) should know T 2. Γ a b Intuition: there is no subtyping as we know it. Formally: impossibility result. Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 34 / 23

Impossibility result If we have 1 free inputs and outputs a b and a b, 2 (νc)(a b.p a c.q) (P Q)[b/c], 3 judgments like Γ P, 4 compositionality (Γ P ; Γ Q Γ P Q et Γ\a (νa)p ), 5 weakening, strengthening, 6 stability by injective name substitution, 7 narrowing : Γ, a : T P and U T implies Γ, a : U P then there are some Γ, P, P such that : Γ P P P Γ P Jean-Marie Madiot (Lyon, Bologna) A π-calculus with preorders April 2013 35 / 23