Abstract

Orthogonality is a discipline of programming which syntactically guarantees determinism of functional specifications. Essentially, orthogonality avoids critical forks in term rewriting systems (TRSs) twofold: avoiding overlappings between left-hand sides of the rules (non-ambiguity) prohibiting rules in the definitions of functions that may apply simultaneously and forbidding repetitions of variables in the left-hand side of the rules (left-linearity) that may produce forks. In the theory of term rewriting systems, determinism is captured by the well-known property of confluence that is a consequence of orthogonality. This work describes a complete formalization in PVS of the theorem of confluence of orthogonal term rewriting systems. The formalization includes definitions and results on parallel reduction, in particular Rosen’s Parallel Moves Lemma. It is made available as a PVS theoryorthogonality inside the directory TRS of the NASA Langley PVS Library. Like all of TRS, orthogonality is intended to stay close to textbook proofs. The present proof uses the Parallel Moves Lemma at dominating positions of a parallel context. In this manner, all parallel forks filling the holes of the context are joined and, as result, a term of joinability for the whole fork is constructed.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call