کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
433279 | 1441654 | 2015 | 27 صفحه PDF | دانلود رایگان |

• We make the addition of equationally defined equality predicates effective and automatic by means of a transformation.
• The transformation is constructive and valid for a wide class of equational specifications.
• All the expected good properties of the input theory are preserved by the transformation.
• The transformation is implemented in Maude and integrated into Maude formal tools.
Built-in equality and inequality predicates based on comparison of canonical forms in algebraic specifications are frequently used because they are handy and efficient. However, their use places algebraic specifications with initial algebra semantics beyond the pale of theorem proving tools based, for example, on explicit or inductionless induction techniques, and of other formal tools for checking key properties such as confluence, termination, and sufficient completeness. Such specifications would instead be amenable to formal analysis if an equationally-defined equality predicate enriching the algebraic data types were to be added to them. Furthermore, having an equationally-defined equality predicate is very useful in its own right, particularly in inductive theorem proving. Is it possible to effectively define a theory transformation E↦E∼E↦E∼ that extends an algebraic specification EE to a specification E∼E∼ having an equationally-defined equality predicate? This paper answers this question in the affirmative for a broad class of order-sorted conditional specifications EE that are sort-decreasing, ground confluent, and operationally terminating modulo axioms B and have a subsignature of constructors. The axioms B can consist of associativity, or commutativity, or associativity–commutativity axioms, so that the constructors are free modulo B . We prove that the transformation E↦E∼E↦E∼ preserves all the just-mentioned properties of EE. The transformation has been automated in Maude using reflection and is used as a component in many Maude formal tools.
Journal: Science of Computer Programming - Volume 99, 1 March 2015, Pages 235–261