Congruence of Bisimulation in a Non-Deterministic Call-By-Need Lambda Calculus
|
|
- Sheila Briggs
- 5 years ago
- Views:
Transcription
1 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
2 Lambda Calculi and Equality Abramsky ( 90) Ariola, Felleisen, Wadler, et al. ( 95) Kutzner, Schmidt- Schauß ( 98) Moran, Sands, Carlsson ( 99) Howe ( 89, 96) deterministic, call-by-name deterministic, call-by-need (let) non-deterministic, call-by-need (let) non-deterministic, call-by-need, letrec, case class of languages, no sharing Bisimulation = Contextual Equiv. Conversion Contextual Equiv. Contextual Equiv. Bisimulation = Contextual Equiv. Congruence of Bisimulation p. 2/21
3 λ ND = non-determinism + sharing Congruence proof non-trivial language Λ ND simple: E ::= V (λx.e) (E E) (let x = E in E) (pick E E) Congruence of Bisimulation p. 3/21
4 λ ND = non-determinism + sharing Congruence proof non-trivial language Λ ND simple: E ::= V (λx.e) (E E) (let x = E in E) (pick E E) λ ND Congruence of Bisimulation p. 3/21
5 λ ND = non-determinism + sharing Congruence proof non-trivial language Λ ND simple: E ::= V (λx.e) (E E) (let x = E in E) (pick E E) n c λ ND Congruence of Bisimulation p. 3/21
6 λ ND = non-determinism + sharing Congruence proof non-trivial language Λ ND simple: E ::= V (λx.e) (E E) (let x = E in E) (pick E E) n Approximation c λ ND λ Congruence of Bisimulation p. 3/21
7 λ ND = non-determinism + sharing Congruence proof non-trivial language Λ ND simple: E ::= V (λx.e) (E E) (let x = E in E) (pick E E) Approximation n c λ ND λ S λ b Congruence of Bisimulation p. 3/21
8 λ ND = non-determinism + sharing Congruence proof non-trivial language Λ ND simple: E ::= V (λx.e) (E E) (let x = E in E) (pick E E) Approximation n c λ ND λ S λ b ND = Congruence of Bisimulation p. 3/21
9 Reduction Rules of the λ ND -Calculus let x = (let y = t y in t x ) in s llet let y = t y in (let x = t x in s) (let x = t x in s) t lapp let x = t x in (s t) (λx.s) t lbeta let x = t in s let x = λy.r in D[x] cp let x = λy.r in D[λy.r] (llet) (lapp) (lbeta) (cp) pick s t ndl s pick s t ndr t (nd) Congruence of Bisimulation p. 4/21
10 Non-Determinism and Sharing Sharing like in functional programming languages: Rule (cp) only copies abstractions Avoid duplication of work Congruence of Bisimulation p. 5/21
11 Non-Determinism and Sharing Sharing like in functional programming languages: Rule (cp) only copies abstractions Avoid duplication of work, in particular of non-deterministic choice points: (λx.x + x) (pick a b) lbeta let x = pick a b in x + x instead of (λx.x + x) (pick a b) β pick a b + pick a b Congruence of Bisimulation p. 5/21
12 Non-Determinism and Sharing Sharing like in functional programming languages: Rule (cp) only copies abstractions Avoid duplication of work, in particular of non-deterministic choice points: (λx.x + x) (pick a b) lbeta let x = pick a b in x + x instead of (λx.x + x) (pick a b) β pick a b + pick a b Necessary to equate e.g. λx.(2 x) and λx.(x + x) Congruence of Bisimulation p. 5/21
13 Convergence in λ ND Normal-order reduction n is unique up to (nd) Weak Head Normal Form (WHNF): L R [λx.s] let-environments: L R ::= [ ] let x = e in L R Convergence: t L R[λx.s] def t n L R[λx.s] Congruence of Bisimulation p. 6/21
14 Normal-Order Reduction in λ ND Example: (λx.x) ( (λy.(λz.q)) r ) Congruence of Bisimulation p. 7/21
15 Normal-Order Reduction in λ ND Example: (λx.x) ( (λy.(λz.q)) r ) Congruence of Bisimulation p. 7/21
16 Normal-Order Reduction in λ ND Example: (λx.x) ( (λy.(λz.q)) r ) n, lbeta let x = ((λy.(λz.q)) r) in x Congruence of Bisimulation p. 7/21
17 Normal-Order Reduction in λ ND Example: (λx.x) ( (λy.(λz.q)) r ) n, lbeta let x = ((λy.(λz.q)) r) in x n, lbeta let x = (let y = r in (λz.q)) in x Congruence of Bisimulation p. 7/21
18 Normal-Order Reduction in λ ND Example: (λx.x) ( (λy.(λz.q)) r ) n, lbeta let x = ((λy.(λz.q)) r) in x n, lbeta let x = (let y = r in (λz.q)) in x n, llet let y = r in (let x = (λz.q) in x) Congruence of Bisimulation p. 7/21
19 Normal-Order Reduction in λ ND Example: (λx.x) ( (λy.(λz.q)) r ) n, lbeta let x = ((λy.(λz.q)) r) in x n, lbeta let x = (let y = r in (λz.q)) in x n, llet let y = r in (let x = (λz.q) in x) n, cp let y = r in (let x = (λz.q) in (λz.q)) is a Weak Head Normal Form Congruence of Bisimulation p. 7/21
20 Congruences and Program Transformations Congruence of Bisimulation p. 8/21
21 Equality and Preorders Contextual Equivalence s ΛND, c t def s ΛND, c t t ΛND, c s Contextual Preorder s ΛND, c t def C : C[s] = C[t] Congruence of Bisimulation p. 9/21
22 Equality and Preorders Contextual Equivalence s ΛND, c t def s ΛND, c t t ΛND, c s Contextual Preorder s ΛND, c t def C : C[s] = C[t] Similarity? ΛND, b ΛND, c for ΛND, b as gfp of s ΛND, b t s L s [λx.s ] = ( t L t [λx.t ] r : (L s [λx.s ]) r ΛND, b (L t [λx.t ]) r ) Congruence of Bisimulation p. 9/21
23 Counter-Example: Shift let over λ Not correct w.r.t. c in the λ ND -calculus! Congruence of Bisimulation p. 10/21
24 Counter-Example: Shift let over λ Not correct w.r.t. c in the λ ND -calculus! For the terms s λw.let v = pick K K2 in v t let v = pick K K2 in λw.v Congruence of Bisimulation p. 10/21
25 Counter-Example: Shift let over λ Not correct w.r.t. c in the λ ND -calculus! For the terms s λw.let v = pick K K2 in v t let v = pick K K2 in λw.v s ΛND, c t holds because of C[s] C[t] with C let f = [ ] in ((f K) (f K) Ω Ω K) Congruence of Bisimulation p. 10/21
26 Counter-Example: Shift let over λ Not correct w.r.t. c in the λ ND -calculus! For the terms s λw.let v = pick K K2 in v t let v = pick K K2 in λw.v s ΛND, c t holds because of C[s] C[t] with C let f = [ ] in ((f K) (f K) Ω Ω K) But: s ΛND, b t since s and t both WHNF s and r : s r ΛND, b t r Congruence of Bisimulation p. 10/21
27 From the λ ND - to the λ -calculus let x = (let y = t y in t x ) in s llet let y = t y in (let x = t x in s) (let x = t x in s) t lapp let x = t x in (s t) (λx.s) t lbeta let x = t in s let x = λy.r in D[x] cp let x = λy.r in D[λy.r] (llet) (lapp) (lbeta) (cp) pick s t ndl s pick s t ndr t (nd) Congruence of Bisimulation p. 11/21
28 From the λ ND - to the λ -calculus let x = (let y = t y in t x ) in s llet let y = t y in (let x = t x in s) (let x = t x in s) t lapp let x = t x in (s t) (λx.s) t lbeta let x = t in s let x = λy.r in D[x] cp let x = λy.r in D[λy.r] (llet) (lapp) (lbeta) (cp) pick s t ndl s pick s t ndr t (nd) s stop λ if s (stop) Congruence of Bisimulation p. 11/21
29 From the λ ND - to the λ -calculus let x = (let y = t y in t x ) in s llet let y = t y in (let x = t x in s) (let x = t x in s) t lapp let x = t x in (s t) (λx.s) t lbeta let x = t in s let x = λy.r in D[x] cp let x = λy.r in D[λy.r] (llet) (lapp) (lbeta) (cp) pick s t ndl s pick s t ndr t (nd) s stop λ if s (stop) Congruence of Bisimulation p. 11/21
30 From the λ ND - to the λ -calculus let x = (let y = t y in t x ) in s llet let y = t y in (let x = t x in s) (let x = t x in s) t lapp let x = t x in (s t) (λx.s) t lbeta let x = t in s let x = s in t cpa λ t[s/x] where s λz.q or s (llet) (lapp) (lbeta) (cpa) pick s t ndl s pick s t ndr t (nd) s stop λ if s (stop) Congruence of Bisimulation p. 11/21
31 From the λ ND - to the λ -calculus let x = (let y = t y in t x ) in s llet let y = t y in (let x = t x in s) (let x = t x in s) t lapp let x = t x in (s t) (λx.s) t lbeta let x = t in s let x = s in t cpa λ t[s/x] where s λz.q or s (llet) (lapp) (lbeta) (cpa) pick s t ndl s pick s t ndr t (nd) s stop λ if s (stop) Congruence of Bisimulation p. 11/21
32 From the λ ND - to the λ -calculus (let x = t x in s) t lapp let x = t x in (s t) (λx.s) t lbeta let x = t in s let x = s in t cpa λ t[s/x] where s λz.q or s (lapp) (lbeta) (cpa) pick s t ndl s pick s t ndr t (nd) s stop λ if s (stop) Congruence of Bisimulation p. 11/21
33 Approximation Reduction in λ Howe s method: Treatment of rule (llet) avoided Special constant to cut off evaluation Test for pure abstractions instead of WHNF s Surface contexts S: No hole under λ Congruence of Bisimulation p. 12/21
34 Approximation Reduction in λ Howe s method: Treatment of rule (llet) avoided Special constant to cut off evaluation Test for pure abstractions instead of WHNF s Surface contexts S: No hole under λ Convergence using λ -reductions in surface contexts: s λx.t def s S λ λx.t Notation: val(s) = {λx.t s λx.t} Congruence of Bisimulation p. 12/21
35 Bisimulation in the λ -Calculus Similarity b is the greatest fixed point w.r.t. s b t λx.s : ( s λx.s = λy.t : (t λy.t r : r Λ 0 = (λx.s) r b (λy.t) r) ) Congruence of Bisimulation p. 13/21
36 Bisimulation in the λ -Calculus Similarity b is the greatest fixed point w.r.t. s b t λx.s : ( s λx.s = λy.t : (t λy.t r : r Λ 0 = (λx.s) r b (λy.t) r) ) Bisimilarity: s b t def s b t t b s Congruence of Bisimulation p. 13/21
37 Example revisited: Shift let over λ s λw.let v = pick K K2 in v val(s) = {s} t let v = pick K K2 in λw.v let v = K in λw.v cpa λw.k val(t) = {λw.k, λw.k2} let v=[ ] in..., ndl Congruence of Bisimulation p. 14/21
38 Example revisited: Shift let over λ s λw.let v = pick K K2 in v val(s) = {s} t let v = pick K K2 in λw.v let v=[ ] in..., ndl let v = K in λw.v cpa λw.k val(t) = {λw.k, λw.k2} Therefore s b t, i.e. s and t are not bisimilar: ((s Ω) Ω) K ((s Ω) K) Ω but (((λw.k) Ω) Ω) K but (((λw.k2) Ω) K) Ω Congruence of Bisimulation p. 14/21
39 Similarity and Contextual Preorder Main Theorem: Similarity b is a precongruence in λ Due to correspondence of convergence in λ and λ ND : Theorem: The similarity b in the λ -calculus coincides with the contextual preorder ΛND, c in the λ ND -calculus Congruence of Bisimulation p. 15/21
40 Proof Structure Congruence of Bisimulation p. 16/21
41 Similarity a Precongruence Open extension o b via closing let-environments Howe s precongruence candidate: x b b = x o b b τ(a i ) b b = a i b a i τ(a i ) b o b Infer b b o from r S, a λ s r b t = s b t which is shown for every reduction rule (a) Congruence of Bisimulation p. 17/21
42 Howe: Substitution Lemmas Essential for proving reduction rules stable under b All terms in Howe s original no sharing: s b s t b t = s[t/x] b s [t /x] In λ only terms which may be copied: s b s = s[ /x] b s [ /x] s b s λy.t b λy.t = s[λy.t/x] b s [λy.t /x] Close interplay with rule (cpa) in proof Congruence of Bisimulation p. 18/21
43 Kutzner: Reduction Diagrams Complete Sets of Commuting and Forking Diagrams p a r p a r b b b b s a t s a t Congruence of Bisimulation p. 19/21
44 Kutzner: Reduction Diagrams Complete Sets of Commuting and Forking Diagrams p a r p a r b b b b s a t s a t Forking diagrams: (lbeta), (cpa) sound w.r.t. b Transform n -sequences into S λ -sequences and vice versa with commuting diagrams, e.g.: S, cpa λ n, a n, llet n, a S, cpa λ Congruence of Bisimulation p. 19/21
45 Conclusion Similarity b is a precongruence in λ and therefore equals contextual preorder Λ, c Contextual preorders ΛND, c and Λ, c coincide Congruence of Bisimulation p. 20/21
46 Conclusion Similarity b is a precongruence in λ and therefore equals contextual preorder Λ, c Contextual preorders ΛND, c and Λ, c coincide Bisimilarity a proof tool for contextual equivalence in a non-deterministic call-by-need lambda-calculus Congruence of Bisimulation p. 20/21
47 Future Work Extend to calculus with constructors and case Bisimulation highly non-deterministic: Arrange for better proof search strategy Regard must -convergence in definition of c pick behaves bottom-avoiding because of may - convergence only: Compare with amb-calculi Develop SOS rule format according to proof method Congruence of Bisimulation p. 21/21
Congruence of Bisimulation in a Non-Deterministic Call-By-Need Lambda Calculus
SOS 2004 Preliminary Version Congruence of Bisimulation in a Non-Deterministic Call-By-Need Lambda Calculus Matthias Institut für Informatik Johann Wolfgang Goethe-Universität Postfach 11 19 32 D-60054
More informationSimulation in the Call-by-Need Lambda-Calculus with letrec
Simulation in the Call-by-Need Lambda-Calculus with letrec Manfred Schmidt-Schauss 1 and David Sabel 1 and Elena Machkasova 2 1 Dept. Informatik und Mathematik, Inst. Informatik, J.W. Goethe-University,
More informationHow 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 informationSimulation in the Call-by-Need Lambda-Calculus with Letrec, Case, Constructors, and Seq
Simulation in the Call-by-Need Lambda-Calculus with Letrec, Case, Constructors, and Seq Manfred Schmidt-Schauss 1 and David Sabel 1 and Elena Machkasova 2 1 Dept. Informatik und Mathematik, Inst. Informatik,
More informationA Call-by-Need Lambda-Calculus with Locally Bottom-Avoiding Choice: Context Lemma and Correctness of Transformations
A Call-by-Need Lambda-Calculus with Locally Bottom-Avoiding Choice: Context Lemma and Correctness of Transformations David Sabel and Manfred Schmidt-Schauß Research group for Artificial Intelligence and
More informationTowards Correctness of Program Transformations Through Unification and Critical Pair Computation
Towards Correctness of Program Transformations Through Unification and Critical Pair Computation Conrad Rau and Manfred Schmidt-Schauß Institut für Informatik Johann Wolfgang Goethe-Universität Postfach
More informationApplicative May- and Should-Simulation in the Call-by-Value Lambda Calculus with AMB
Applicative May- and Should-Simulation in the Call-by-Value Lambda Calculus with AMB Manfred Schmidt-Schauß and David Sabel Goethe University, Frankfurt, Germany {schauss,sabel}@ki.informatik.uni-frankfurt.de
More informationAppendix of Safety of Nöcker s Strictness Analysis
Under consideration for publication in J. Functional Programming 1 Appendix of Safety of Nöcker s Strictness Analysis Manfred Schmidt-Schauß, David Sabel Institut für Informatik, Johann Wolfgang Goethe-Universität,
More informationSIMULATION IN THE CALL-BY-NEED LAMBDA-CALCULUS WITH LETREC, CASE, CONSTRUCTORS, AND SEQ
Logical Methods in Computer Science Vol. 11(1:7)2015, pp. 1 50 www.lmcs-online.org Submitted Oct. 26, 2011 Published Mar. 13, 2015 SIMULATION IN THE CALL-BY-NEED LAMBDA-CALCULUS WITH LETREC, CASE, CONSTRUCTORS,
More informationSolutions to Exercises. Solution to Exercise 2.4. Solution to Exercise 2.5. D. Sabel and M. Schmidt-Schauß 1
D. Sabel and M. Schmidt-Schauß 1 A Solutions to Exercises Solution to Exercise 2.4 We calculate the sets of free and bound variables: FV ((λy.(y x)) (λx.(x y)) (λz.(z x y))) = FV ((λy.(y x)) (λx.(x y)))
More informationExtending Abramsky s Lazy Lambda Calculus: (Non)-Conservativity of Embeddings
Extending Abramsky s Lazy Lambda Calculus: (Non)-Conservativity of Embeddings Manfred Schmidt-Schauß 1, Elena Machkasova 2, and David Sabel 1 1 Goethe-Universität, Frankfurt, Germany schauss,sabel@ki.informatik.uni-frankfurt.de
More informationExtending Abramsky s Lazy Lambda Calculus: (Non)-Conservativity of Embeddings
Extending Abramsky s Lazy Lambda Calculus: (Non)-Conservativity of Embeddings Manfred Schmidt-Schauss 1 and Elena Machkasova 2 and David Sabel 1 1 Dept. Informatik und Mathematik, Inst. Informatik, J.W.
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 informationOn Conservativity of Concurrent Haskell
On Conservativity of Concurrent Haskell David Sabel and Manfred Schmidt-Schauss Goethe-University Frankfurt am Main, Germany Technical Report Frank-47 Research group for Artificial Intelligence and Software
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 informationObservational Semantics for a Concurrent Lambda Calculus with Reference Cells and Futures
Replace this file with prentcsmacro.sty for your meeting, or with entcsmacro.sty for your meeting. Both can be found at the ENTCS Macro Home Page. Observational Semantics for a Concurrent Lambda Calculus
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 informationOn Coinduction and Quantum Lambda Calculi
On Coinduction and Quantum Lambda Calculi Yuxin Deng East China Normal University (Joint work with Yuan Feng and Ugo Dal Lago) To appear at CONCUR 15 1 Outline Motivation A quantum λ-calculus Coinductive
More informationA Call-by-Need Lambda Calculus with Scoped Work Decorations
A Call-by-Need Lambda Calculus with Scoped Work Decorations David Sabel 1 and Manfred Schmidt-Schauß 2 Abstract: The polymorphically typed functional core language LRP is a lambda calculus with recursive
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 informationThe Permutative λ-calculus
The Permutative λ-calculus Beniamino Accattoli 1 Delia Kesner 2 INRIA and LIX (École Polytechnique) PPS (CNRS and Université Paris-Diderot) 1 / 34 Outline 1 λ-calculus 2 Permutative extension 3 Confluence
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 informationλ S : A Lambda Calculus with Side-effects
L14-1 λ S : A Lambda Calculus with Side-effects delivered by Jacob Schwartz Laboratory for Computer Science M.I.T. Lecture 14 M-Structures and Barriers L14-2 Some problems cannot be expressed functionally
More informationEncoding Induction in Correctness Proofs of Program Transformations as a Termination Problem
Encoding Induction in Correctness Proofs of Program Transformations as a Termination Problem Conrad Rau, David Sabel and Manfred Schmidt-Schauß Goethe-University, Frankfurt am Main, Germany WST 2012, Obergurgl,
More informationOperationally-Based Theories of Program Equivalence
Operationally-Based Theories of Program Equivalence Andrew Pitts Contents 1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : 241 2 Contextual Equivalence : : : : : : : : : : : : : :
More informationMAKING 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 informationTyping λ-terms. Types. Typed λ-terms. Base Types. The Typing Relation. Advanced Formal Methods. Lecture 3: Simply Typed Lambda calculus
Course 2D1453, 200607 Advanced Formal Methods Lecture 3: Simply Typed Lambda calculus Mads Dam KTH/CSC Some material from B. Pierce: TAPL + some from G. Klein, NICTA Typing λterms The uptyped λcalculus
More informationProving Soundness of Extensional Normal-Form Bisimilarities
Proving Soundness of Extensional Normal-Form Bisimilarities Dariusz Biernacki, Sergueï Lenglet, Piotr Polesiuk To cite this version: Dariusz Biernacki, Sergueï Lenglet, Piotr Polesiuk. Proving Soundness
More informationType Systems Winter Semester 2006
Type Systems Winter Semester 2006 Week 7 November 29 November 29, 2006 - version 1.0 Plan PREVIOUSLY: 1. type safety as progress and preservation 2. typed arithmetic expressions 3. simply typed lambda
More informationRealizability Semantics of Parametric Polymorphism, General References, and Recursive Types
Realizability Semantics of Parametric Polymorphism, General References, and Recursive Types Lars Birkedal IT University of Copenhagen Joint work with Kristian Støvring and Jacob Thamsborg Oct, 2008 Lars
More informationBlame and Coercion: Together Again for the First Time
Blame and Coercion: Together Again for the First Time Supplementary Material Jeremy Siek Indiana University, USA jsiek@indiana.edu Peter Thiemann Universität Freiburg, Germany thiemann@informatik.uni-freiburg.de
More informationCBV and CBN. Eduardo Bonelli. TP para LP 2012C1 1/55
CBV and CBN Eduardo Bonelli TP para LP 2012C1 1/55 Reduction Strategies Call-By-Value Call-by-Name Relating CBN and CBV λ-calculus Continuation Passing Style Bibliography 2/55 Reduction Strategies Reduction
More informationComputational 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 informationPattern Matching of Compressed Terms and Contexts and Polynomial Rewriting
Pattern Matching of Compressed Terms and Contexts and Polynomial Rewriting Manfred Schmidt-Schauß 1 Institut für Informatik Johann Wolfgang Goethe-Universität Postfach 11 19 32 D-60054 Frankfurt, Germany
More informationStrong normalization of a symmetric lambda calculus for second order classical logic
Archive for Mathematical Logic manuscript No. (will be inserted by the editor) Strong normalization of a symmetric lambda calculus for second order classical logic YAMAGATA, yoriyuki e-mail: yoriyuki@ms.u-tokyo.ac.jp
More informationCommand = Value Context. Hans-Dieter Hiep. 15th of June, /17
1/17 Command = Value Context Hans-Dieter Hiep 15th of June, 2018 2/17 Example Consider a total functional programming language. swap :: A B B A swap (a, b) = (b, a) paws :: A B B A paws a = a paws b =
More informationObserving Success in the Pi-Calculus
Observing Success in the Pi-Calculus David Sabel and Manfred Schmidt-Schauß Goethe-University, Frankfurt am Main {sabel,schauss}@ki.cs.uni-frankfurt.de Abstract A contextual semantics defined in terms
More informationCategories, 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 informationContextual equivalence
Techniques 16/22 ACS L16, lecture 2 4/10 Contextual equivalence Two phrases of a programming language are ( Morris style ) contextually equivalent ( = ctx ) if occurrences of the first phrase in any program
More informationVariations on a theme: call-by-value and factorization
Variations on a theme: call-by-value and factorization Beniamino Accattoli INRIA & LIX, Ecole Polytechnique Accattoli (INRIA Parsifal) Variations on a theme: call-by-value and factorization 1 / 31 Outline
More informationMaking 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 informationTechniques. Contextual equivalence
Techniques 16/22 Contextual equivalence Two phrases of a programming language are ( Morris style ) contextually equivalent ( = ctx )if occurrences of the first phrase in any program can be replaced by
More informationObservational Semantics for a Concurrent Lambda Calculus with Reference Cells and Futures
Observaional Semanics for a Concurren Lambda Calculus wih Reference Cells and Fuures David Sabel J. W. Goehe-Universiy Frankfur, Germany join work wih: Joachim Niehren (Lille, France), Manfred Schmid-Schauß
More informationSimply Typed Lambda-Calculi (II)
THEORY AND PRACTICE OF FUNCTIONAL PROGRAMMING Simply Typed Lambda-Calculi (II) Dr. ZHANG Yu Institute of Software, Chinese Academy of Sciences Fall term, 2011 GUCAS, Beijing Introduction PCF Programming
More informationEnvironmental Bisimulations for Probabilistic Higher-Order Languages
Environmental Bisimulations for Probabilistic Higher-Order Languages Davide Sangiorgi, Valeria Vignudelli To cite this version: Davide Sangiorgi, Valeria Vignudelli. Environmental Bisimulations for Probabilistic
More informationStep-Indexed Logical Relations for Probability
Step-Indexed Logical Relations for Probability Aleš Bizjak and Lars Birkedal Aarhus University {abizjak,birkedal}@cs.au.dk Abstract. It is well-known that constructing models of higher-order probabilistic
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 informationHarvard School of Engineering and Applied Sciences CS 152: Programming Languages
Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Lecture 17 Tuesday, April 2, 2013 1 There is a strong connection between types in programming languages and propositions
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 informationCorrectness of an STM Haskell Implementation
Correctness of an STM Haskell Implementation Manfred Schmidt-Schauss and David Sabel Goethe-University, Frankfurt, Germany Technical Report Frank-50 Research group for Artificial Intelligence and Software
More informationCommunication 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 informationSimply Typed Lambda Calculus
Simply Typed Lambda Calculus Mathias Vorreiter Pedersen November 13, 2015 1 Recalling the untyped lambda calculus 1.1 Syntax t ::= x λ x. t t t 1.2 Evaluation x x t t λx.t λx.t t 1 t 1 t 2 t 2 t 1 t 2
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 informationA Complete, Co-Inductive Syntactic Theory of Sequential Control and State
A Complete, Co-Inductive Syntactic Theory of Sequential Control and State Kristian Støvring BRICS, Dept. of Comp. Science, University of Aarhus kss@brics.dk Soren B. Lassen Google, Inc. soren@google.com
More informationOn Correctness of Buffer Implementations in a Concurrent Lambda Calculus with Futures
On Correctness of Buffer Implementations in a Concurrent Lambda Calculus with Futures Jan Schwinghammer 1, David Sabel 2, Joachim Niehren 3, and Manfred Schmidt-Schauß 2 1 Saarland University, Saarbrücken,
More informationInformation Flow Inference for ML
POPL 02 INRIA Rocquencourt Projet Cristal Francois.Pottier@inria.fr http://cristal.inria.fr/~fpottier/ Vincent.Simonet@inria.fr http://cristal.inria.fr/~simonet/ Information flow analysis account number
More informationAlgorithms for Extended Alpha-Equivalence and Complexity
Algorithms for Extended Alpha-Equivalence and Complexity Manfred Schmidt-Schauß, Conrad Rau, and David Sabel Goethe-Universität, Frankfurt, Germany {schauss,rau,sabel}@ki.informatik.uni-frankfurt.de Abstract
More informationSkew and ω-skew Confluence and Infinite Normal Forms
Skew and ω-skew Confluence and Infinite Normal Forms Zena M. riola and Stefan Blom University of Oregon University of Innsbruck bstract. The notion of skew confluence was introduced to characterize non-confluent
More informationStreams 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 informationarxiv: v3 [quant-ph] 4 Jan 2010
arxiv:0806.2447v3 [quant-ph] 4 Jan 2010 Measurements and confluence in quantum lambda calculi with explicit qubits Abstract Alejandro Díaz-Caro a,1, Pablo Arrighi b,2, Manuel Gadella c,3 and Jonathan Grattage
More informationTyped Arithmetic Expressions
Typed Arithmetic Expressions CS 550 Programming Languages Jeremy Johnson TAPL Chapters 3 and 5 1 Types and Safety Evaluation rules provide operational semantics for programming languages. The rules provide
More informationTHE STRONG INVARIANCE THESIS
THE STRONG INVARIANCE THESIS FOR A λ-calculus LOLA WORKSHOP 2017 Yannick Forster 1 Fabian Kunze 1,2 Marc Roth 1,3 1 SAARLAND UNIVERSITY 2 MAX PLANCK INSTITUTE FOR INFORMATICS 3 CLUSTER OF EXCELLENCE (MMCI)
More informationSimulation and Bisimulation over Multiple Time Scales in a Behavioral Setting
2014 22nd Mediterranean Conference on Control and Automation (MED) University of Palermo. June 16-19, 2014. Palermo, Italy Simulation and Bisimulation over Multiple ime Scales in a Behavioral Setting Anne-Kathrin
More informationDipartimento 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 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 informationCall-by-value solvability, revisited
Call-by-value solvability, revisited Beniamino Accattoli 1 and Luca Paolini 2 1 INRIA and LIX (École Polytechnique), France 2 Dipartimento di Informatica, Università degli Studi di Torino, Italy Abstract.
More informationRefined Environment Classifiers
Refined Environment Classifiers Type- and Scope-safe Code Generation with Mutable Cells Oleg Kiselyov Yukiyoshi Kameyama Yuto Sudo Tohoku University University of Tsukuba APLAS 2016 November 22, 2016 Region
More informationType Inference. For the Simply-Typed Lambda Calculus. Peter Thiemann, Manuel Geffken. Albert-Ludwigs-Universität Freiburg. University of Freiburg
Type Inference For the Simply-Typed Lambda Calculus Albert-Ludwigs-Universität Freiburg Peter Thiemann, Manuel Geffken University of Freiburg 24. Januar 2013 Outline 1 Introduction 2 Applied Lambda Calculus
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 informationOn 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 informationIntersection Types and Lambda Theories
Intersection Types and Lambda Theories M.Dezani-Ciancaglini S.Lusin Abstract We illustrate the use of intersection types as a semantic tool for showing properties of the lattice of λ-theories. Relying
More informationStrong Normalization as Safe Interaction
Strong Normalization as Safe Interaction Colin Riba INPL & LORIA, Nancy, France E-mail: riba@loria.fr Abstract When enriching the λ-calculus with rewriting, union types may be needed to type all strongly
More informationRelating 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 informationOperational Semantics Using the Partiality Monad
page.1 Operational Semantics Using the Partiality Monad Nils Anders Danielsson (Göteborg) Shonan Meeting 026: Coinduction for computation structures and programming languages The research leading to these
More informationVariations of the Turing Machine
Variations of the Turing Machine 1 The Standard Model Infinite Tape a a b a b b c a c a Read-Write Head (Left or Right) Control Unit Deterministic 2 Variations of the Standard Model Turing machines with:
More informationClassical Combinatory Logic
Computational Logic and Applications, CLA 05 DMTCS proc. AF, 2006, 87 96 Classical Combinatory Logic Karim Nour 1 1 LAMA - Equipe de logique, Université de Savoie, F-73376 Le Bourget du Lac, France Combinatory
More informationParametric Polymorphism and Operational Improvement
Parametric Polymorphism and Operational Improvement JENNIFER HACKETT, University of Nottingham, UK GRAHAM HUTTON, University of Nottingham, UK Parametricity, in both operational and denotational forms,
More informationA 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 informationA 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 informationAn Automatic Theorem Prover for Relation Algebras
ARA An Automatic Theorem Prover for Relation Algebras Carsten Sinz Symbolic Computation Group, WSI for Computer Science, Universität Tübingen, Germany sinz@informatik.uni-tuebingen.de www-sr.informatik.uni-tuebingen.de/
More informationA Bisimulation-Like Proof Method for Contextual Properties in Untyped λ-calculus with References and Deallocation
A Bisimulation-Like Proof Method for Contextual Properties in Untyped λ-calculus with References and Deallocation Eijiro Sumii Graduate School of Information Sciences, Tohoku University, Aoba-ku Aramki
More informationA Differential Model Theory for Resource Lambda Calculi - Part II
A Differential Model Theory for Resource Lambda Calculi - Part II Giulio Manzonetto (joint work with Bucciarelli, Ehrhard, Laird, McCusker) g.manzonetto@cs.ru.nl Intelligent Systems Radboud University
More informationStrong Normalization for Guarded Types
Strong Normalization for Guarded Types Andreas Abel Andrea Vezzosi Department of Computer Science and Engineering Chalmers and Gothenburg University, Sweden PLS Seminar ITU, Copenhagen, Denmark 20 August
More informationStep-indexed models of call-by-name: a tutorial example
Step-indexed models of call-by-name: a tutorial example Aleš Bizjak 1 and Lars Birkedal 1 1 Aarhus University {abizjak,birkedal}@cs.au.dk June 19, 2014 Abstract In this tutorial paper we show how to construct
More informationUniversitä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 informationA subexponential lower bound for the Random Facet algorithm for Parity Games
A subexponential lower bound for the Random Facet algorithm for Parity Games Oliver Friedmann 1 Thomas Dueholm Hansen 2 Uri Zwick 3 1 Department of Computer Science, University of Munich, Germany. 2 Center
More informationToward a General Rewriting-Based Framework for Reducibility
Toward a General Rewriting-Based Framework for Reducibility Colin Riba INRIA Sophia Antipolis Médeterranée Colin.Riba@sophia.inria.fr December 18, 2008 Reducibility is a powerful proof method which applies
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 informationCommunication 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 informationSub-λ-calculi, Classified
Electronic Notes in Theoretical Computer Science 203 (2008) 123 133 www.elsevier.com/locate/entcs Sub-λ-calculi, Classified François-Régis Sinot Universidade do Porto (DCC & LIACC) Rua do Campo Alegre
More informationforty-two XLII Equivalent Computers? Lecture 40: Computing with Glue and Photons What is 42? cuarenta y dos Meaning of Numbers Meaning of Numbers
), #, R #,, - ), #, R #,, - Lecture 40: Computing with Glue and Photons Equivalent Computers? z z z... term = variable term term (term) λ variable. term λy. M α λv. (M [y α v]) where v does not occur in
More informationCoinductive big-step operational semantics
Coinductive big-step operational semantics Xavier Leroy a, Hervé Grall b a INRIA Paris-Rocquencourt Domaine de Voluceau, B.P. 105, 78153 Le Chesnay, France b École des Mines de Nantes La Chantrerie, 4,
More informationA theory of reflexive computation based on soft intuitionistic logic
A theory of reflexive computation based on soft intuitionistic logic Hubert Godfroy, Jean-Yves Marion To cite this version: Hubert Godfroy, Jean-Yves Marion. A theory of reflexive computation based on
More informationEquivalence of Algebraic λ -calculi extended abstract
Equivalence of Algebraic λ -calculi extended abstract Alejandro Díaz-Caro LIG, Université de Grenoble, France Alejandro.Diaz-Caro@imag.fr Christine Tasson CEA-LIST, MeASI, France Christine.Tasson@cea.fr
More informationUniversität Augsburg
Universität Augsburg Properties of Overwriting for Updates in Typed Kleene Algebras Thorsten Ehm Report 2000-7 Dezember 2000 Institut für Informatik D-86135 Augsburg Copyright c Thorsten Ehm Institut für
More informationAbout Typed Algebraic Lambda-calculi
About Typed Algebraic Lambda-calculi Benoît Valiron INRIA Saclay/LIX Palaiseau, France valiron@lix.polytechnique.fr Abstract Arrighi and Dowek (2008) introduce an untyped lambdacalculus together with a
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 informationThe structural λ-calculus
The structural λ-calculus Beniamino Accattoli and Delia Kesner PPS (CNRS and Université Paris Diderot) Abstract. Inspired by a recent graphical formalism for λ-calculus based on Linear Logic technology,
More informationOn Typability for Rank-2 Intersection Types with Polymorphic Recursion
On Typability for Rank-2 Intersection Types with Polymorphic Recursion Tachio Terauchi EECS Department University of California, Berkeley Alex Aiken Computer Science Department Stanford University Abstract
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 information