Combining Data Structures with Nonstably Infinite Theories Using Many-Sorted Logic

Most computer programs store elements of a given nature into container-based data structures such as lists, arrays, sets, and multisets. To verify the correctness of these programs, one needs to combine a theory S modeling the data structure with a theory T modeling the elements. This combination can be achieved using the classic Nelson-Oppen method only if both S and T are stably infinite. The goal of this paper is to relax the stable infiniteness requirement. To achieve this goal, we introduce the notion of polite theories, and we show that natural examples of polite theories include those modeling data structures such as lists, arrays, sets, and multisets. Furthemore, we provide a method that is able to combine a polite theory S with any theory T of the elements, regardless of whether T is stably infinite or not. The results of this paper generalize to many-sorted logic those recently obtained by Tinelli and Zarba concerning the combination of shiny theories with nonstably infinite theories in one-sorted logic.

[1]  Viorica Sofronie-Stokkermans,et al.  Hierarchic Reasoning in Local Theory Extensions , 2005, CADE.

[2]  Pascal Fontaine,et al.  Combining Non-stably Infinite, Non-first Order Theories , 2005, D/PDPAR@IJCAR.

[3]  Frank Wolter,et al.  Monodic fragments of first-order temporal logics: 2000-2001 A.D , 2001, LPAR.

[4]  Silvio Ranise,et al.  Light-weight theorem proving for debugging and verifying units of code , 2003, First International Conference onSoftware Engineering and Formal Methods, 2003.Proceedings..

[5]  Andrei Voronkov,et al.  Automated Deduction—CADE-18 , 2002, Lecture Notes in Computer Science.

[6]  David L. Dill,et al.  A decision procedure for fixed-width bit-vectors , 2005 .

[7]  Michel Bidoit,et al.  Behavioural Theories and the Proof of Behavioural Properties , 1996, Theor. Comput. Sci..

[8]  Calogero G. Zarba Combining Sets with Elements , 2003, Verification: Theory and Practice.

[9]  Franz Baader,et al.  Connecting Many-Sorted Structures and Theories Through Adjoint Functions , 2005, FroCoS.

[10]  Calogero G. Zarba,et al.  Combining Nonstably Infinite Theories , 2005, Journal of Automated Reasoning.

[11]  Harald Ganzinger,et al.  Shostak Light , 2002, CADE.

[12]  Calogero G. Zarba,et al.  Combining Decision Procedures for Sorted Theories , 2004, JELIA.

[13]  Nachum Dershowitz,et al.  Verification: Theory and Practice , 2004, Lecture Notes in Computer Science.

[14]  Franz Baader,et al.  Connecting many-sorted theories , 2005, Journal of Symbolic Logic.

[15]  Frank Wolter,et al.  Semi-qualitative Reasoning about Distances: A Preliminary Report , 2000, JELIA.

[16]  Jean-François Couchot,et al.  Scalable Automated Proving and Debugging of Set-Based Specifications , 2003, J. Braz. Comput. Soc..

[17]  Calogero G. Zarba Combining Multisets with Integers , 2002, CADE.

[18]  Calogero G. Zarba,et al.  Combining Lists with Non-stably Infinite Theories , 2005, LPAR.

[19]  Graham Steel,et al.  Deduction with XOR Constraints in Security API Modelling , 2005, CADE.