Extensional crisis and proving identity
Paper i proceeding, 2014

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.


A. Gupta

Institute of Science and Technology Austria

Laura Kovacs

Chalmers, Data- och informationsteknik, Programvaruteknik

B. Kragl

Institute of Science and Technology Austria

Technische Universität Wien

A. Voronkov

University of Manchester

Lecture Notes in Computer Science

0302-9743 (ISSN)

Vol. 8837 185-200


Data- och informationsvetenskap