Tree-Manipulating Systems and Church-Rosser Theorems
- 1 January 1973
- journal article
- Published by Association for Computing Machinery (ACM) in Journal of the ACM
- Vol. 20 (1), 160-187
- https://doi.org/10.1145/321738.321750
Abstract
Subtree replacement systems form a broad class of tree-manipulating systems. Systems with the “Church-Rosser property” are appropriate for evaluation or translation processes: the end result of a complete sequence of applications of the rules does not depend on the order in which the rules were applied. Theoretical and practical advantages of such flexibility are sketched. Values or meanings for trees can be defined by simple mathematical systems and then computed by the cheapest available algorithm, however intricate that algorithm may be. We derive sufficient conditions for the Church-Rosser property and discuss their applications to recursive definitions, to the lambda calculus, and to parallel programming. Only the first application is treated in detail. We extend McCarthy's recursive calculus by allowing a choice between call-by-value and call-by-name. We show that recursively defined functions are single-valued despite the nondeterminism of the evaluation algorithm. We also show that these functions solve their defining equations in a “canonical” manner.Keywords
This publication has 10 references indexed in Scilit:
- Form and Content in Computer Science (1970 ACM turing lecture)Journal of the ACM, 1970
- Translating recursion equations into flow chartsPublished by Association for Computing Machinery (ACM) ,1970
- Towards a theory of semantics and compilers for programming languagesJournal of Computer and System Sciences, 1969
- Parallel program schemataJournal of Computer and System Sciences, 1969
- Tree generating regular systemsInformation and Control, 1969
- Characterizing derivation trees of context-free grammars through a generalization of finite automata theoryJournal of Computer and System Sciences, 1967
- Functionals defined by recursion.Notre Dame Journal of Formal Logic, 1967
- Revised report on the algorithmic language ALGOL 60Communications of the ACM, 1963
- Recursive functions of symbolic expressions and their computation by machine, Part ICommunications of the ACM, 1960
- Some properties of conversionTransactions of the American Mathematical Society, 1936