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

Size: px
Start display at page:

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

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

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 information

Simulation in the Call-by-Need Lambda-Calculus with letrec

Simulation 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 information

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

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

More information

Simulation 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 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 information

A 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 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 information

Towards Correctness of Program Transformations Through Unification and Critical Pair Computation

Towards 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 information

Applicative 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 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 information

Appendix of Safety of Nöcker s Strictness Analysis

Appendix 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 information

SIMULATION 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 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 information

Solutions to Exercises. Solution to Exercise 2.4. Solution to Exercise 2.5. D. Sabel and M. Schmidt-Schauß 1

Solutions 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 information

Extending Abramsky s Lazy Lambda Calculus: (Non)-Conservativity of Embeddings

Extending 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 information

Extending Abramsky s Lazy Lambda Calculus: (Non)-Conservativity of Embeddings

Extending 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 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

On Conservativity of Concurrent Haskell

On 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 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

Observational Semantics for a Concurrent Lambda Calculus with Reference Cells and Futures

Observational 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 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

On Coinduction and Quantum Lambda Calculi

On 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 information

A Call-by-Need Lambda Calculus with Scoped Work Decorations

A 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 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

The Permutative λ-calculus

The 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 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

λ S : A Lambda Calculus with Side-effects

λ 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 information

Encoding Induction in Correctness Proofs of Program Transformations as a Termination Problem

Encoding 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 information

Operationally-Based Theories of Program Equivalence

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

More information

MAKING THE UNOBSERVABLE, UNOBSERVABLE.

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

More information

Typing λ-terms. Types. Typed λ-terms. Base Types. The Typing Relation. Advanced Formal Methods. Lecture 3: Simply Typed Lambda calculus

Typing λ-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 information

Proving Soundness of Extensional Normal-Form Bisimilarities

Proving 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 information

Type Systems Winter Semester 2006

Type 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 information

Realizability Semantics of Parametric Polymorphism, General References, and Recursive Types

Realizability 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 information

Blame and Coercion: Together Again for the First Time

Blame 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 information

CBV and CBN. Eduardo Bonelli. TP para LP 2012C1 1/55

CBV 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 information

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

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

More information

Pattern Matching of Compressed Terms and Contexts and Polynomial Rewriting

Pattern 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 information

Strong normalization of a symmetric lambda calculus for second order classical logic

Strong 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 information

Command = Value Context. Hans-Dieter Hiep. 15th of June, /17

Command = 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 information

Observing Success in the Pi-Calculus

Observing 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 information

Categories, Proofs and Programs

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

More information

Contextual equivalence

Contextual 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 information

Variations on a theme: call-by-value and factorization

Variations 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 information

Making the unobservable, unobservable

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

More information

Techniques. Contextual equivalence

Techniques. 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 information

Observational Semantics for a Concurrent Lambda Calculus with Reference Cells and Futures

Observational 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 information

Simply Typed Lambda-Calculi (II)

Simply 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 information

Environmental Bisimulations for Probabilistic Higher-Order Languages

Environmental 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 information

Step-Indexed Logical Relations for Probability

Step-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 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

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages

Harvard 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 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

Correctness of an STM Haskell Implementation

Correctness 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 information

Communication and Concurrency: CCS

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

More information

Simply Typed Lambda Calculus

Simply 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 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

A Complete, Co-Inductive Syntactic Theory of Sequential Control and State

A 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 information

On Correctness of Buffer Implementations in a Concurrent Lambda Calculus with Futures

On 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 information

Information Flow Inference for ML

Information 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 information

Algorithms for Extended Alpha-Equivalence and Complexity

Algorithms 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 information

Skew and ω-skew Confluence and Infinite Normal Forms

Skew 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 information

Streams and Coalgebra Lecture 2

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

More information

arxiv: v3 [quant-ph] 4 Jan 2010

arxiv: 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 information

Typed Arithmetic Expressions

Typed 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 information

THE STRONG INVARIANCE THESIS

THE 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 information

Simulation and Bisimulation over Multiple Time Scales in a Behavioral Setting

Simulation 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 information

Dipartimento di Informatica Università degli Studi di Verona

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

More information

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

Call-by-value solvability, revisited

Call-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 information

Refined Environment Classifiers

Refined 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 information

Type 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. 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 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

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

Intersection Types and Lambda Theories

Intersection 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 information

Strong Normalization as Safe Interaction

Strong 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 information

Relating Reasoning Methodologies in Linear Logic and Process Algebra

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

More information

Operational Semantics Using the Partiality Monad

Operational 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 information

Variations of the Turing Machine

Variations 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 information

Classical Combinatory Logic

Classical 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 information

Parametric Polymorphism and Operational Improvement

Parametric 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 information

A semantic framework for open processes

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

More information

A Semantic Framework for Open Processes

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

More information

An Automatic Theorem Prover for Relation Algebras

An 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 information

A 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 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 information

A Differential Model Theory for Resource Lambda Calculi - Part II

A 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 information

Strong Normalization for Guarded Types

Strong 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 information

Step-indexed models of call-by-name: a tutorial example

Step-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 information

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

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

More information

A subexponential lower bound for the Random Facet algorithm for Parity Games

A 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 information

Toward a General Rewriting-Based Framework for Reducibility

Toward 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 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

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

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

More information

Sub-λ-calculi, Classified

Sub-λ-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 information

forty-two XLII Equivalent Computers? Lecture 40: Computing with Glue and Photons What is 42? cuarenta y dos Meaning of Numbers Meaning of Numbers

forty-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 information

Coinductive big-step operational semantics

Coinductive 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 information

A theory of reflexive computation based on soft intuitionistic logic

A 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 information

Equivalence of Algebraic λ -calculi extended abstract

Equivalence 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 information

Universität Augsburg

Universitä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 information

About Typed Algebraic Lambda-calculi

About 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 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

The structural λ-calculus

The 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 information

On Typability for Rank-2 Intersection Types with Polymorphic Recursion

On 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 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