Simultaneous Checking of Completeness and Ground Confluence for Algebraic Specifications

被引:10
作者
Bouhoula, Adel [1 ]
机构
[1] Univ November 7th Carthage, Higher Sch Commun Tunis Supcom, Ariana 2083, Tunisia
关键词
Theory; Verification; Languages; Automated deduction; term rewriting systems; algebraic specifications; parameterization; completeness; ground confluence; TERM REWRITING-SYSTEMS; PARAMETERIZED SPECIFICATIONS; SUFFICIENT-COMPLETENESS; INDUCTION; CONSTRUCTORS; PROOFS;
D O I
10.1145/1507244.1507250
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Algebraic specifications provide a powerful method for the specification of abstract data types in programming languages and software systems. Completeness and ground confluence are fundamental notions for building algebraic specifications in a correct and modular way. Related works for checking ground confluence are based on the completion techniques or on the test that all critical pairs between axioms are valid with respect to a sufficient criterion for ground confluence. It is generally accepted that such techniques may be very inefficient, even for very small specifications. Indeed, the completion procedure often diverges and there often exist many critical pairs of the axioms. In this article, we present a procedure for simultaneously checking completeness and ground confluence for specifications with free/nonfree constructors and parameterized specifications. If the specification is not complete or not ground confluent, then our procedure will output the set of patterns on whose ground instances a function is not defined and it can easily identify the rules that break ground confluence. In contrast to previous work, our method does not rely on completion techniques and does not require the computation of critical pairs of the axioms. The method is entirely implemented and allowed us to prove the completeness and the ground confluence of many specifications in a completely automatic way, where related techniques diverge or generate very complex proofs. Our system offers two main components: (i) a completeness and ground confluence analyzer that computes pattern trees of defined functions and may generate some proof obligations; and (ii) a procedure to prove (joinable) inductive conjectures which is used to discharge these proof obligations.
引用
收藏
页数:33
相关论文
共 42 条
[1]  
[Anonymous], 1990, Handbook of Theoretical Computer Science, DOI DOI 10.1016/B978-0-444-88074-1.50018-4
[2]  
[Anonymous], 1985, EATCS MONOGRAPHS THE
[3]  
BECKER K, 1996, SR9602 SEKI U KAIS
[4]  
BECKER K, 1993, LNCS, V668, P46
[5]   IMPLICIT INDUCTION IN CONDITIONAL THEORIES [J].
BOUHOULA, A ;
RUSINOWITCH, M .
JOURNAL OF AUTOMATED REASONING, 1995, 14 (02) :189-235
[6]   Specification and proof in membership equational logic [J].
Bouhoula, A ;
Jouannaud, JP ;
Meseguer, J .
THEORETICAL COMPUTER SCIENCE, 2000, 236 (1-2) :35-132
[7]   Automata-driven automated induction [J].
Bouhoula, A ;
Jouannaud, JP .
INFORMATION AND COMPUTATION, 2001, 169 (01) :1-22
[8]   Simultaneous checking of completeness and ground confluence [J].
Bouhoula, A .
FIFTEENTH IEEE INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2000, :143-151
[9]   Automated mathematical induction [J].
Bouhoula, A ;
Kounalis, E ;
Rusinowitch, M .
JOURNAL OF LOGIC AND COMPUTATION, 1995, 5 (05) :631-668
[10]  
Bouhoula A, 1996, THEOR COMPUT SCI, V170, P245