Litcius/Paper detail

Context-sensitive Rewriting

Salvador Lucas

2020ACM Computing Surveys14 citationsDOIOpen Access PDF

Abstract

The appropriate selection of the arguments of functions that can be evaluated in function calls is often useful to improve efficiency, speed, termination behavior, and so on. This is essential, e.g., in the conditional if - then - else operator. We can specify this by associating a set μ(f) of indices of evaluable arguments to each function symbol f . With μ (if - then - else)={1}, only the Boolean argument b in calls if b , then e else e' is evaluated. In the realm of term rewriting, this is called context-sensitive rewriting . It has been proven useful to improve the termination behavior of rewriting computations while it is still able to compute (or approximate) canonical forms like head-normal forms, (infinite) values, and (infinite) normal forms by requiring a few reasonable conditions. This article provides an overview of basic results to use context-sensitive rewriting in practice.

Topics & Concepts

RewritingComputer scienceTerm (time)Context (archaeology)Set (abstract data type)ConfluenceFunction (biology)Theoretical computer scienceArgument (complex analysis)AlgorithmProgramming languageBiochemistryPhysicsChemistryQuantum mechanicsEvolutionary biologyBiologyPaleontologyLogic, programming, and type systemsFormal Methods in VerificationSecurity and Verification in Computing