2015
DOI: 10.2168/lmcs-11(1:7)2015
|View full text |Cite
|
Sign up to set email alerts
|

Simulation in the Call-by-Need Lambda-Calculus with Letrec, Case, Constructors, and Seq

Abstract: Abstract. This paper shows equivalence of several versions of applicative similarity and contextual approximation, and hence also of applicative bisimilarity and contextual equivalence, in LR, the deterministic call-by-need lambda calculus with letrec extended by data constructors, case-expressions and Haskell's seq-operator. LR models an untyped version of the core language of Haskell. The use of bisimilarities simplifies equivalence proofs in calculi and opens a way for more convenient correctness proofs for… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

1
8
0

Year Published

2015
2015
2017
2017

Publication Types

Select...
4
2

Relationship

3
3

Authors

Journals

citations
Cited by 9 publications
(9 citation statements)
references
References 40 publications
1
8
0
Order By: Relevance
“…Here we can built upon a detailed analysis of reduction lengths (performed in [20] in the context of a strictness analysis); the method of using diagrams to compute and join overlappings between reductions and transformations which we developed and applied in several works [7,20,13,14] to show correctness of program transformations; and correctness of inlining (or common subexpression elimination) via infinite expressions (unfolding the letrecs) established in [19]. We prefer analyzing reductions in LR, due to the success of the diagram method in LR.…”
Section: Goals and Resultsmentioning
confidence: 99%
See 2 more Smart Citations
“…Here we can built upon a detailed analysis of reduction lengths (performed in [20] in the context of a strictness analysis); the method of using diagrams to compute and join overlappings between reductions and transformations which we developed and applied in several works [7,20,13,14] to show correctness of program transformations; and correctness of inlining (or common subexpression elimination) via infinite expressions (unfolding the letrecs) established in [19]. We prefer analyzing reductions in LR, due to the success of the diagram method in LR.…”
Section: Goals and Resultsmentioning
confidence: 99%
“…We also recall several results from previous investigations: from [20] we reuse a counting theorem for reduction lengths and correctness of several program transformations. From [19] we reuse correctness of copying arbitrary expressions.…”
Section: The Call-by-need Lambda Calculus Lrmentioning
confidence: 99%
See 1 more Smart Citation
“…both letrec-environments are non-empty and the let-variables of the inner environment are distinct from all variables occurring in the outer environment. An example where a non-empty context constraint is required is the following reduction rule from the calculus L need [18] which copies an abstraction into a needed position in a letrec-environment: While for ground expressions, α-renaming is a well-known task, our se ing is di erent. We want to apply α-renaming to the meta-expressions of LRSX, which of course cannot be computed for meta-variables until they are instantiated and become concrete expressions.…”
Section: 2mentioning
confidence: 99%
“…ese constructs are required to model typical small-step reduction rules of callby-need program calculi where reduction strategies are expressed by using an appropriate class of evaluation contexts (see e.g. [2,1,19,18]). …”
Section: Introductionmentioning
confidence: 99%