On the confluence of lambda-calculus with conditional rewriting

Frédéric Blanqui,Claude Kirchner,Colin Riba
DOI: https://doi.org/10.1007/11690634%5C_26
2006-09-12
Abstract:The confluence of untyped lambda-calculus with unconditional rewriting has already been studied in various directions. In this paper, we investigate the confluence of lambda-calculus with conditional rewriting and provide general results in two directions. First, when conditional rules are algebraic. This extends results of Muller and Dougherty for unconditional rewriting. Two cases are considered, whether beta-reduction is allowed or not in the evaluation of conditions. Moreover, Dougherty's result is improved from the assumption of strongly normalizing beta-reduction to weakly normalizing beta-reduction. We also provide examples showing that outside these conditions, modularity of confluence is difficult to achieve. Second, we go beyond the algebraic framework and get new confluence results using an extended notion of orthogonality that takes advantage of the conditional part of rewrite rules.
Logic in Computer Science,Programming Languages
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the confluence problem in the combination of lambda calculus and conditional rewriting systems. Specifically, the author has studied how the confluence of lambda calculus is affected after introducing conditional rewriting rules, and provided general results in two directions: 1. **When the conditional rules are in algebraic form**: Extended the existing results of Müller and Dougherty for unconditional rewriting. Considered two cases: whether beta - reduction is allowed in condition evaluation or not. In addition, improved Dougherty's result from strong beta - reduction to weak beta - reduction. Also provided examples to illustrate that under these conditions, modular confluence is difficult to achieve. 2. **Beyond the algebraic framework**: Used a restricted concept of orthogonality, which takes advantage of the conditional part of the rewriting rules, to obtain new confluence results. ### Specific problem description - **Background**: Lambda calculus and rewriting systems are two general - purpose computational models, which are widely used in the design of programming languages, logical frameworks, and the foundation of proof assistants. Lambda calculus allows the manipulation of abstractions and higher - order variables, while the rewriting system is good at defining functions on data types and handling equations. - **Core of the problem**: When conditional rewriting is introduced into lambda calculus, confluence (i.e., the final result is the same regardless of the computational path) is an important property. In particular, without assuming termination, how to ensure the confluence after combining beta - reduction and conditional rewriting. ### Main contributions of the paper - **Confluence under algebraic conditional rules**: Studied whether the combination of lambda calculus and conditional rewriting maintains confluence when the conditional rules are in algebraic form. In particular, provided detailed analysis and results in different cases of whether beta - reduction is allowed when evaluating conditions. - **New confluence results beyond the algebraic framework**: By introducing a restricted concept of orthogonality, more extensive confluence results were obtained, which are not limited to the algebraic framework. ### Why is this problem important? - **Applications in computation and deduction**: Conditional rewriting is very convenient in programming. Especially when combined with high - order features, it can provide a flexible background for combining algebraic and functional programming. - **Applications in proof assistants**: In proof assistants based on the de Bruijn - Curry - Howard isomorphism, the ability to automatically define functions and prove equations is very important, especially when conducting large - scale proof development. By solving these problems, the paper provides a theoretical basis for understanding the combination of lambda calculus and conditional rewriting, which is helpful for further developing efficient programming languages and proof tools.