Sufficient Completeness Checking with Propositional Tree Automata
Joe Hendrix, Hitoshi Ohsaki, José Meseguer · Illinois Digital Environment for Access to Learning and Scholarship (University of Illinois at Urbana-Champaign) · 2005
Abstract. Sufficient completeness means that enough equations have been specified, so that the functions of an equational specification are fully defined on all relevant data. This is important for both debugging and formal reasoning. In this work we extend sufficient completeness methods to handle expressive specifications involving: (i) partiality; (ii) conditional equations; and (iii) deduction modulo axioms. Specifically, we give useful characterizations of the sufficient completeness property for membership equational logic (MEL) specifications having features (i)– (iii). We also propose a kind of equational tree automata [18, 22], called propositional tree automata (PTA) and identify a class of MEL specifications (called PTA-checkable) whose sufficient completeness problem is equivalent to the emptiness problem of their associated PTA. When the reasoning modulo involves only symbols that are either associative and commutative (AC) or free, we further show that the emptiness of AC-PTA is decidable, and therefore that the sufficient completeness of AC-PTAcheckable specifications is decidable. The methods presented here can serve as a basis for building a next-generation sufficient completeness tool for MEL specifications having features (i)–(iii). These features are widely used in practice, and are supported by languages such as Maude and other advanced specification and equational programming languages.