CHECKPROOF(1)
π CHECKPROOF(1) π
okay bestie, buckle up, we're doing the checkproof page, a User Commands situation, and honestly? it's giving "I will absolutely tell you whether your proof slaps, with caveats." let's get into it π¦
β¨ NAME β¨
checkproof β the manual page for checkproof 3.5.1, yes the whole page is basically named after itself, iconic behavior honestly π
β¨ SYNOPSIS β¨
checkproof [options] [files]
β¨ DESCRIPTION β¨
so. checkproof 3.5.1, right? what it does is it reads an UPCL2 protocol and then goes and verifies the inferences using one of a whole variety of external provers. like it outsources the hard part to other little programs, which is so real of it π
heads up bestie, this is a _very_ experimental program π
here's the honest truth. passing checkproof does indicate that all inferences in an UPCL2 protocol are correct β meaning the conclusion is logically implied by the premisses. but that whole thing comes with a giant asterisk, and the asterisk is: if you believe that the transformation process and the used prover are correct. so yeah, it's correct pending your faith in the machinery π
also, and this is the part that takes me out, checkproof will e.g. gladly show that the empty proof protocol does not contain any buggy steps. like. congratulations, zero steps, zero bugs, we ate π
now the sad part. if a proof protocol fails to pass this test, the proof may still be correct. let me say that again because it matters: failing β wrong proof, fr fr.
why? multiple reasons:
- incomplete strategies β and this applies in particular to Otter π
- build-in limits (Otter again, bestie)
- bugs in the prover β potentially all systems, but this was observed in SPASS 0.55 π
so a prover might just fail to verify a step that is objectively correct. not its fault, not your fault, the vibes are simply off.
and it gets more real: because of the different strategies, calculi, and in particular the 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. so one step β one problem β some prover is fighting for its life πΈ
but!! if a proof step is rejected by more than one system, you should probably look at this step in detail. that's your red flag moment, bestie π
π Options π
-h,--helpβ Print a short description of program usage and options. the classic "what does this do" button π«Ά--versionβ Print the version number of the program. number reveal π-v,--verbose[=<arg>]β Verbose comments on the progress of the program. the short form, or the long form without the optional argument, is equivalent to--verbose=1. so no-arg =1, capiche β¨-o <arg>,--output-file=<arg>β Redirect output into the named file. bye bye terminal, hello file π-s,--silentβ Equivalent to--output-level=0. shhh π€«-l <arg>,--output-level=<arg>β Select an output level, and yeah, greater values imply more verbose output. rn the levels are:- level
0only prints the result - level
1prints inference steps as they are verified - level
2prints prover commands issued - level
3prints all prover output (which may be very little) π
- level
-p <arg>,--prover-type=<arg>β Set the type of the prover to use for proof verification. this 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. and there have been some supple syntax changes, so more recent SPASS versions will probably fail as well. so like, good luck with SPASS bestie π-x <arg>,--executable=<arg>β Give the name under which the prover can be called. if no executable is given,checkproofwill guess a name based on the type of the prover. and this guess may be way off! π-t <arg>,--prover-cpu-limit=<arg>β Limit the CPU time prover may spend on a single step. Default is 10 seconds. β±οΈ
π REPORTING BUGS π
Report bugs to <schulz@eprover.org>. and if you can, pretty please include the following:
- 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 happened.
- If possible all input files necessary to reproduce the bug.
π COPYRIGHT π
Copyright 1998-2026 by Stephan Schulz, schulz@eprover.org, and the E contributors (see DOC/CONTRIBUTORS).
This program is a part of the distribution of the equational theorem prover E. You can find the latest version of the E distribution as well as additional information at http://www.eprover.org
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program (it should be contained in the top level directory of the distribution in the file COPYING); if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
We welcome bug reports and even reasonable questions. if the prover behaves in an unexpected way, please include the following information:
- What did you observe?
- What did you expect?
- The output of
eprover --version - The full commandline that lead to the unexpected behaviour
- The input file(s) that lead to the unexpected behaviour
Most bug reports should be send to <schulz@eprover.org>. Bug reports with respect to the HO-version should be send to or at least copied to <jasmin.blanchette@gmail.com>. Please remember that this is an unpaid volunteer service π«Ά (be nice, they're doing this for free, no cap)
The original copyright holder can be contacted via email or as
Stephan Schulz
DHBW Stuttgart
Fakultaet Technik Informatik
Lerchenstrasse 1
70174 Stuttgart
Germany
and that's the whole thing, bestie π this was checkproof 3.5.1, from the August 2026 era of the E distribution, and honestly it ate π
go verify some inferences, or don't, the empty protocol has no bugs either way β¨π¦
π¦ where this page comes from
- ubuntu stonking: eprover 3.5.1+ds-1 Β· LGPL-2.1-or-later AND GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms