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

Size: px
Start display at page:

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

Transcription

1 An introduction to process calculi: Calculus of Communicating Systems (CCS) Lecture 2 of Modelli Matematici dei Processi Concorrenti Paweł Sobociński University of Southampton, UK Intro to process calculi: CCS p.1/25

2 Introduction In the first lecture we discussed behavioural preorders and equivalences, in particular bisimilarity. This lecture is an introduction to a well-known process-calculus, the Calculus of Communicating Systems (CCS) introduced by Robin Milner in the early 1980 s. Process calculi: a pseudo-programming language which usually focuses on a small language feature; usually try to eliminate syntactic sugar and extra programmer-friendly features; idea is to isolate basic principles and reasoning techniques. Intro to process calculi: CCS p.2/25

3 CCS focuses on a very simple paradigm of synchronous handshakes. processes a?p and a!q, when executing in parallel (a?p a!q); can synchronise their execution by synchronising on channel a; after the synchronisation continue as P and Q, respectively; a?p a!q P Q; Intro to process calculi: CCS p.3/25

4 CCS syntax Assume that we have a set of names A and a countable set of process variables. P ::= 0 a?p a!p P P P + P νap X µx.p NB. sometimes a?p is written ap and a!p is written ap. In early texts νap is written P \a. a?p : input on a and proceed as P ; a!p : output on a and proceed as P ; τp : perform an internal reduction and proceed as P ; P 1 P 2 : put P 1 and P 2 in parallel; P 1 + P 2 : act either as P 1 or as P 2 ; νap : treat a as a local channel visible only in P ; Intro to process calculi: CCS p.4/25

5 Recursion Infinite behaviour can be added to CCS in several (nonequivalent) ways. P ::=... X µx.p The expression µx.p stands for treats the X as a recursive variable in P. Idea: µx.a?x a?a?...; µx.p X P P...; µx.a!(b?x + c?x)? Intro to process calculi: CCS p.5/25

6 Contexts and Congruences Definition 1 (Contexts). C ::= P C C P C + P P + C νac a?c a!c Definition 2 (Substitution). Given a term P and a context C, let C[P] denote the term obtained by substituting P for. Free names may be captured! Definition 3. A relation R on the terms of CCS is said to be a congruence when P RQ σ(p)rσ(q) for all operations σ of CCS. More formally, if PRQ then C[P]RC[Q] for all contexts C. Intro to process calculi: CCS p.6/25

7 Structural congruence P Q denotes the same system as Q P ; We quotient the raw syntax via a relation which is a congruence with respect to the operations of CCS. Definition 4 (SC). Let be the smallest congruence which includes the following: (P Q) R P (Q R) P Q Q P P 0 P (P + Q) + R P + (Q + R) P + Q Q + P P + 0 P νa(p Q) (νap) Q (a / Q) νap νbp[b/a] (b / P) µx.p P[µX.P/X] Remark 5. Contexts are not quotiented by SC. This is because we want the contexts to have the power to bind. Intro to process calculi: CCS p.7/25

8 Reduction semantics 1 Idea, basic reduction: a?p 1 + P 2 a!q 1 + Q 2 P 1 Q 1 Letting l a,p1,p 2,Q 1,Q 2 def = a?p 1 + P 2 a!q 1 + Q 2 r a,p1,p 2,Q 1,Q 2 def = P 1 Q 1 we want, for all a,p 1,P 2,Q 1,Q 2 l a,p1,p 2,Q 1,Q 2 r a,p1,p 2,Q 1,Q 2 Intro to process calculi: CCS p.8/25

9 Reduction semantics 2 But parallel composition shouldn t inhibit reduction, so that if P P then for all Q we should also have P Q P Q. Similarly, νap νap. Evaluation contexts: E ::= P νa Definition 6. P P iff a,p 1,P 2,Q 1,Q 2 and evaluation context E such that P E[l a,p1,p 2,Q 1,Q 2 ] and P E[r a,p1,p 2,Q 1,Q 2 ]. Intro to process calculi: CCS p.9/25

10 SOS There is a useful way of presenting the reduction semantics using structural operational semantics (SOS). a?p 1 +P 2 a!q 1 +Q 2 P 1 Q 1 P P P Q P Q P P νap νap The rules above generate a transition system (which we can think of as an LTS with only one label); we will refer to this as the reduction transition system. Intro to process calculi: CCS p.10/25

11 Examples s s s c t c t M 1 def = s?(c! + t!) M 2 def = s?c! + s?t! Coffee drinker C 1 def = s!c?0; Simulation 1: C 1 M 1 c?0 (c!0 + t!0) 0 Simulation 2: C 1 M 2 c?0 t!0 Intro to process calculi: CCS p.11/25

12 Process equivalence? What is a good notion of process equivalence? we can try bisimilarity on the reduction LTS... but then, for instance, a!p b!p. In fact, all processes which do not reduce are bisimilar. Clearly, this is not sufficient. Intro to process calculi: CCS p.12/25

13 Contextual equivalence A canonical process equivalence for a process language is contextual equivalence. The idea originally arose in the theory of the λ-calculus. Idea: Processes P and Q can be distinguished if in some context C they behave differently. we can try taking the largest bisimulation which is also a congruence; this almost works, the problem is that processes which can always reduce are equated; Intro to process calculi: CCS p.13/25

14 Reduction barbed congruence One sensible definition of a contextual equivalence for CCS is reduction barbed congruence. Definition 7. A barb is a basic observation. In CCS it makes sense to take the instantaneous ability to input or output on a name. We say that P a iff P νk(a!p 1 + P 2 P 3 ) or P νk(a?p 1 + P 2 P 3 ) and a / k. Definition 8. Reduction barb congruence Let = be the largest equivalence relation which is a congruence; barb-closed: if P = Q and P a then Q a ; reduction-closed: if P = Q and P P then Q, Q Q and Q = Q (for all contexts C, C[P] = C[Q], bisimulation on the reduction LTS) Intro to process calculi: CCS p.14/25

15 Examples Claim 9 (Firewall). νa.a! = 0. Proof.? Intro to process calculi: CCS p.15/25

16 Problems with contextual equivalence = is a priori defined to be a congruence; thus, in principle, to check that P = Q we have to have a proof which takes into account an infinite number of arbitrarily complex contexts C Intro to process calculi: CCS p.16/25

17 LTS characterisation We will give a labelled transition system on which bisimulation characterises contextual equivalence, ie it is sound: =; it is complete: =. Intro to process calculi: CCS p.17/25

18 LTS for CCS a?p a? P (IN) a!p a! P (OUT) P a! P Q a? Q (TAU) P Q τ P Q P α P P Q α P Q (PAR) P α P νap α νap (a/ α) (NU) P P P α Q Q Q (STRCONG) P α Q Intro to process calculi: CCS p.18/25

19 Example Lemma 10 (Firewall). νa.a! 0 Proof. Obvious, since both sides do not have any transitions. Lemma 11 (Expansion). If a b then a? b! a?b! + b!a?. Proof. {(a? b!,a?b! + b!a?), (b!,b!), (a?,a?), (0, 0)} is a bisimulation. Intro to process calculi: CCS p.19/25

20 Proof of soundness Theorem 12. is a congruence. Proof. We ll do the case Q. We will prove that R = {(P 1 R,P 2 R),P 1 P 2 } is a bisimulation. Suppose that P 1 Q α R. We ll do the case α = τ. If P 1 τ P 1 and R P 1 Q then also P 2 τ P 2 such that P 1 P 2. Then P 2 Q τ P 2 Q, but (R,P 2 Q) R. The case Q τ Q such that R P 1 Q is similar. The other possibility is, P 1 a! P 1 and Q a? Q and R P 1 Q. But then P 2 a! P 2 such that P 1 P 2 and so P 2 Q τ P 2 Q. (note the case P 1 a? P 1, Q a! Q is symmetric) Intro to process calculi: CCS p.20/25

21 Congruent bisimilarities Having a congruent bisimilarity is quite useful because it allows the use of a familiar algebraic principle substituting equal for equal. It can also reduce the burden of constructing bisimulations since bisimulations can be deconstructed: Example 13. If P 1 Q 1 and P 2 Q 2 then P 1 P 2 Q 1 Q 2. Proof. P 1 P 2 Q 1 P 2 Q 1 Q 2. Intro to process calculi: CCS p.21/25

22 Proof of soundness Lemma 14. P a iff P a! or P a?. Lemma 15. P τ P iff P P. Theorem 16. =. Proof. Recall that = is defined to be the largest barb and reduction closed congruence. is reduction and barbed closed (the two lemmas) and is a congruence. Hence =. Intro to process calculi: CCS p.22/25

23 Proof of completeness Theorem 17. =. We need to make sure that the label transitions do not observe too much about the processes. Hence for each label α, we ll find a context which observes the label. Intro to process calculi: CCS p.23/25

24 Weak equivalences Weak in the jargon of process calculists means that internal reductions are not observable. Definition 18 (Weak bisimulation). A relation R is a weak bisimulation when PRQ and P τ P then Q τ Q PRQ and P α P (α τ) then Q τ α τ Q ; the symmetric versions of the above hold. Definition 19. We will write τp for νa(a! a?p) where a is fresh for P. Example 20. τa! a!. Intro to process calculi: CCS p.24/25

25 Weak bisimilarity not a congruence The counterexample is very simple, we have τa! a!, but τ a!+b! a!+b!. Weak bisimilarity behaves better with respect to other operators. Intro to process calculi: CCS p.25/25

Concurrent Processes and Reaction

Concurrent Processes and Reaction Concurrent Processes and Reaction Overview External and internal actions Observations Concurrent process expressions Structural congruence Reaction References Robin Milner, Communication and Concurrency

More information

Models of Concurrency

Models of Concurrency Models of Concurrency GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Thanks to Frank Valencia Models of Concurrency p.1/57 Concurrency is Everywhere Concurrent

More information

MAKING THE UNOBSERVABLE, UNOBSERVABLE.

MAKING THE UNOBSERVABLE, UNOBSERVABLE. MAKING THE UNOBSERVABLE, UNOBSERVABLE. 3 PAPERS FROM THE LAST 365 DAYS AVAILABLE TO READ NOW ON YOUR COMPUTER PAWEL SOBOCINSKI AND JULIAN RATHKE GO TO www.ecs.soton.ac.uk/~ps/publications.php Plan of the

More information

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

A Note on Scope and Infinite Behaviour in CCS-like Calculi p.1/32 A Note on Scope and Infinite Behaviour in CCS-like Calculi GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Joint work with Pablo Giambiagi and Frank Valencia A

More information

Making the unobservable, unobservable

Making the unobservable, unobservable ICE 2008 Making the unobservable, unobservable Julian Rathke ecs, University of Southampton awe l Sobociński 1 ecs, University of Southampton Abstract Behavioural equivalences of various calculi for modelling

More information

Semantics and Verification

Semantics and Verification Semantics and Verification Lecture 2 informal introduction to CCS syntax of CCS semantics of CCS 1 / 12 Sequential Fragment Parallelism and Renaming CCS Basics (Sequential Fragment) Nil (or 0) process

More information

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

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980 Communication and Concurrency: CCS R. Milner, A Calculus of Communicating Systems, 1980 Why calculi? Prove properties on programs and languages Principle: tiny syntax, small semantics, to be handled on

More information

Communication and Concurrency: CCS

Communication and Concurrency: CCS Communication and Concurrency: CCS R. Milner, A Calculus of Communicating Systems, 1980 cours SSDE Master 1 Why calculi? Prove properties on programs and languages Principle: tiny syntax, small semantics,

More information

Equations, contractions, and unique solutions

Equations, contractions, and unique solutions Equations, contractions, and unique solutions Davide Sangiorgi To cite this version: Davide Sangiorgi. Equations, contractions, and unique solutions. POPL 2015 - Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT

More information

Strong bisimilarity can be opened

Strong bisimilarity can be opened Strong bisimilarity can be opened Henning E. Andersen Hans Hüttel Karina N. Jensen June 7, 2002 Abstract We present an extension of the semantics of the π-calculus without match where strong bisimilarity

More information

Trace Refinement of π-calculus Processes

Trace Refinement of π-calculus Processes Trace Refinement of pi-calculus Processes Trace Refinement of π-calculus Processes Manuel Gieseking manuel.gieseking@informatik.uni-oldenburg.de) Correct System Design, Carl von Ossietzky University of

More information

The Calculus of Communicating Systems

The Calculus of Communicating Systems The Calculus of Communicating Systems Wolfgang Schreiner Research Institute for Symbolic Computation (RISC-Linz) Johannes Kepler University, A-4040 Linz, Austria Wolfgang.Schreiner@risc.uni-linz.ac.at

More information

Formalising the π-calculus in Isabelle

Formalising the π-calculus in Isabelle Formalising the π-calculus in Isabelle Jesper Bengtson Department of Computer Systems University of Uppsala, Sweden 30th May 2006 Overview This talk will cover the following Motivation Why are we doing

More information

A π-calculus with preorders

A π-calculus with preorders 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)

More information

Formal Techniques for Software Engineering: CCS: A Calculus for Communicating Systems

Formal Techniques for Software Engineering: CCS: A Calculus for Communicating Systems Formal Techniques for Software Engineering: CCS: A Calculus for Communicating Systems Rocco De Nicola IMT Institute for Advanced Studies, Lucca rocco.denicola@imtlucca.it June 2013 Lesson 10 R. De Nicola

More information

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

Concurrency theory. proof-techniques for syncronous and asynchronous pi-calculus. Francesco Zappa Nardelli. INRIA Rocquencourt, MOSCOVA research team Concurrency theory proof-techniques for syncronous and asynchronous pi-calculus Francesco Zappa Nardelli INRIA Rocquencourt, MOSCOVA research team francesco.zappa nardelli@inria.fr together with Frank

More information

COSE212: Programming Languages. Lecture 1 Inductive Definitions (1)

COSE212: Programming Languages. Lecture 1 Inductive Definitions (1) COSE212: Programming Languages Lecture 1 Inductive Definitions (1) Hakjoo Oh 2017 Fall Hakjoo Oh COSE212 2017 Fall, Lecture 1 September 4, 2017 1 / 9 Inductive Definitions Inductive definition (induction)

More information

Recursion in Coalgebras

Recursion in Coalgebras Recursion in Coalgebras Mauro Jaskelioff mjj@cs.nott.ac.uk School of Computer Science & IT FoP Away Day 2007 Outline Brief overview of coalgebras. The problem of divergence when considering unguarded recursion.

More information

Finitely Branching LTS s from Reaction Semantics for Process Calculi

Finitely Branching LTS s from Reaction Semantics for Process Calculi Finitely Branching LTS s from Reaction Semantics for Process Calculi Pietro Di Gianantonio Furio Honsell Marina Lenisa Dipartimento di Matematica e Informatica, Università di Udine via delle Scienze 206,

More information

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

Review of The π-calculus: A Theory of Mobile Processes Review of The π-calculus: A Theory of Mobile Processes Riccardo Pucella Department of Computer Science Cornell University July 8, 2001 Introduction With the rise of computer networks in the past decades,

More information

Correspondence between Kripke Structures and Labeled Transition Systems for Model Minimization

Correspondence between Kripke Structures and Labeled Transition Systems for Model Minimization Correspondence between Kripke Structures and Labeled Transition Systems for Model Minimization Rob Schoren Abstract This document is mainly an extension of the work of Michel Reniers and Tim Willemse,

More information

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice Luis Pino*, Filippo Bonchi** and Frank Valencia* (Presented by: Jorge A. Pe rez) *E quipe Come te, LIX, Laboratoire

More information

Dipartimento di Informatica Università degli Studi di Verona

Dipartimento di Informatica Università degli Studi di Verona Dipartimento di Informatica Università degli Studi di Verona Rapporto di ricerca Research report 40/2006 On the observational theory of the CPS-calculus Massimo Merro Corrado Biasi Dipartimento di Informatica

More information

Universität Augsburg. Institut für Informatik. Bisimulation on Speed: Lower Time Bounds. Gerald Lüttgen and Walter Vogler.

Universität Augsburg. Institut für Informatik. Bisimulation on Speed: Lower Time Bounds. Gerald Lüttgen and Walter Vogler. Universität Augsburg Bisimulation on Speed: Lower Time Bounds Gerald Lüttgen and Walter Vogler Report 2004 1 January 2004 Institut für Informatik D-86135 Augsburg Copyright c Gerald Lüttgen and Walter

More information

Information and Computation

Information and Computation Information and Computation 207 (2009) 14 40 Contents lists available at ScienceDirect Information and Computation journal homepage: www.elsevier.com/locate/ic Synthesising CCS bisimulation using graph

More information

Recursive equations in higher-order process calculi

Recursive equations in higher-order process calculi Theoretical Computer Science 266 (2001) 839 852 www.elsevier.com/locate/tcs Recursive equations in higher-order process calculi Mingsheng Ying a; ;1, Martin Wirsing b a State Key Laboratory of Intelligent

More information

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

Linear Forwarders. 1 Introduction. Philippa Gardner 1, Cosimo Laneve 2, and Lucian Wischik 2 Linear Forwarders Philippa Gardner 1, Cosimo Laneve 2, and Lucian Wischik 2 1 Imperial College, London. pg@doc.ic.ac.uk 2 University of Bologna, Italy. laneve@cs.unibo.it, lu@wischik.com Abstract. A linear

More information

TRINITY COLLEGE DUBLIN. First-Order Reasoning for Higher-Order Concurrency

TRINITY COLLEGE DUBLIN. First-Order Reasoning for Higher-Order Concurrency TRINITY COLLEGE DUBLIN COLÁISTE NA TRÍONÓIDE, BAILE ÁTHA CLIATH First-Order Reasoning for Higher-Order Concurrency Vasileios Koutavas Matthew Hennessy Computer Science Department Technical Report TCS-CS-YYYY-NN

More information

A Weak Bisimulation for Weighted Automata

A Weak Bisimulation for Weighted Automata Weak Bisimulation for Weighted utomata Peter Kemper College of William and Mary Weighted utomata and Semirings here focus on commutative & idempotent semirings Weak Bisimulation Composition operators Congruence

More information

COSE212: Programming Languages. Lecture 1 Inductive Definitions (1)

COSE212: Programming Languages. Lecture 1 Inductive Definitions (1) COSE212: Programming Languages Lecture 1 Inductive Definitions (1) Hakjoo Oh 2018 Fall Hakjoo Oh COSE212 2018 Fall, Lecture 1 September 5, 2018 1 / 10 Inductive Definitions Inductive definition (induction)

More information

Relating Reasoning Methodologies in Linear Logic and Process Algebra

Relating Reasoning Methodologies in Linear Logic and Process Algebra Relating Reasoning Methodologies in Linear Logic and Process Algebra Yuxin Deng Robert J. Simmons Iliano Cervesato December 2011 CMU-CS-11-145 CMU-CS-QTR-111 School of Computer Science Carnegie Mellon

More information

Decidable Subsets of CCS

Decidable Subsets of CCS Decidable Subsets of CCS based on the paper with the same title by Christensen, Hirshfeld and Moller from 1994 Sven Dziadek Abstract Process algebra is a very interesting framework for describing and analyzing

More information

EMBEDDED SYSTEMS WILLIAM C. ROUNDS AND HOSUNG SONG

EMBEDDED SYSTEMS WILLIAM C. ROUNDS AND HOSUNG SONG THE φ-calculus A HYBRID EXTENSION OF THE π-calculus TO EMBEDDED SYSTEMS WILLIAM C. ROUNDS AND HOSUNG SONG 1. Introduction Embedded systems are software systems which reside in a physical environment and

More information

CS411 Notes 3 Induction and Recursion

CS411 Notes 3 Induction and Recursion CS411 Notes 3 Induction and Recursion A. Demers 5 Feb 2001 These notes present inductive techniques for defining sets and subsets, for defining functions over sets, and for proving that a property holds

More information

CS522 - Programming Language Semantics

CS522 - Programming Language Semantics 1 CS522 - Programming Language Semantics Simply Typed Lambda Calculus Grigore Roşu Department of Computer Science University of Illinois at Urbana-Champaign 2 We now discuss a non-trivial extension of

More information

Business Process Management

Business Process Management Business Process Management Theory: The Pi-Calculus Frank Puhlmann Business Process Technology Group Hasso Plattner Institut Potsdam, Germany 1 What happens here? We discuss the application of a general

More information

arxiv: v1 [cs.lo] 16 Apr 2018

arxiv: v1 [cs.lo] 16 Apr 2018 TREES FROM FUNCTIONS AS PROCESSES arxiv:1804.05797v1 [cs.lo] 16 Apr 2018 DAVIDE SANGIORGI AND XIAN XU Università di Bologna (Italy) and INRIA (France) East China University of Science and Technology (China)

More information

Structure Preserving Bisimilarity,

Structure Preserving Bisimilarity, Structure Preserving Bisimilarity, Supporting an Operational Petri Net Semantics of CCSP Rob van Glabbeek NICTA, Sydney, Australia University of New South Wales, Sydney, Australia September 2015 Milner:

More information

Mobile Processes in Bigraphs. Ole Høgh Jensen. October 2006

Mobile Processes in Bigraphs. Ole Høgh Jensen. October 2006 Mobile Processes in Bigraphs Ole Høgh Jensen October 2006 Abstract Bigraphical reactive systems (BRSs) are a formalism for modelling mobile computation. A bigraph consists of two combined mathematical

More information

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

COMP4141 Theory of Computation

COMP4141 Theory of Computation COMP4141 Theory of Computation Lecture 4 Regular Languages cont. Ron van der Meyden CSE, UNSW Revision: 2013/03/14 (Credits: David Dill, Thomas Wilke, Kai Engelhardt, Peter Höfner, Rob van Glabbeek) Regular

More information

A few bridges between operational and denotational semantics of programming languages

A few bridges between operational and denotational semantics of programming languages A few bridges between operational and denotational semantics of programming languages Soutenance d habilitation à diriger les recherches Tom Hirschowitz November 17, 2017 Hirschowitz Bridges between operational

More information

Nominal Completion for Rewrite Systems with Binders

Nominal Completion for Rewrite Systems with Binders Nominal Completion for Rewrite Systems with Binders Maribel Fernández King s College London July 2012 Joint work with Albert Rubio Summary Motivations Nominal Rewriting Closed nominal rules Confluence

More information

An Equational Axiomatization for Multi-Exit Iteration

An Equational Axiomatization for Multi-Exit Iteration An Equational Axiomatization for Multi-Exit Iteration Luca Aceto BRICS Department of Computer Science Aalborg University, Fr. Bajersvej 7E 9220 Aalborg Ø, Denmark Wan Fokkink Utrecht University, Department

More information

Propositional and Predicate Logic - IV

Propositional and Predicate Logic - IV Propositional and Predicate Logic - IV Petr Gregor KTIML MFF UK ZS 2015/2016 Petr Gregor (KTIML MFF UK) Propositional and Predicate Logic - IV ZS 2015/2016 1 / 19 Tableau method (from the previous lecture)

More information

A Propositional Dynamic Logic for Instantial Neighborhood Semantics

A Propositional Dynamic Logic for Instantial Neighborhood Semantics A Propositional Dynamic Logic for Instantial Neighborhood Semantics Johan van Benthem, Nick Bezhanishvili, Sebastian Enqvist Abstract We propose a new perspective on logics of computation by combining

More information

Probabilistic Applicative Bisimulation and Call-by-Value Lam

Probabilistic Applicative Bisimulation and Call-by-Value Lam Probabilistic Applicative and Call-by-Value Lambda Calculi Joint work with Ugo Dal Lago ENS Lyon February 9, 2014 Probabilistic Applicative and Call-by-Value Lam Introduction Fundamental question: when

More information

Topics in Concurrency

Topics in Concurrency Topics in Concurrency Lecture 3 Jonathan Hayman 18 February 2015 Recap: Syntax of CCS Expressions: Arithmetic a and Boolean b Processes: p ::= nil nil process (τ p) silent/internal action (α!a p) output

More information

Operationally-Based Theories of Program Equivalence

Operationally-Based Theories of Program Equivalence Operationally-Based Theories of Program Equivalence Andrew Pitts Contents 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : 241 2 Contextual Equivalence : : : : : : : : : : : : : :

More information

Congruence of Bisimulation in a Non-Deterministic Call-By-Need Lambda Calculus

Congruence of Bisimulation in a Non-Deterministic Call-By-Need Lambda Calculus Congruence of Bisimulation in a Non-Deterministic Call-By-Need Lambda Calculus Matthias Mann Johann Wolfgang Goethe-Universität, Frankfurt, Germany Congruence of Bisimulation p. 1/21 Lambda Calculi and

More information

T Reactive Systems: Temporal Logic LTL

T Reactive Systems: Temporal Logic LTL Tik-79.186 Reactive Systems 1 T-79.186 Reactive Systems: Temporal Logic LTL Spring 2005, Lecture 4 January 31, 2005 Tik-79.186 Reactive Systems 2 Temporal Logics Temporal logics are currently the most

More information

Deriving structural labelled transitions for mobile ambients

Deriving structural labelled transitions for mobile ambients Deriving structural labelled transitions for mobile ambients Julian Rathke, awe l Sobociński,1 ECS, University of Southampton Abstract We present a new labelled transition system (lts) for the ambient

More information

How to Prove Similarity a Precongruence in Non-Deterministic Call-by-Need Lambda Calculi

How to Prove Similarity a Precongruence in Non-Deterministic Call-by-Need Lambda Calculi How to Prove Similarity a Precongruence in Non-Deterministic Call-by-Need Lambda Calculi Matthias Mann and Manfred Schmidt-Schauß Institut für Informatik Johann Wolfgang Goethe-Universität Postfach 11

More information

Distributed Processes and Location Failures (Extended Abstract)

Distributed Processes and Location Failures (Extended Abstract) Distributed Processes and Location Failures (Extended Abstract) James Riely and Matthew Hennessy Abstract Site failure is an essential aspect of distributed systems; nonetheless its effect on programming

More information

Postprint.

Postprint. http://www.diva-portal.org Postprint This is the accepted version of a paper published in Mathematical Structures in Computer Science. This paper has been peer-reviewed but does not include the final publisher

More information

INTRODUCTION TO LOGIC. Propositional Logic. Examples of syntactic claims

INTRODUCTION TO LOGIC. Propositional Logic. Examples of syntactic claims Introduction INTRODUCTION TO LOGIC 2 Syntax and Semantics of Propositional Logic Volker Halbach In what follows I look at some formal languages that are much simpler than English and define validity of

More information

Streams and Coalgebra Lecture 2

Streams and Coalgebra Lecture 2 Streams and Coalgebra Lecture 2 Helle Hvid Hansen and Jan Rutten Radboud University Nijmegen & CWI Amsterdam Representing Streams II, Lorentz Center, Leiden, January 2014 Tutorial Overview Lecture 1 (Hansen):

More information

Bisimulation and coinduction in higher-order languages

Bisimulation and coinduction in higher-order languages Bisimulation and coinduction in higher-order languages Davide Sangiorgi Focus Team, University of Bologna/INRIA ICE, Florence, June 2013 Bisimulation Behavioural equality One of the most important contributions

More information

CCS: Syntax & Semantics (Final Version)

CCS: Syntax & Semantics (Final Version) CCS: & Semantics (Final Version) Prof. Susan Older 14 September 2017 (CIS 400/632) CCS & Semantics 14 September 2017 1 / 10 Relevant Syntactic Sets: A Recap from Last Time We have the following countably

More information

Madhavan Mukund Chennai Mathematical Institute

Madhavan Mukund Chennai Mathematical Institute AN INTRODUCTION TO LOGIC Madhavan Mukund Chennai Mathematical Institute E-mail: madhavan@cmiacin Abstract ese are lecture notes for an introductory course on logic aimed at graduate students in Computer

More information

Timed Automata VINO 2011

Timed Automata VINO 2011 Timed Automata VINO 2011 VeriDis Group - LORIA July 18, 2011 Content 1 Introduction 2 Timed Automata 3 Networks of timed automata Motivation Formalism for modeling and verification of real-time systems.

More information

Modelling Membranes with Brane Calculi

Modelling Membranes with Brane Calculi Modelling Membranes with Brane Calculi (and translation of Brane Calculi into CLS) 1/42 Introduction A biological cellular membrane is an closed surface that can perform various molecular functions. Membranes

More information

Name-passing calculi: from fusions to preorders and types

Name-passing calculi: from fusions to preorders and types Author manuscript, published in "LICS - 28th Annual ACM/IEEE Symposium on Logic in Computer Science - 2013 (2013) 378-387" DOI : 10.1109/LICS.2013.44 Name-passing calculi: from fusions to preorders and

More information

On Compensation Primitives as Adaptable Processes

On Compensation Primitives as Adaptable Processes On Compensation Primitives as Adaptable Processes Jovana Dedeić University of Novi Sad Jovanka Pantović (Novi Sad) and Jorge A. Pérez (Groningen) LAP 2015 - Dubrovnik, September 24, 2015 Outline 1 Context

More information

Formal Methods for Specifying and Verifying Distributed Algorithms Process Algebra vs I/O Automata

Formal Methods for Specifying and Verifying Distributed Algorithms Process Algebra vs I/O Automata Formal Methods for Specifying and Verifying Distributed Algorithms Process Algebra vs I/O Automata Marina Gelastou, Chryssis Georgiou and Anna Philippou Department of Computer Science, University of Cyprus,

More information

A semantic framework for open processes

A semantic framework for open processes Theoretical Computer Science 389 (2007) 446 483 www.elsevier.com/locate/tcs A semantic framework for open processes P. Baldan a, A. Bracciali b,, R. Bruni b a Dipartimento di Matematica Pura e Applicata,

More information

Overview of Today s Lecture

Overview of Today s Lecture Branden Fitelson Philosophy 4515 (Advanced Logic) Notes 1 Overview of Today s Lecture Administrative Stuff HW #1 grades and solutions have been posted Please make sure to work through the solutions HW

More information

Supplementary Notes on Inductive Definitions

Supplementary Notes on Inductive Definitions Supplementary Notes on Inductive Definitions 15-312: Foundations of Programming Languages Frank Pfenning Lecture 2 August 29, 2002 These supplementary notes review the notion of an inductive definition

More information

A Semantic Framework for Open Processes

A Semantic Framework for Open Processes A Semantic Framework for Open Processes P. Baldan (1), A. Bracciali (2), R. Bruni (2) (1) Dipartimento di Matematica Pura e Applicata, Università di Padova (Italy) baldan@math.unipd.it (2) Dipartimento

More information

MPRI C-2-3: Concurrency (Part 1 of 4)

MPRI C-2-3: Concurrency (Part 1 of 4) From Computability to Concurrency Theory Calculus of Comunicating Systems CCS Verification and Specification. Expressiveness Solutions to Exercises. MPRI C-2-3: Concurrency (Part 1 of 4) Frank D. Valencia

More information

Communicating Parallel Processes. Stephen Brookes

Communicating Parallel Processes. Stephen Brookes Communicating Parallel Processes Stephen Brookes Carnegie Mellon University Deconstructing CSP 1 CSP sequential processes input and output as primitives named parallel composition synchronized communication

More information

Mechanics 1: Coordinates

Mechanics 1: Coordinates Mechanics 1: Coordinates We have emphasized that our development of the definition and properties of vectors did not utilize at all the notion of a coordinate system, i.e., an agreed upon set of locations

More information

TROPICAL SCHEME THEORY

TROPICAL SCHEME THEORY TROPICAL SCHEME THEORY 5. Commutative algebra over idempotent semirings II Quotients of semirings When we work with rings, a quotient object is specified by an ideal. When dealing with semirings (and lattices),

More information

A behavioural theory for a π-calculus with preorders

A behavioural theory for a π-calculus with preorders A behavioural theory for a π-calculus with preorders Daniel Hirschkoff a,, Jean-Marie Madiot a, Xu Xian b a ENS Lyon, Université de Lyon, CNRS, INRIA, France b East China University of Science and Technology,

More information

Lecture Notes. Advanced Discrete Structures COT S

Lecture Notes. Advanced Discrete Structures COT S Lecture Notes Advanced Discrete Structures COT 4115.001 S15 2015-01-13 Recap Divisibility Prime Number Theorem Euclid s Lemma Fundamental Theorem of Arithmetic Euclidean Algorithm Basic Notions - Section

More information

On Expressiveness and Behavioural Theory of Attribute-based Communication

On Expressiveness and Behavioural Theory of Attribute-based Communication On Expressiveness and Behavioural Theory of Attribute-based Communication Rocco De Nicola Joint work with Y. A. Alrahman and M. Loreti Final Meeting CINA Civitanova Marche January 2016 Contents 1 Introduction

More information

Model Theory of Modal Logic Lecture 5. Valentin Goranko Technical University of Denmark

Model Theory of Modal Logic Lecture 5. Valentin Goranko Technical University of Denmark Model Theory of Modal Logic Lecture 5 Valentin Goranko Technical University of Denmark Third Indian School on Logic and its Applications Hyderabad, January 29, 2010 Model Theory of Modal Logic Lecture

More information

CHAPTER 8: EXPLORING R

CHAPTER 8: EXPLORING R CHAPTER 8: EXPLORING R LECTURE NOTES FOR MATH 378 (CSUSM, SPRING 2009). WAYNE AITKEN In the previous chapter we discussed the need for a complete ordered field. The field Q is not complete, so we constructed

More information

Deducing Interactions in Partially Unspecified Biological Systems

Deducing Interactions in Partially Unspecified Biological Systems Deducing Interactions in Partially Unspecified Biological Systems P. Baldan 1 A. Bracciali 2 L. Brodo 3 R. Bruni 2 1 Università di Padova 2 Università di Pisa 3 Università di Sassari Algebraic Biology

More information

cis32-ai lecture # 18 mon-3-apr-2006

cis32-ai lecture # 18 mon-3-apr-2006 cis32-ai lecture # 18 mon-3-apr-2006 today s topics: propositional logic cis32-spring2006-sklar-lec18 1 Introduction Weak (search-based) problem-solving does not scale to real problems. To succeed, problem

More information

Liveness of Communicating Transactions

Liveness of Communicating Transactions (joint work with Vasileios Koutavas and Matthew Hennessy) TRINITY COLLEGE DUBLIN COLÁISTE NA TRÍONÓIDE, BAILE ÁTHA CLIATH Dublin Concurrency Workshop 2011 Traditional Transactions Transactions provide

More information

ESE601: Hybrid Systems. Introduction to verification

ESE601: Hybrid Systems. Introduction to verification ESE601: Hybrid Systems Introduction to verification Spring 2006 Suggested reading material Papers (R14) - (R16) on the website. The book Model checking by Clarke, Grumberg and Peled. What is verification?

More information

Communicating Transactions (Extended Abstract)

Communicating Transactions (Extended Abstract) Communicating Transactions (Extended Abstract) Edsko de Vries, Vasileios Koutavas, and Matthew Hennessy Trinity College Dublin {Edsko.de.Vries,Vasileios.Koutavas,Matthew.Hennessy}@cs.tcd.ie Dedicated to

More information

Full abstraction for nominal exceptions and general references

Full abstraction for nominal exceptions and general references Full abstraction for nominal exceptions and general references Nikos Tzevelekos Oxford University N.Tzevelekos GALOP 08 1 Summary Summary Nominal games Further directions Semantics of nominal computation.

More information

Lecture Notes on Inductive Definitions

Lecture Notes on Inductive Definitions Lecture Notes on Inductive Definitions 15-312: Foundations of Programming Languages Frank Pfenning Lecture 2 August 28, 2003 These supplementary notes review the notion of an inductive definition and give

More information

Algebraic Approach to Automata Theory

Algebraic Approach to Automata Theory Algebraic Approach to Automata Theory Deepak D Souza Department of Computer Science and Automation Indian Institute of Science, Bangalore. 20 September 2016 Outline 1 Overview 2 Recognition via monoid

More information

Computational Soundness of a Call by Name Calculus of Recursively-scoped Records. UMM Working Papers Series, Volume 2, Num. 3.

Computational Soundness of a Call by Name Calculus of Recursively-scoped Records. UMM Working Papers Series, Volume 2, Num. 3. Computational Soundness of a Call by Name Calculus of Recursively-scoped Records. UMM Working Papers Series, Volume 2, Num. 3. Elena Machkasova Contents 1 Introduction and Related Work 1 1.1 Introduction..............................

More information

Categories, Proofs and Programs

Categories, Proofs and Programs Categories, Proofs and Programs Samson Abramsky and Nikos Tzevelekos Lecture 4: Curry-Howard Correspondence and Cartesian Closed Categories In A Nutshell Logic Computation 555555555555555555 5 Categories

More information

Coalgebra, lecture 10: Algebra and Coalgebra for Regular Expressions

Coalgebra, lecture 10: Algebra and Coalgebra for Regular Expressions Coalgebra, lecture 10: Algebra and Coalgebra for Regular Expressions Jurriaan Rot November 19, 2018 By now we ve been talking a lot about coalgebras and coinduction, as well as algebras and induction.

More information

Propositional Logic Language

Propositional Logic Language Propositional Logic Language A logic consists of: an alphabet A, a language L, i.e., a set of formulas, and a binary relation = between a set of formulas and a formula. An alphabet A consists of a finite

More information

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

Declarative event based models of concurrency and refinement in psi-calculi Declarative event based models of concurrency and refinement in psi-calculi Håkon Normann a,1,, Christian Johansen b,2, Thomas Hildebrandt a,1 a IT University of Copenhagen, Rued Langgaardsvej 7, 2300

More information

Advanced Process Calculi

Advanced Process Calculi Advanced Process Calculi Lecture 1: the pi-calculus Copenhagen, August 2013 Joachim Parrow Learning outcomes After completing the course you will be able to: Use modern process calculi to make highlevel

More information

CS3110 Fall 2013 Lecture 11: The Computable Real Numbers, R (10/3)

CS3110 Fall 2013 Lecture 11: The Computable Real Numbers, R (10/3) CS3110 Fall 2013 Lecture 11: The Computable Real Numbers, R (10/3) Robert Constable 1 Lecture Plan More about the rationals dependent types enumerating Q (Q is countable) Function inverses bijections one-one

More information

Topics in Concurrency

Topics in Concurrency Topics in Concurrency Lecture 3 Jonathan Hayman 18 October 2016 Towards a more basic language Aim: removal of variables to reveal symmetry of input and output Transitions for value-passing carry labels

More information

6c Lecture 14: May 14, 2014

6c Lecture 14: May 14, 2014 6c Lecture 14: May 14, 2014 11 Compactness We begin with a consequence of the completeness theorem. Suppose T is a theory. Recall that T is satisfiable if there is a model M T of T. Recall that T is consistent

More information

Bialgebraic Methods in Structural Operational Semantics

Bialgebraic Methods in Structural Operational Semantics SOS 2006 Preliminary Version Bialgebraic Methods in Structural Operational Semantics (Invited Talk) Bartek 1,2 Warsaw University, Edinburgh University Abstract Bialgebraic semantics, invented a decade

More information

On the specification of modal systems: a comparison of three frameworks

On the specification of modal systems: a comparison of three frameworks On the specification of modal systems: a comparison of three frameworks Luca Aceto a, Ignacio Fábregas b, David de Frutos-Escrig b, Anna Ingólfsdóttir a, Miguel Palomino b a ICE-TCS, School of Computer

More information

Nominal Syntax and Semantics

Nominal Syntax and Semantics Nominal Syntax and Semantics Andrew Pitts University of Cambridge Computer Laboratory APPSEM 2005, 1 - p. 1 How best to reconcile Mathematics of syntax syntactical issues to do with name-binding and α-conversion

More information

Inducing syntactic cut-elimination for indexed nested sequents

Inducing syntactic cut-elimination for indexed nested sequents Inducing syntactic cut-elimination for indexed nested sequents Revantha Ramanayake Technische Universität Wien (Austria) IJCAR 2016 June 28, 2016 Revantha Ramanayake (TU Wien) Inducing syntactic cut-elimination

More information

Extending Howe s Method to Early Bisimulations for Typed Mobile Embedded Resources with Local Names

Extending Howe s Method to Early Bisimulations for Typed Mobile Embedded Resources with Local Names Extending Howe s Method to Early Bisimulations for Typed Mobile Embedded Resources with Local Names Jens Chr. Godskesen and Thomas Hildebrandt Department of Theoretical Computer Science IT University of

More information