818 research outputs found
Subsumption Demodulation in First-Order Theorem Proving
Motivated by applications of first-order theorem proving to software analysis, we introduce a new inference rule, called subsumption demodulation, to improve support for reasoning with conditional equalities in superposition-based theorem proving. We show that subsumption demodulation is a simplification rule that does not require radical changes to the underlying superposition calculus. We implemented subsumption demodulation in the theorem prover Vampire, by extending Vampire with a new clause index and adapting its multi-literal matching component. Our experiments, using the TPTP and SMT-LIB repositories, show that subsumption demodulation in Vampire can solve many new problems that could so far not be solved by state-of-the-art reasoners
Subsumption Demodulation in First-Order Theorem Proving
Motivated by applications of first-order theorem proving to software
analysis, we introduce a new inference rule, called subsumption demodulation,
to improve support for reasoning with conditional equalities in
superposition-based theorem proving. We show that subsumption demodulation is a
simplification rule that does not require radical changes to the underlying
superposition calculus. We implemented subsumption demodulation in the theorem
prover Vampire, by extending Vampire with a new clause index and adapting its
multi-literal matching component. Our experiments, using the TPTP and SMT-LIB
repositories, show that subsumption demodulation in Vampire can solve many new
problems that could so far not be solved by state-of-the-art reasoners
LNCS
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
Splitting Proofs for Interpolation
We study interpolant extraction from local first-order refutations. We
present a new theoretical perspective on interpolation based on clearly
separating the condition on logical strength of the formula from the
requirement on the com- mon signature. This allows us to highlight the space of
all interpolants that can be extracted from a refutation as a space of simple
choices on how to split the refuta- tion into two parts. We use this new
insight to develop an algorithm for extracting interpolants which are linear in
the size of the input refutation and can be further optimized using metrics
such as number of non-logical symbols or quantifiers. We implemented the new
algorithm in first-order theorem prover VAMPIRE and evaluated it on a large
number of examples coming from the first-order proving community. Our
experiments give practical evidence that our work improves the state-of-the-art
in first-order interpolation.Comment: 26th Conference on Automated Deduction, 201
The Vampire and the FOOL
This paper presents new features recently implemented in the theorem prover
Vampire, namely support for first-order logic with a first class boolean sort
(FOOL) and polymorphic arrays. In addition to having a first class boolean
sort, FOOL also contains if-then-else and let-in expressions. We argue that
presented extensions facilitate reasoning-based program analysis, both by
increasing the expressivity of first-order reasoners and by gains in
efficiency
Premise Selection for Mathematics by Corpus Analysis and Kernel Methods
Smart premise selection is essential when using automated reasoning as a tool
for large-theory formal proof development. A good method for premise selection
in complex mathematical libraries is the application of machine learning to
large corpora of proofs. This work develops learning-based premise selection in
two ways. First, a newly available minimal dependency analysis of existing
high-level formal mathematical proofs is used to build a large knowledge base
of proof dependencies, providing precise data for ATP-based re-verification and
for training premise selection algorithms. Second, a new machine learning
algorithm for premise selection based on kernel methods is proposed and
implemented. To evaluate the impact of both techniques, a benchmark consisting
of 2078 large-theory mathematical problems is constructed,extending the older
MPTP Challenge benchmark. The combined effect of the techniques results in a
50% improvement on the benchmark over the Vampire/SInE state-of-the-art system
for automated reasoning in large theories.Comment: 26 page
Premise Selection and External Provers for HOL4
Learning-assisted automated reasoning has recently gained popularity among
the users of Isabelle/HOL, HOL Light, and Mizar. In this paper, we present an
add-on to the HOL4 proof assistant and an adaptation of the HOLyHammer system
that provides machine learning-based premise selection and automated reasoning
also for HOL4. We efficiently record the HOL4 dependencies and extract features
from the theorem statements, which form a basis for premise selection.
HOLyHammer transforms the HOL4 statements in the various TPTP-ATP proof
formats, which are then processed by the ATPs. We discuss the different
evaluation settings: ATPs, accessible lemmas, and premise numbers. We measure
the performance of HOLyHammer on the HOL4 standard library. The results are
combined accordingly and compared with the HOL Light experiments, showing a
comparably high quality of predictions. The system directly benefits HOL4 users
by automatically finding proofs dependencies that can be reconstructed by
Metis
Learning-Assisted Automated Reasoning with Flyspeck
The considerable mathematical knowledge encoded by the Flyspeck project is
combined with external automated theorem provers (ATPs) and machine-learning
premise selection methods trained on the proofs, producing an AI system capable
of answering a wide range of mathematical queries automatically. The
performance of this architecture is evaluated in a bootstrapping scenario
emulating the development of Flyspeck from axioms to the last theorem, each
time using only the previous theorems and proofs. It is shown that 39% of the
14185 theorems could be proved in a push-button mode (without any high-level
advice and user interaction) in 30 seconds of real time on a fourteen-CPU
workstation. The necessary work involves: (i) an implementation of sound
translations of the HOL Light logic to ATP formalisms: untyped first-order,
polymorphic typed first-order, and typed higher-order, (ii) export of the
dependency information from HOL Light and ATP proofs for the machine learners,
and (iii) choice of suitable representations and methods for learning from
previous proofs, and their integration as advisors with HOL Light. This work is
described and discussed here, and an initial analysis of the body of proofs
that were found fully automatically is provided
HOL(y)Hammer: Online ATP Service for HOL Light
HOL(y)Hammer is an online AI/ATP service for formal (computer-understandable)
mathematics encoded in the HOL Light system. The service allows its users to
upload and automatically process an arbitrary formal development (project)
based on HOL Light, and to attack arbitrary conjectures that use the concepts
defined in some of the uploaded projects. For that, the service uses several
automated reasoning systems combined with several premise selection methods
trained on all the project proofs. The projects that are readily available on
the server for such query answering include the recent versions of the
Flyspeck, Multivariate Analysis and Complex Analysis libraries. The service
runs on a 48-CPU server, currently employing in parallel for each task 7 AI/ATP
combinations and 4 decision procedures that contribute to its overall
performance. The system is also available for local installation by interested
users, who can customize it for their own proof development. An Emacs interface
allowing parallel asynchronous queries to the service is also provided. The
overall structure of the service is outlined, problems that arise and their
solutions are discussed, and an initial account of using the system is given
- …