1 research outputs found
Proving Ground Confluence of Equational Specifications Modulo Axioms
Terminating functional programs should be deterministic,
i.e., should evaluate to a unique result, regardless of the
evaluation order. For equational functional programs such
determinism is exactly captured by the ground confluence
property. For terminating equations this is equivalent to
ground local confluence, which follows from local
confluence. Checking local confluence by computing critical
pairs is the standard way to check ground confluence. The
problem is that some perfectly reasonable equational programs are
not locally confluent and it can be very hard or even impossible
to make them so by adding more equations. We propose a three-step
strategy to prove that an equational program as is is ground
confluent: First: apply the strategy proposed
in [8] to use non-joinable critical pairs as
completion hints to either achieve local confluence or reduce
the number of critical pairs. Second: use the inductive
inference system proposed in this paper to prove the remaining
critical pairs ground joinable. Third: to show ground
confluence of the original specification, prove also ground joinable
the equations added. These methods apply to
order-sorted and possibly conditional equational programs modulo
axioms such as, e.g., Maude functional modules.This work has been partially supported by NRL under contract number N00173-17-1-G002.Ope