checkproof man page

checkproof — manual page for checkproof 2.0


checkproof [options] [files]


checkproof 2.0

Read an UPCL2 protocol and verify the inferences using one of a varity of external provers.

This is a _very_ experimental program. Passing checkproof does indicate that all inferences in an UPCL2 protocol are correct (i.e. that the conclusion is logically implied by the premisses) - that is, if you believe that the transformation process and the used prover are correct. However, checkproof will e.g. gladly show that the empty proof protocol does not contain any buggy steps.

If a proof protocol fails to pass this test, the proof may still be correct. Due to e.g. incomplete strategies (this applies in particular to Otter), build-in limits (Otter), and bugs in the prover (potentially all systems, but observed in SPASS 0.55), a prover might fail to verify a correct step. Moreover, due to the different strategies, calculi, and in particular different term orderings chosen by the systems, a single UPCL2 inference may result in a proof problem that is very hard to verify for other provers. However, if a proof step is rejected by more than one system, you should probably look at this step in detail.




Print a short description of program usage and options.


Print the version number of the program.



Verbose comments on the progress of the program. The short form or the long form without the optional argument is equivalent to --verbose=1.

-o <arg>


Redirect output into the named file.



Equivalent to --output-level=0.

-l <arg>


Select an output level, greater values imply more verbose output. At the moment, level 0 only prints the result, level 1 prints inference steps as they are verified, level 2 prints prover commands issued, and level 3 prints all prover output (which may be very little)

-p <arg>


Set the type of the prover to use for proof verification. Determines problem syntax, options, and check for success. Supported options at are 'E' (the default),'Otter' 'SPASS', and 'scheme-setheo' (not yet implemented). SPASS support is only tested with SPASS 0.55 and may fail if the problem contains identifiers reserved by SPASS. There have been some supple syntax changes, so more recent SPASS versions will probably fail as well.

-x <arg>


Give the name under which the prover can be called. If no executable is given, checkproof will guess a name based on the type of the prover. This guess may be way off!

-t <arg>


Limit the CPU time prover may spend on a single step. Default is 10 seconds.

Reporting Bugs

Report bugs to <>. Please include the following, if possible:

* The version of the package as reported by eprover --version.

* The operating system and version.

* The exact command line that leads to the unexpected behaviour.

* A description of what you expected and what actually happend.

* If possible all input files necessary to reproduce the bug.


August 2017 checkproof 2.0 User Commands