We define a rewrite strategy for a class of non-confluent constructor-based term graph rewriting systems and discuss its correctness. Our strategy and its extension to narrowing...
Abstract. We show that non-determinism simplifies coding certain problems into programs. We define a non-confluent, but well-behaved class of rewrite systems for supporting non-...
—A system of linear dependent types for the lambda calculus with full higher-order recursion, called d PCF, is introduced and proved sound and relatively complete. Completeness h...
We introduce a dynamic logic that is enriched by non-rigid functions, i.e., functions that may change their value from state to state (during program execution), and we present a (...
The existing call-by-need λ calculi describe lazy evaluation via equational logics. A programmer can use these logics to safely ascertain whether one term is behaviorally equivale...