Interpreting the Full λ-calculus in the π-calculus

Size: px
Start display at page:

Download "Interpreting the Full λ-calculus in the π-calculus"

Transcription

1 Interpreting the Full λ-calculus in the π-calculus Xiaojuan Cai Joint work with Yuxi Fu BASICS Lab October 12, 2009

2 Motivation The λ-calculus: sequential model; The π-calculus: concurrent model A deep comparison between them is necessary; to reveal the expressiveness of π-calculus; to study the λ-calculus in a concurrent context; Encoding from the lazy λ-calculus to the π-calculus [Milner, 1992][Sangiorgi, 1994] Comparisons between the full λ-calculus and the π-calculus are still absent.

3 1 Technical background 2 Encoding the full λ-calculus into the π-calculus Tree structure in the π-calculus 3 How does the encoding work? 4 Conclusion

4 The λ-calculus Full λ-calculus M := x λx.m MM (λx.m)n M{N/x} M M MN M N N N MN MN β-rule structure rule eager evaluation 4 M M λx.m λx.m Lazy λ-calculus partial evaluation

5 The π-calculus Syntax P := i I ϕ i µ i.p i P P (x)p D( x) µ := a(b) a b τ ϕ := x = y x y ϕ ϕ D 1 ( x) = P 1 D n ( x) = P n.

6 Some abbreviations a x 1,.., x n.p a(x 1,.., x n ).P def = a(v).vx 1...vx n.p def = a(v).v(x 1 )...v(x n ).P begin case ϕ 1 µ 1.P 1 ϕ n µ n.p n end case. def = i {1,,n} ϕ i µ i.p i

7 Lazy λ-calculus to π-calculus by Milner x (u) λx.m (u) MN (u) def = xu def = u(x).u(v). M (v) def = (xv)( M (v) vx.vu!x(w). N (w)) Which part must be changed in order to interpret ALL FOUR reduction rules?

8 Lazy λ-calculus to π-calculus by Milner x (u) λx.m (u) MN (u) def = xu def = u(x).u(v). M (v) def = (xv)( M (v) vx.vu!x(w). N (w)) Which part must be changed in order to interpret ALL FOUR reduction rules?

9 Lazy λ-calculus to π-calculus by Milner x (u) λx.m (u) MN (u) def = xu def = u(x).u(v). M (v) def = (xv)( M (v) vx.vu!x(w). N (w)) Which part must be changed in order to interpret ALL FOUR reduction rules?

10 1 Technical background 2 Encoding the full λ-calculus into the π-calculus Tree structure in the π-calculus 3 How does the encoding work? 4 Conclusion

11 λ-terms as trees x x variable node λx.m λx abstraction node M MN M N application node

12 An example (λx.(λy.y)(xx))((λz.z)(λw.w)) λx λz λw λy z w y x x

13 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) β-rule (λx.m)n M{N/x} λx λz λw λy z w y x x

14 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) (λy.y)(((λz.z)(λw.w))((λz.z)(λw.w))) λx λz λw λy z w y x x β-rule (λx.m)n M{N/x}

15 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) (λy.y)(((λz.z)(λw.w))((λz.z)(λw.w))) λx λy y x x λz λw z w β-rule (λx.m)n M{N/x}

16 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) (λy.y)(((λz.z)(λw.w))((λz.z)(λw.w))) β-rule (λx.m)n M{N/x} λy y x x λz λw z w

17 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) (λy.y)(((λz.z)(λw.w))((λz.z)(λw.w))) λy y λz λw λz λw λz λw z β-rule (λx.m)n M{N/x} w z w z w

18 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) Eager evaluation N N MN MN λx λz λw λy z w y x x

19 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) (λx.(λy.y)(xx))(λw.w) λx λz λw λy z w y x x Eager evaluation N N MN MN

20 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) (λx.(λy.y)(xx))(λw.w) λx λz λy z y x x λw w Eager evaluation N N MN MN

21 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) (λx.(λy.y)(xx))(λw.w) λx z Eager evaluation N N MN MN λy y x x λw w

22 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) (λx.(λy.y)(xx))(λw.w) λx λw Eager evaluation N N MN MN λy y x x w λw w

23 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) Partial evaluation M M λ.m λ.m λx λz λw λy z w y x x

24 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) (λx.xx)((λz.z)(λw.w)) λx λz λw λy z w y x x Partial evaluation M M λ.m λ.m

25 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) (λx.xx)((λz.z)(λw.w)) λx λz λw λy z w y x x Partial evaluation M M λ.m λ.m

26 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) (λx.xx)((λz.z)(λw.w)) λx y λz λw Partial evaluation M M λ.m λ.m x x z w

27 λ-rules (λx.(λy.y)(xx))((λz.z)(λw.w)) (λx.xx)((λz.z)(λw.w)) λx λz λw x x z w x x Partial evaluation M M λ.m λ.m

28 Redex node (λx.(λy.y)(xx))((λz.z)(λw.w)) λx λz λw λy z w y x x

29 λ-term = tree β-reduction = manipulation of trees Let s program in π!

30 Tree structure in the π-calculus Outline design Tree := Node 1 Node 2 Node n Node := n info + Operations Operations := reduction if the node is a redex node substitution reduction := (change the structure). substitution := x info if the node is a variable node (freeze and backup the disconnected subtree) info := name, parent, leftchild, rightchild,

31 Tree structure in the π-calculus Node info name parent lchild rchild var fun lchild = rchild =. variable node lchild = rchild. abstraction node lchild rchild. application node lchild = rchild fun =. redex node

32 Tree structure in the π-calculus Node operations - move n l r n r λx N M N n M Move(n, n ) def = n(p, l, r, v, f ).n (p, l, r, v, f ). (Node(n, p, l, r, v, f ) begin case l = r l(p, l, r, v, f ).Node(l, n, l, r, v, f ) l r l(p, l, r, v, f ).r(p, l, r, v, f ). (Node(l, n, l, r, v, f ) Node(r, n, l, r, v, f )) end case)

33 Tree structure in the π-calculus Node operations - freeze and backup n l r n r n r λx N M N M N n M Freeze(r, x) def = r(p, l, r, v, f ).(x 0 x 1 ) begin case l r Freeze(l, x 0 ) Freeze(r, x 1 )!x(p, n, f ).(l r )(Node(n, p, l, r, v, f ) l = r Freeze(l, x 0 )!x(p, n, f ). l=r=!x(p, n, f ).Node(n, p,,, v, f ) end case

34 Tree structure in the π-calculus Node operations - freeze and backup n l r n r n r λx N M N M N n M Freeze(r, x) Tree(r, N) = Replica(x, N) def = (x 0 x 1 x n )!x(p, n, f ).(l r )(Node(n, p, l, r, v, f ) x 0 n, l, x 1 n, r, )!x 0 (p, n, f ).(l r )...!x 1 (p, n, f ).(l r )......

35 Tree structure in the π-calculus Node operations - substitute n l r n r n r n r λx N M N M N M N n M N N N Substitution(m, p, x, f ) def = x p, m, f Substitution(m, p, x, f ) Replica(x, N) = Tree(m, N) Replica(x, N)

36 Tree structure in the π-calculus The encoding M λ x f n,p λx.m f n,p MN f n,p def = (n, s, )( M n,λ Sem(s)) def = L(n, p,,, x, f ) def = (m, x)(l(n, p, m, m, x, f ) M m,n) def = (l, r)(l(n, p, l, r,, f ) M l,n N r,n) Sem(s) def = s.s.sem(s)

37 Tree structure in the π-calculus The encoding the definition of node process

38 1 Technical background 2 Encoding the full λ-calculus into the π-calculus Tree structure in the π-calculus 3 How does the encoding work? 4 Conclusion

39 Correctness full abstraction Theorem 1. For all closed λ-terms M, N, M = a N if and only if M λ N λ. Definition A symmetric binary relation R on Λ 0 is an applicative bisimulation if the following properties hold whenever MRN: If M λx.m then N λx.n for some N such that M {L/x}RN {L/x} for every L Λ 0. The applicative bisimilarity = a is the largest applicative bisimulation.

40 Correctness operational correspondence Theorem 2. There is a subbisimilarity R from the set of closed λ-terms to the set of π-processes. Preservation If M M, then M = M ; Reflection τ If M P, then there exists some M such that M M and P = M ; Termination M iff M ; τ

41 1 Technical background 2 Encoding the full λ-calculus into the π-calculus Tree structure in the π-calculus 3 How does the encoding work? 4 Conclusion

42 Conclusion What we have done An encoding from the full λ-calculus to the π-calculus with mismatch and parametric definition is proposed; It is proved to be good. Question Can the encoding be implemented in the π-calculus without guarded choice?

43 Thank you! Questions?

44 Some definitions Operational semantics of π-calculus I Prefix Composition a(x).p ay P{y/x} ax.p ax P P µ P P Q µ P Q P ax P Q ax Q P Q τ P Q Restriction ax P P Q P Q τ (x)(p Q ) Q a(x) P ax P (x)p a(x) P P µ P x not in µ (x)p µ (x)p

45 Some definitions Operational semantics of π-calculus II Replication Case P!P µ P!P µ P µ ϕ i µ i.p i i P i i I ϕ µ iµ i.p i i P i Definition P i {ỹ i / x i } µ P µ D i (ỹ i ) P

46 Some definitions Definition: subbisimilarity R Λ 0 P is a subbisimilarity if : 1 M Λ 0. P.MRP; 2 If MRP and M M then P = τ P and M RP for some P ; 3 If MRP τ P then MRP or M M RP for some M ; 4 τ τ If MRP 0 and P 0 P 1 P i τ is an infinite sequence of τ-actions, then there must be some k 1 and M, such that M M RP k ; 5 If (λx.m)rp, then P = P λz P for some P, P and some fresh z such that λx.mrp and M{N/x}R(z)(P T (z, N)) for every closed λ-term N. 6 If MRP and P λz P for some fresh z, then M λx.m for some x, M such that M {N/x}R(z)(P T (z, N)) for every closed λ-term N.

47 Some definitions References 1 R. Milner. Functions as Processes. Mathematical Structures in Computer Science, 2:119C146, D. Sangiorgi. The Lazy λ-calculus in a Concurrency Scenario. Information and Computation, 111:120C 153, 1994.

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

On Böhm Trees and Lévy-Longo Trees in π-calculus On Böhm Trees and Lévy-Longo Trees in π-calculus Xian Xu East China University of Science and Technology (from ongoing work with Davide Sangiorgi) April, 1 Subject Encodings from to λ-calculus (sequential

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

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

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

Origin in Mathematical Logic

Origin in Mathematical Logic Lambda Calculus Origin in Mathematical Logic Foundation of mathematics was very much an issue in the early decades of 20th century. Cantor, Frege, Russel s Paradox, Principia Mathematica, NBG/ZF Origin

More information

The Lambda-Calculus Reduction System

The Lambda-Calculus Reduction System 2 The Lambda-Calculus Reduction System 2.1 Reduction Systems In this section we present basic notions on reduction systems. For a more detailed study see [Klop, 1992, Dershowitz and Jouannaud, 1990]. Definition

More information

Type Systems. Lecture 2 Oct. 27th, 2004 Sebastian Maneth.

Type Systems. Lecture 2 Oct. 27th, 2004 Sebastian Maneth. Type Systems Lecture 2 Oct. 27th, 2004 Sebastian Maneth http://lampwww.epfl.ch/teaching/typesystems/2004 Today 1. What is the Lambda Calculus? 2. Its Syntax and Semantics 3. Church Booleans and Church

More information

Continuations, Processes, and Sharing. Paul Downen, Luke Maurer, Zena M. Ariola, Daniele Varacca. September 8, 2014

Continuations, Processes, and Sharing. Paul Downen, Luke Maurer, Zena M. Ariola, Daniele Varacca. September 8, 2014 Continuations, Processes, and Sharing Paul Downen, Luke Maurer, Zena M. Ariola, Daniele Varacca University of Oregon, Université Paris Diderot September 8, 2014 The plethora of semantic artifacts Many

More information

Call-by-value non-determinism in a linear logic type discipline

Call-by-value non-determinism in a linear logic type discipline Call-by-value non-determinism in a linear logic type discipline Alejandro Díaz-Caro? Giulio Manzonetto Université Paris-Ouest & INRIA LIPN, Université Paris 13 Michele Pagani LIPN, Université Paris 13

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

Example. Lemma. Proof Sketch. 1 let A be a formula that expresses that node t is reachable from s

Example. Lemma. Proof Sketch. 1 let A be a formula that expresses that node t is reachable from s Summary Summary Last Lecture Computational Logic Π 1 Γ, x : σ M : τ Γ λxm : σ τ Γ (λxm)n : τ Π 2 Γ N : τ = Π 1 [x\π 2 ] Γ M[x := N] Georg Moser Institute of Computer Science @ UIBK Winter 2012 the proof

More information

Functional Programming with Coq. Yuxin Deng East China Normal University

Functional Programming with Coq. Yuxin Deng East China Normal University Functional Programming with Coq Yuxin Deng East China Normal University http://basics.sjtu.edu.cn/ yuxin/ September 10, 2017 Functional Programming Y. Deng@ECNU 1 Reading materials 1. The Coq proof assistant.

More information

Origin in Mathematical Logic

Origin in Mathematical Logic Lambda Calculus Origin in Mathematical Logic Foundation of mathematics was very much an issue in the early decades of 20th century. Cantor, Frege, Russel s Paradox, Principia Mathematica, NBG/ZF The Combinatory

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Xiangyu Zhang The slides are compiled from Alex Aiken s Michael D. Ernst s Sorin Lerner s A Scary Outline Type-based analysis Data-flow analysis Abstract interpretation Theorem

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

Advanced Lambda Calculus. Henk Barendregt & Giulio Manzonetto ICIS Faculty of Science Radboud University Nijmegen, The Netherlands

Advanced Lambda Calculus. Henk Barendregt & Giulio Manzonetto ICIS Faculty of Science Radboud University Nijmegen, The Netherlands Advanced Lambda Calculus Henk Barendregt & Giulio Manzonetto ICIS Faculty of Science Radboud University Nijmegen, The Netherlands Form of the course Ordinary lecture Seminar form Exam: working out an exercise

More information

CSE 505, Fall 2009, Midterm Examination 5 November Please do not turn the page until everyone is ready.

CSE 505, Fall 2009, Midterm Examination 5 November Please do not turn the page until everyone is ready. CSE 505, Fall 2009, Midterm Examination 5 November 2009 Please do not turn the page until everyone is ready Rules: The exam is closed-book, closed-note, except for one side of one 85x11in piece of paper

More information

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

The π-calculus Semantics. Equivalence and Value-Passing. Infinite Sums 4/12/2004 The π-calculus Semantics Overview ate and early semantics Bisimulation and congruence Variations of the calculus eferences obin Milner, Communicating and Mobil Systems Davide Sangiorgi and David Walker,

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

Formal Techniques for Software Engineering: Denotational Semantics

Formal Techniques for Software Engineering: Denotational Semantics Formal Techniques for Software Engineering: Denotational Semantics Rocco De Nicola IMT Institute for Advanced Studies, Lucca rocco.denicola@imtlucca.it May 2013 Lesson 4 R. De Nicola (IMT-Lucca) FoTSE@LMU

More information

Realisability methods of proof and semantics with application to expansion

Realisability methods of proof and semantics with application to expansion Realisability methods of proof and semantics with application to expansion First Year Examination Supervisors : Professor Fairouz Kamareddine and Doctor Joe B. Wells Student : Vincent Rahli ULTRA group,

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

COMP6463: λ-calculus

COMP6463: λ-calculus COMP6463: λ-calculus 1. Basics Michael Norrish Michael.Norrish@nicta.com.au Canberra Research Lab., NICTA Semester 2, 2015 Outline Introduction Lambda Calculus Terms Alpha Equivalence Substitution Dynamics

More information

3.2 Equivalence, Evaluation and Reduction Strategies

3.2 Equivalence, Evaluation and Reduction Strategies 3.2 Equivalence, Evaluation and Reduction Strategies The λ-calculus can be seen as an equational theory. More precisely, we have rules i.e., α and reductions, for proving that two terms are intensionally

More information

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

Introduction to Temporal Logic. The purpose of temporal logics is to specify properties of dynamic systems. These can be either Introduction to Temporal Logic The purpose of temporal logics is to specify properties of dynamic systems. These can be either Desired properites. Often liveness properties like In every infinite run action

More information

Communication Errors in the π-calculus are Undecidable

Communication Errors in the π-calculus are Undecidable Communication Errors in the π-calculus are Undecidable Vasco T. Vasconcelos Department of Informatics Faculty of Sciences, University of Lisbon António Ravara Department of Mathematics Lisbon Institute

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

Understanding Process Semantics

Understanding Process Semantics TU München March, 2017 Understanding Process Semantics David de Frutos Escrig In collaboration with: Carlos Gregorio Rodríguez, Miguel Palomino and Ignacio Fábregas Departamento de Sistemas Informáticos

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

RPO, Second-Order Contexts, and λ-calculus

RPO, Second-Order Contexts, and λ-calculus RPO, Second-Order Contexts, and λ-calculus Pietro Di Gianantonio, Furio Honsell, and Marina Lenisa Dipartimento di Matematica e Informatica, Università di Udine via delle Scienze 206, 33100 Udine, Italy

More information

Lambda-Calculus (I) 2nd Asian-Pacific Summer School on Formal Methods Tsinghua University, August 23, 2010

Lambda-Calculus (I) 2nd Asian-Pacific Summer School on Formal Methods Tsinghua University, August 23, 2010 Lambda-Calculus (I) jean-jacques.levy@inria.fr 2nd Asian-Pacific Summer School on Formal Methods Tsinghua University, August 23, 2010 Plan computation models lambda-notation bound variables conversion

More information

Lazy Strong Normalization

Lazy Strong Normalization Lazy Strong Normalization Luca Paolini 1,2 Dipartimento di Informatica Università di Torino (ITALIA) Elaine Pimentel 1,2 Departamento de Matemática Universidade Federal de Minas Gerais (BRASIL) Dipartimento

More information

Diagrams for Meaning Preservation

Diagrams for Meaning Preservation Diagrams for Meaning Preservation 2003-06-13 Joe Wells Detlef Plump Fairouz Kamareddine Heriot-Watt University University of York www.cee.hw.ac.uk/ultra www.cs.york.ac.uk/ det Diagrams for Meaning Preservation

More information

Beyond First-Order Logic

Beyond First-Order Logic Beyond First-Order Logic Software Formal Verification Maria João Frade Departmento de Informática Universidade do Minho 2008/2009 Maria João Frade (DI-UM) Beyond First-Order Logic MFES 2008/09 1 / 37 FOL

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

Theories of Programming Languages Assignment 5

Theories of Programming Languages Assignment 5 Theories of Programming Languages Assignment 5 December 17, 2012 1. Lambda-Calculus (see Fig. 1 for initions of = β, normal order evaluation and eager evaluation). (a) Let Ω = ((λx. x x) (λx. x x)), and

More information

Scuola Estiva di Logica Gargnano, August

Scuola Estiva di Logica Gargnano, August Linear Logic, Linear Logic, Università degli Studi di Torino Scuola Estiva di Logica 2015 Gargnano, August 28 2015 Complexity theory Linear Logic, study of complexity classes and their relations define

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

The Safe λ-calculus. William Blum. Joint work with C.-H. Luke Ong. Lunch-time meeting, 14 May Oxford University Computing Laboratory

The Safe λ-calculus. William Blum. Joint work with C.-H. Luke Ong. Lunch-time meeting, 14 May Oxford University Computing Laboratory The Safe λ-calculus William Blum Joint work with C.-H. Luke Ong Oxford University Computing Laboratory Lunch-time meeting, 14 May 2007 Overview Safety is originally a syntactic restriction for higher-order

More information

Counting terms in the binary lambda calculus

Counting terms in the binary lambda calculus Counting terms in the binary lambda calculus Katarzyna Grygiel Theoretical Computer Science Department Jagiellonian University in Kraków Pierre Lescanne Laboratoire de l'informatique du Parallélisme École

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

Local computation of β-reduction A concrete presentation of Game Semantics

Local computation of β-reduction A concrete presentation of Game Semantics 1 2 3 4 Local computation of β-reduction A concrete presentation of Game Semantics William Blum and C.H. Luke Ong Oxford University Computing Laboratory 5 6 Abstract We show that... Key words: Lambda calculus,

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

SHARING IN THE WEAK LAMBDA-CALCULUS REVISITED

SHARING IN THE WEAK LAMBDA-CALCULUS REVISITED SHARING IN THE WEAK LAMBDA-CALCULUS REVISITED TOMASZ BLANC, JEAN-JACQUES LÉVY, AND LUC MARANGET INRIA e-mail address: tomasz.blanc@inria.fr INRIA, Microsoft Research-INRIA Joint Centre e-mail address:

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

Domain theory and denotational semantics of functional programming

Domain theory and denotational semantics of functional programming Domain theory and denotational semantics of functional programming Martín Escardó School of Computer Science, Birmingham University MGS 2007, Nottingham, version of April 20, 2007 17:26 What is denotational

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

CS 6110 S16 Lecture 33 Testing Equirecursive Equality 27 April 2016

CS 6110 S16 Lecture 33 Testing Equirecursive Equality 27 April 2016 CS 6110 S16 Lecture 33 Testing Equirecursive Equality 27 April 2016 1 Equirecursive Equality In the equirecursive view of recursive types, types are regular labeled trees, possibly infinite. However, we

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

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

Lazy Functions as Processes

Lazy Functions as Processes Lazy Functions as Processes Luke Maurer University of Oregon maurerl@cs.uoregon.edu Abstract CPS transforms have long been important tools in the study of programming languages, especially those related

More information

Reducibility proofs in λ-calculi with intersection types

Reducibility proofs in λ-calculi with intersection types Reducibility proofs in λ-calculi with intersection types Fairouz Kamareddine, Vincent Rahli, and J. B. Wells ULTRA group, Heriot-Watt University, http://www.macs.hw.ac.uk/ultra/ March 14, 2008 Abstract

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

λ-terms, M Some random examples of λ-terms: L9 105

λ-terms, M Some random examples of λ-terms: L9 105 λ-terms, M are built up from a given, countable collection of variables x, y, z,... by two operations for forming λ-terms: λ-abstraction: (λx.m) (where x is a variable and M is a λ-term) application: (M

More information

Equivalent Computers. Lecture 39: Lambda Calculus. Lambda Calculus. What is Calculus? Real Definition. Why?

Equivalent Computers. Lecture 39: Lambda Calculus. Lambda Calculus. What is Calculus? Real Definition. Why? #,, - Lecture 39: Lambda Calculus Equivalent Computers z z z... term = variable term term (term) λ variable. term λy. M α λv. (M [y α v]) where v does not occur in M. (λx. M)N β M [ x α N ] Turing Machine

More information

Simply Typed λ-calculus

Simply Typed λ-calculus Simply Typed λ-calculus Lecture 1 Jeremy Dawson The Australian National University Semester 2, 2017 Jeremy Dawson (ANU) COMP4630,Lecture 1 Semester 2, 2017 1 / 23 A Brief History of Type Theory First developed

More information

1 Introduction. 2 Recap The Typed λ-calculus λ. 3 Simple Data Structures

1 Introduction. 2 Recap The Typed λ-calculus λ. 3 Simple Data Structures CS 6110 S18 Lecture 21 Products, Sums, and Other Datatypes 1 Introduction In this lecture, we add constructs to the typed λ-calculus that allow working with more complicated data structures, such as pairs,

More information

Comp487/587 - Boolean Formulas

Comp487/587 - Boolean Formulas Comp487/587 - Boolean Formulas 1 Logic and SAT 1.1 What is a Boolean Formula Logic is a way through which we can analyze and reason about simple or complicated events. In particular, we are interested

More information

The Join calculus A calculus of mobile agents

The Join calculus A calculus of mobile agents The Join calculus p. 1/32 The Join calculus A calculus of mobile agents Martin Mosegaard Jensen Mobile Computing seminar 2004, DAIMI The Join calculus p. 2/32 Plan Motivation The reflexive CHAM Distribution:

More information

Lecture Notes on Data Abstraction

Lecture Notes on Data Abstraction Lecture Notes on Data Abstraction 15-814: Types and Programming Languages Frank Pfenning Lecture 14 October 23, 2018 1 Introduction Since we have moved from the pure λ-calculus to functional programming

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

Cartesian closed 2-categories and rewriting

Cartesian closed 2-categories and rewriting Cartesian closed 2-categories and rewriting Aurore Alcolei A brief presentation of Tom Hirschowitz s paper, Cartesian closed 2-categories and permutation equivalence in higher-order rewriting June 7, 2014

More information

A probabilistic lambda calculus - Some preliminary investigations

A probabilistic lambda calculus - Some preliminary investigations A probabilistic lambda calculus - Some preliminary investigations Ugo Dal Lago, Margherita Zorzi Università di Bologna, Università di Verona June, 9-11, 2010, Torino Introduction: Λ P We present some results

More information

λ Slide 1 Content Exercises from last time λ-calculus COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification

λ Slide 1 Content Exercises from last time λ-calculus COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification Content COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification Toby Murray, June Andronick, Gerwin Klein λ Slide 1 Intro & motivation, getting started [1] Foundations & Principles Lambda

More information

Algorithmic Reasoning about Böhm Trees

Algorithmic Reasoning about Böhm Trees Algorithmic Reasoning about Böhm Trees Luke Ong University of Oxford (Joint with Bahareh Afshari, Matthew Hague, Graham Leigh, Steven Ramsay, and Takeshi Tsukada) IMS Workshop on Higher-Order Model Checking

More information

Propositional Logic: Part II - Syntax & Proofs 0-0

Propositional Logic: Part II - Syntax & Proofs 0-0 Propositional Logic: Part II - Syntax & Proofs 0-0 Outline Syntax of Propositional Formulas Motivating Proofs Syntactic Entailment and Proofs Proof Rules for Natural Deduction Axioms, theories and theorems

More information

INTEROPERATION FOR LAZY AND EAGER EVALUATION. A Thesis. Presented to. the Faculty of California Polytechnic State University.

INTEROPERATION FOR LAZY AND EAGER EVALUATION. A Thesis. Presented to. the Faculty of California Polytechnic State University. INTEROPERATION FOR LAZY AND EAGER EVALUATION A Thesis Presented to the Faculty of California Polytechnic State University San Luis Obispo In Partial Fulfillment of the Requirements for the Degree Master

More information

λ-terms, M Some random examples of λ-terms: L9 105

λ-terms, M Some random examples of λ-terms: L9 105 λ-terms, M L9 105 are built up from a given, countable collection of variables x, y, z,... by two operations for forming λ-terms: λ-abstraction: (λx.m) (where x is a variable and M is a λ-term) application:

More information

Type Systems. Today. 1. What is the Lambda Calculus. 1. What is the Lambda Calculus. Lecture 2 Oct. 27th, 2004 Sebastian Maneth

Type Systems. Today. 1. What is the Lambda Calculus. 1. What is the Lambda Calculus. Lecture 2 Oct. 27th, 2004 Sebastian Maneth Today 1. What is the Lambda Calculus? Type Systems 2. Its Syntax and Semantics 3. Church Booleans and Church Numerals 4. Lazy vs. Eager Evaluation (call-by-name vs. call-by-value) Lecture 2 Oct. 27th,

More information

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard

More information

On Coinductive Equivalences for Higher-Order Probabilistic Functional Programs

On Coinductive Equivalences for Higher-Order Probabilistic Functional Programs On Coinductive Equivalences for Higher-Order Probabilistic Functional Programs Ugo Dal Lago, Davide Sangiorgi, Michele Alberti To cite this version: Ugo Dal Lago, Davide Sangiorgi, Michele Alberti. On

More information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181. Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität

More information

A syntactical proof of the operational equivalence of two λ-terms

A syntactical proof of the operational equivalence of two λ-terms A syntactical proof of the operational equivalence of two λ-terms René DAVID and Karim NOUR Abstract In this paper we present a purely syntactical proof of the operational equivalence of I = λxx and the

More information

1. each λ-variable is a λρ-term, called atom or atomic term, 2. if M and N are λρ-term then (MN) is a λρ-term called application,

1. each λ-variable is a λρ-term, called atom or atomic term, 2. if M and N are λρ-term then (MN) is a λρ-term called application, Yuichi Komori Arato Cho λρ-calculus abstract. In [K02], one of the authors introduced the system λρ-calculus and stated without proof that the strong normalization theorem hold. We have discovered an elegant

More information

Modal and Temporal Logics

Modal and Temporal Logics Modal and Temporal Logics Colin Stirling School of Informatics University of Edinburgh July 23, 2003 Why modal and temporal logics? 1 Computational System Modal and temporal logics Operational semantics

More information

Introduction to λ-calculus

Introduction to λ-calculus p.1/65 Introduction to λ-calculus Ken-etsu FUJITA fujita@cs.gunma-u.ac.jp http://www.comp.cs.gunma-u.ac.jp/ fujita/ Department of Computer Science Gunma University :Church 32, 36, 40; Curry 34 1. Universal

More information

Using models to model-check recursive schemes

Using models to model-check recursive schemes Using models to model-check recursive schemes S Salvati and I Walukiewicz Université de Bordeaux, INRIA, CNRS, LaBRI UMR5800 Abstract We propose a model-based approach to the model checking problem for

More information

Automata theory and higher-order model-checking

Automata theory and higher-order model-checking Automata theory and higher-order model-checking Igor Walukiewicz, CNRS, LaBRI, Bordeaux University In verification, an automata theoretic approach is by now a standard. In order to extend this approach

More information

Constructive approach to relevant and affine term calculi

Constructive approach to relevant and affine term calculi Constructive approach to relevant and affine term calculi Jelena Ivetić, University of Novi Sad, Serbia Silvia Ghilezan,University of Novi Sad, Serbia Pierre Lescanne, University of Lyon, France Silvia

More information

Programming Languages

Programming Languages CSE 230: Winter 2010 Principles of Programming Languages Lecture 10: Programming in λ-calculusc l l Ranjit Jhala UC San Diego Review The lambda calculus is a calculus of functions: e := x λx. e e 1 e 2

More information

Non-binary Tree Reconciliation. Louxin Zhang Department of Mathematics National University of Singapore

Non-binary Tree Reconciliation. Louxin Zhang Department of Mathematics National University of Singapore Non-binary Tree Reconciliation Louxin Zhang Department of Mathematics National University of Singapore matzlx@nus.edu.sg Introduction: Gene Duplication Inference Consider a duplication gene family G Species

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

Communicating and Mobile Systems

Communicating and Mobile Systems Communicating and Mobile Systems Overview:! Programming Model! Interactive Behavior! Labeled Transition System! Bisimulation! The π-calculus! Data Structures and λ-calculus encoding in the π-calculus References:!

More information

Extending the Lambda Calculus: An Eager Functional Language

Extending the Lambda Calculus: An Eager Functional Language Syntax of the basic constructs: Extending the Lambda Calculus: An Eager Functional Language canonical forms z cfm ::= intcfm boolcfm funcfm tuplecfm altcfm intcfm ::= 0 1-1... boolcfm ::= boolconst funcfm

More information

Introduction to lambda calculus Part 2

Introduction to lambda calculus Part 2 Introduction to lambda calculus Part 2 Antti-Juhani Kaijanaho 2017-01-24... 1 Untyped lambda calculus 1.1 Syntax... x, y, z Var t, u Term t, u ::= x t u λx t... In this document, I will be using the following

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

Functions as Session-Typed Processes

Functions as Session-Typed Processes Functions as Session-Typed Processes Bernardo Toninho 1,2, Luis Caires 2, and Frank Pfenning 1 1 Computer Science Department Carnegie Mellon University Pittsburgh, PA, USA 2 CITI and Faculdade de Ciências

More information

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

An introduction to process calculi: Calculus of Communicating Systems (CCS) 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:

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

NICTA Advanced Course. Theorem Proving Principles, Techniques, Applications

NICTA Advanced Course. Theorem Proving Principles, Techniques, Applications NICTA Advanced Course Theorem Proving Principles, Techniques, Applications λ 1 CONTENT Intro & motivation, getting started with Isabelle Foundations & Principles Lambda Calculus Higher Order Logic, natural

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

Sequentiality in Kahn- Macqueen nets and the λ-calculus

Sequentiality in Kahn- Macqueen nets and the λ-calculus Sequentiality in Kahn- Macqueen nets and the λ-calculus Jean-Jacques Lévy Macqueen Fest, 11-05-2012 1 Plan Kahn-Macqueen networks Stability in the λ-calculus Stability in Kahn-Macqueen networks Revisiting

More information

Normal Form Simulation for McCarthy s Amb

Normal Form Simulation for McCarthy s Amb Electronic Notes in Theoretical Computer Science 155 (2006) 445 465 www.elsevier.com/locate/entcs Normal Form Simulation for McCarthy s Amb Soren B. Lassen 1 Google, Inc. Mountain View, CA Abstract This

More information

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

CS611 Lecture 25 Solving Domain Equations 22 October 2007 Lecturer: Andrew Myers

CS611 Lecture 25 Solving Domain Equations 22 October 2007 Lecturer: Andrew Myers CS611 Lecture 25 Solving Domain Equations 22 October 2007 Lecturer: Andrew Myers To develop a denotational semantics for a language with recursive types, or to give a denotational semantics for the untyped

More information

CS 4110 Programming Languages & Logics. Lecture 16 Programming in the λ-calculus

CS 4110 Programming Languages & Logics. Lecture 16 Programming in the λ-calculus CS 4110 Programming Languages & Logics Lecture 16 Programming in the λ-calculus 30 September 2016 Review: Church Booleans 2 We can encode TRUE, FALSE, and IF, as: TRUE λx. λy. x FALSE λx. λy. y IF λb.

More information

Adding Recursion to Dpi

Adding Recursion to Dpi Adding Recursion to Dpi Samuel Hym PPS, Université Paris 7 & CNRS Matthew Hennessy Department of Informatics, University of Sussex Abstract Dpi is a distributed version of the pi-calculus, in which processes

More information

Axiomatizations for probabilistic finite-state behaviors

Axiomatizations for probabilistic finite-state behaviors Axiomatizations for probabilistic finite-state behaviors Yuxin Deng a, Catuscia Palamidessi b a Shanghai Jiao Tong University, China b INRIA Futurs and LIX, École Polytechnique, France Abstract We study

More information

Model Theory of XPath on Data Trees. Part II: Binary Bisimulation and Definability

Model Theory of XPath on Data Trees. Part II: Binary Bisimulation and Definability Model Theory of XPath on Data Trees. Part II: Binary Bisimulation and Definability Sergio Abriola María Emilia Descotte Santiago Figueira University of Buenos Aires Abstract We study the expressive power

More information