Refute 2016-1
Jasmin C. Blanchette1, Tjark Weber2
1Technische Universität München, Germany
2Uppsala Universitet, Sweden
Architecture
Refute [Web08] is an open source counterexample
generator for Isabelle/HOL [NPW13] based on a
SAT solver, and Nitpick's [BN10] precursor.
Strategies
Refute employs a SAT solver to find a finite model of the negated conjecture.
The translation from HOL to propositional logic is parameterized by the
cardinalities of the atomic types occurring in the conjecture. Refute enumerates
the possible cardinalities for each atomic type. If a formula has a finite
counterexample, the tool eventually finds it, unless it runs out of resources.
Implementation
Refute, like most of Isabelle/HOL, is written in Standard ML. Unlike Isabelle
itself, which adheres to the LCF small-kernel discipline, Refute does not
certify its results and must be trusted.
Refute is available as part of Isabelle/HOL for all major platforms under a
BSD-style license from
http://www.cl.cam.ac.uk/research/hvg/Isabelle
Expected Competition Performance
We expect Refute to beat Satallax but also to be beaten by Nitpick.
References
- BN10
- Blanchette J. C., Nipkow T. (2010),
Nitpick: A Counterexample Generator for Higher-Order Logic Based on a Relational Model Finder,
ITP 2010, LNCS 6172, pp. 131–146, Springer.
- NPW13
- Nipkow T., Paulson L. C., Wenzel M. (2013),
Isabelle/HOL: A Proof Assistant for Higher-Order Logic,
http://www.cl.cam.ac.uk/research/hvg/Isabelle/dist/Isabelle/doc/tutorial.pdf.
- Web08
- Weber T. (2008),
SAT-based Finite Model Generation for Higher-Order Logic, Ph.D. thesis.