Download nitpick - Isabelle - Technische Universität München

Transcript
the test coverage. This manual also explains how to install the tool on your
workstation. Should the motivation fail you, think of the many hours of hard
work Nitpick will save you. Proving non-theorems is hard work.
Another common use of Nitpick is to find out whether the axioms of a locale
are satisfiable, while the locale is being developed. To check this, it suffices
to write
lemma “False”
nitpick [show_all ]
after the locale’s begin keyword. To falsify False, Nitpick must find a model
for the axioms. If it finds no model, we have an indication that the axioms
might be unsatisfiable.
For Isabelle/jEdit users, Nitpick provides an automatic mode that can be
enabled via the “Auto Nitpick” option under “Plugins > Plugin Options >
Isabelle > General.” In this mode, Nitpick is run on every newly entered
theorem.
To run Nitpick, you must also make sure that the theory Nitpick is imported—
this is rarely a problem in practice since it is part of Main. The examples presented in this manual can be found in Isabelle’s src/HOL/Nitpick_
Examples/Manual_Nits.thy theory. The known bugs and limitations at the
time of writing are listed in §8. Comments and bug reports concerning either
the tool or the manual should be directed to the author at blannospam
chette@in.
tum.de.
Acknowledgment. The author would like to thank Mark Summerfield for
suggesting several textual improvements.
2
Installation
Nitpick is part of Isabelle, so you do not need to install it. It relies on a
third-party Kodkod front-end called Kodkodi, which in turn requires a Java
virtual machine. Both are provided as official Isabelle components.
To check whether Kodkodi is successfully installed, you can try out the example in §3.1.
3