Interpreting the Full λ-calculus in the π-calculus
|
|
- Clementine Porter
- 5 years ago
- Views:
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 Xian Xu East China University of Science and Technology (from ongoing work with Davide Sangiorgi) April, 1 Subject Encodings from to λ-calculus (sequential
More informationA 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 informationBisimulation 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 informationTrace 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 informationOrigin 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 informationThe 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 informationType 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 informationContinuations, 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 informationCall-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 informationarxiv: 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 informationExample. 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 informationFunctional 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 informationOrigin 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 informationStatic 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 informationStrong 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 informationAdvanced 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 informationCSE 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 informationThe π-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 informationConcurrency 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 informationFormal 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 informationRealisability 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 informationProbabilistic 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 informationCOMP6463: λ-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 information3.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 informationIntroduction 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 informationCommunication 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 informationDecidable 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 informationUnderstanding 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 informationEquations, 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 informationRPO, 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 informationLambda-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 informationLazy 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 informationDiagrams 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 informationBeyond 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 informationA π-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 informationTheories 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 informationScuola 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 informationFormalising 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 informationThe 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 informationCounting 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 informationLiveness 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 informationLocal 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 informationEMBEDDED 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 informationSHARING 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 informationReview 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 informationDomain 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 informationModels 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 informationCS 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 informationModel 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 informationModelling 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 informationLazy 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 informationReducibility 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 informationThe 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 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 informationEquivalent 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 informationSimply 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 information1 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 informationComp487/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 informationThe 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 informationLecture 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 informationBusiness 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 informationCartesian 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 informationA 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
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 informationAlgorithmic 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 informationPropositional 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 informationINTEROPERATION 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 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 informationType 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 informationComplexity 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 informationOn 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 informationOutline. 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 informationA 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 information1. 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 informationModal 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 informationIntroduction 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 informationUsing 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 informationAutomata 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 informationConstructive 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 informationProgramming 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 informationNon-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 informationA 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 informationCommunicating 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 informationExtending 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 informationIntroduction 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 informationTopics 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 informationFunctions 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 informationAn 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 informationA 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 informationNICTA 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 informationLinear 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 informationSequentiality 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 informationNormal 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 informationConcurrent 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 informationCS611 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 informationCS 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 informationAdding 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 informationAxiomatizations 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 informationModel 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