Formalizing the Confluence of Orthogonal Rewriting Systems

Orthogonality is a discipline of programming that in a syntactic manner guarantees determinism of functional specifications. Essentially, orthogonality avoids, on the one side, the inherent ambiguity of non determinism, prohibiting the existence of different rules that specify the same function and that may apply simultaneously (non-ambiguity), and, on the other side, it eliminates the possibility of occurrence of repetitions of variables in the left-hand side of these rules (left linearity). In the theory of term rewriting systems (TRSs) determinism is captured by the well-known property of confluence, that basically states that whenever different computations or simplifications from a term are possible, the computed answers should coincide. Although the proofs are technically elaborated, confluence is well-known to be a consequence of orthogonality. Thus, orthogonality is an important mathematical discipline intrinsic to the specification of recursive functions that is naturally applied in functional programming and specification. Starting from a formalization of the theory of TRSs in the proof assistant PVS, this work describes how confluence of orthogonal TRSs has been formalized, based on axiomatizations of properties of rules, positions and substitutions involved in parallel steps of reduction, in this proof assistant. Proofs for some similar but restricted properties such as the property of confluence of non-ambiguous and (left and right) linear TRSs have been fully formalized.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/16/2021

Facilitating Meta-Theory Reasoning (Invited Paper)

Structural proof theory is praised for being a symbolic approach to reas...
research
10/01/2019

Extraction of Efficient Programs in IΣ_1-arithmetic

Clausal Language (CL) is a declarative programming and verifying system ...
research
02/04/2021

Parallel Independence in Attributed Graph Rewriting

In order to define graph transformations by the simultaneous application...
research
09/04/2019

Proof-Based Synthesis of Sorting Algorithms Using Multisets in Theorema

Using multisets, we develop novel techniques for mechanizing the proofs ...
research
05/21/2018

One Monad to Prove Them All (Functional Pearl)

One Monad to Prove Them All is a modern fairy tale about curiosity and p...
research
07/15/2017

Memoisation: Purely, Left-recursively, and with (Continuation Passing) Style

Memoisation, or tabling, is a well-known technique that yields large imp...
research
06/04/2019

Learning dynamic polynomial proofs

Polynomial inequalities lie at the heart of many mathematical discipline...

Please sign up or login with your details

Forgot password? Click here to reset