Extensional Crisis and Proving Identity

Extensionality axioms are common when reasoning about data collections, such as arrays and functions in program analysis, or sets in mathematics. An extensionality axiom asserts that two collections are equal if they consist of the same elements at the same indices. Using extensionality is often required to show that two collections are equal. A typical example is the set theory theorem (∀x)(∀y)x∪y = y ∪x. Interestingly, while humans have no problem with proving such set identities using extensionality, they are very hard for superposition theorem provers because of the calculi they use. In this paper we show how addition of a new inference rule, called extensionality resolution, allows first-order theorem provers to easily solve problems no modern first-order theorem prover can solve. We illustrate this by running the VAMPIRE theorem prover with extensionality resolution on a number of set theory and array problems. Extensionality resolution helps VAMPIRE to solve problems from the TPTP library of first-order problems that were never solved before by any prover.

[1]  Henny B. Sipma,et al.  What's Decidable About Arrays? , 2006, VMCAI.

[2]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[3]  Geoff Sutcliffe The TPTP Problem Library and Associated Infrastructure , 2009, Journal of Automated Reasoning.

[4]  Tomás Vojnar,et al.  What Else Is Decidable about Integer Arrays? , 2008, FoSSaCS.

[5]  Robert S. Boyer,et al.  Computer Proofs of Limit Theorems , 1971, IJCAI.

[6]  Nikolaj Bjørner,et al.  Generalized, efficient array decision procedures , 2009, 2009 Formal Methods in Computer-Aided Design.

[7]  Leonardo Mendonça de Moura,et al.  Computation in Real Closed Infinitesimal and Transcendental Extensions of the Rationals , 2013, CADE.

[8]  Geoff Sutcliffe,et al.  The state of CASC , 2006, AI Commun..

[9]  Stephan Schulz,et al.  System Description: E 1.8 , 2013, LPAR.

[10]  Larry Wos,et al.  What Is Automated Reasoning? , 1987, J. Autom. Reason..

[11]  Peter Baumgartner,et al.  Hierarchic Superposition with Weak Abstraction , 2013, CADE.

[12]  Harald Ganzinger,et al.  Theory Instantiation , 2006, LPAR.

[13]  Philipp Rümmer,et al.  E-Matching with Free Variables , 2012, LPAR.

[14]  Maria Paola Bonacina,et al.  New results on rewrite-based satisfiability procedures , 2006, TOCL.

[15]  Harald Ganzinger,et al.  Resolution Theorem Proving , 2001, Handbook of Automated Reasoning.

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

[17]  Andrei Voronkov,et al.  Limited resource strategy in resolution theorem proving , 2003, J. Symb. Comput..

[18]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[19]  Ian Stark,et al.  Free-Algebra Models for the pi-Calculus , 2005, FoSSaCS.

[20]  Andrei Voronkov,et al.  First-Order Theorem Proving and Vampire , 2013, CAV.

[21]  Albert Rubio,et al.  Paramodulation-Based Theorem Proving , 2001, Handbook of Automated Reasoning.

[22]  Konstantin Korovin,et al.  iProver - An Instantiation-Based Theorem Prover for First-Order Logic (System Description) , 2008, IJCAR.

[23]  Harald Ganzinger,et al.  Refutational theorem proving for hierarchic first-order theories , 1994, Applicable Algebra in Engineering, Communication and Computing.