## Computational Soundness of a Call by Name Calculus of Recursively-scoped Records. Working Papers Series

Citations: | 1 - 0 self |

### BibTeX

@MISC{Machkasova_computationalsoundness,

author = {Elena Machkasova},

title = {Computational Soundness of a Call by Name Calculus of Recursively-scoped Records. Working Papers Series},

year = {}

}

### OpenURL

### Abstract

The paper presents a calculus of recursively-scoped records: a two-level calculus with a traditional call-byname λ-calculus at a lower level and unordered collections of labeled λ-calculus terms at a higher level. Terms in records may reference each other, possibly in a mutually recursive manner, by means of labels. We define two relations: a rewriting relation that models program transformations and an evaluation relation that defines a small-step operational semantics of records. Both relations follow a call-by-name strategy. We use a special symbol called a black hole to model cyclic dependencies that lead to infinite substitution. Computational soundness is a property of a calculus that connects the rewriting relation and the evaluation relation: it states that any sequence of rewriting steps (in either direction) preserves the meaning of a record as defined by the evaluation relation. The computational soundness property implies that any program transformation that can be represented as a sequence of forward and backward rewriting steps preserves the meaning of a record as defined by the small step operational semantics. In this paper we describe the computational soundness framework and prove computational soundness of the calculus. The proof is based on a novel inductive context-based argument for meaning preservation of substituting one component into another. Keywords: Calculus, call-by-name, computational soundness, recursively-scoped records

### Citations

171 | Call-by-name, call-by-value, and the lambda calculus - Plotkin - 1975 |

71 | An introduction to term graph rewriting
- KENNAWAY, KLOP, et al.
- 1993
(Show Context)
Citation Context ...Ariola and J. W. Klop studied issues of confluence and meaning preservation in similar systems of mutually dependent components. The straightforward definition of such a system breaks confluence (see =-=[3]-=-). In [4], in order to achieve confluence, substitution on cycles is disallowed. In [2] Z. M. Ariola and S. Blom show that unrestricted cyclic substitution is meaning preserving up to infinite unwindi... |

38 | J.W.: Lambda calculus with explicit recursion
- Ariola, Klop
- 1997
(Show Context)
Citation Context ...d J. W. Klop studied issues of confluence and meaning preservation in similar systems of mutually dependent components. The straightforward definition of such a system breaks confluence (see [3]). In =-=[4]-=-, in order to achieve confluence, substitution on cycles is disallowed. In [2] Z. M. Ariola and S. Blom show that unrestricted cyclic substitution is meaning preserving up to infinite unwindings of te... |

28 |
Skew confluence and the lambda calculus with letrec
- Ariola, Blom
(Show Context)
Citation Context ...systems of mutually dependent components. The straightforward definition of such a system breaks confluence (see [3]). In [4], in order to achieve confluence, substitution on cycles is disallowed. In =-=[2]-=- Z. M. Ariola and S. Blom show that unrestricted cyclic substitution is meaning preserving up to infinite unwindings of terms; their proof uses an approach that they call “skew-confluence”. In our ear... |

22 | A calculus for link-time compilation
- Machkasova, Turbak
- 2000
(Show Context)
Citation Context ...or computational soundness: it lacks confluence of the rewriting relation required for Plotkin’s original proof method and it fails to satisfy lift and project properties required for the approach in =-=[10]-=-. We use a novel context-based approach to complete the proof. It is an open question whether the proof can also be completed using an alternative diagram-based approach in [14]. The main contribution... |

7 | FUNDIO: A Lambda-Calculus with a letrec, case, Constructors, and an IO-Interface: Approaching a Theory of unsafePerformIO. Frank report 16, Institut für
- Schmidt-Schauß
(Show Context)
Citation Context ...lly recursive manner. Representation of mutual dependencies arises in many calculi that model separate compilation, modules and linking, e.g. [1,15], dynamic code manipulation, e.g. [6], letrec, e.g. =-=[13]-=-. While our system has a much more modest set of features, it captures the essence of mutual dependencies – substitution with a possibility of cyclic dependencies. We use a common approach pioneered b... |

6 |
Barendregt: The Lambda Calculus, its Syntax and semantics
- P
- 1984
(Show Context)
Citation Context ...two proof methods is a subject of future research. 3 Call-by-Name Calculus of Records Records are unordered collections of labeled terms. Terms are elements of the traditional call-by-name λ-calculus =-=[5]-=-, extended with constants, operations, and special symbols that represent interdependencies between terms. Each term in a record is marked by its unique label. The system can be viewed as a two-level ... |

5 |
and René Vestergaard: Equational reasoning for linking with first-class primitive modules
- Wells
- 2000
(Show Context)
Citation Context ...ponents that may reference each other, possibly in a mutually recursive manner. Representation of mutual dependencies arises in many calculi that model separate compilation, modules and linking, e.g. =-=[1,15]-=-, dynamic code manipulation, e.g. [6], letrec, e.g. [13]. While our system has a much more modest set of features, it captures the essence of mutual dependencies – substitution with a possibility of c... |

4 |
Computational Soundness of Non-Confluent Calculi with Applications to Modules and Linking
- Machkasova
- 2002
(Show Context)
Citation Context ...ola and S. Blom show that unrestricted cyclic substitution is meaning preserving up to infinite unwindings of terms; their proof uses an approach that they call “skew-confluence”. In our earlier work =-=[10,7]-=-, we proved computational soundness of a non-confluent call-by-value calculus of records similar to the one considered here. We developed and used a diagram-based proof method based on properties that... |

3 | Correctness of copy in calculi with letrec, case and constructors. Frank report 28, Institut für Informatik. Fachbereich Informatik und
- Schmidt-Schauß
- 2007
(Show Context)
Citation Context ... presented in [14]. Nevertheless, the novel inductive context-based method presented here allows us to prove computational soundness of the call-by-name system. 2Machkasova A recent independent work =-=[12]-=- by M. Schmidt-Schauß presents a proof of correctness of a copy rule (analogous to our substitution rule) in a call-by-need and a call-by-name settings. The proof approach uses the machinery of infini... |

3 |
Detlef Plump, and Fairouz Kamareddine: Diagrams for meaning preservation
- Wells
- 2003
(Show Context)
Citation Context ...ed for the approach in [10]. We use a novel context-based approach to complete the proof. It is an open question whether the proof can also be completed using an alternative diagram-based approach in =-=[14]-=-. The main contribution of the paper is the computational soundness proof of a call-by-name calculus of mutually dependent components in the framework of term meaning defined via a small-step operatio... |

2 |
and Elena Zucca: A calculus of module systems
- Ancona
(Show Context)
Citation Context ...ponents that may reference each other, possibly in a mutually recursive manner. Representation of mutual dependencies arises in many calculi that model separate compilation, modules and linking, e.g. =-=[1,15]-=-, dynamic code manipulation, e.g. [6], letrec, e.g. [13]. While our system has a much more modest set of features, it captures the essence of mutual dependencies – substitution with a possibility of c... |

2 |
Fagorzi and Elena Zucca: A Calculus for Reconfiguration: (Extended abstract
- Sonia
(Show Context)
Citation Context ...ossibly in a mutually recursive manner. Representation of mutual dependencies arises in many calculi that model separate compilation, modules and linking, e.g. [1,15], dynamic code manipulation, e.g. =-=[6]-=-, letrec, e.g. [13]. While our system has a much more modest set of features, it captures the essence of mutual dependencies – substitution with a possibility of cyclic dependencies. We use a common a... |

2 | Christiansen: Call-by-name Calculus of Records and its Basic Properties. Working Papers Series
- Machkasova, E
(Show Context)
Citation Context ...onfluence of Evaluation) ⇒ is confluent on records. Proof. Case analysis on pairs of evaluation redexes shows that evaluation satisfies the strip lemma (see [5], Ch. 11) which implies confluence. See =-=[9]-=- for details 4 . ✷ The presence of a black hole in the calculus is essential for confluence of evaluation. Consider the following record: [l1 ↦→ 2 + l2, l2 ↦→ l1 + 1]. Note that both labels are in eva... |