Major Section: ACL2 Documentation
Call this up with (verify ...).
This is an interactive system for checking ACL2 theorems, or at least
exploring their proofs. One enters it using the VERIFY command
(see verify), and then invokes commands at the resulting prompt to operate
on a stack of goals, starting with the single goal that was supplied to
VERIFY. The final command (or ``instruction'') can be an exit
command, which can print out a defthm event if the goal stack is empty;
see proof-checker-commands, in particular the exit command. That
resulting defthm event includes an :instructions parameter,
which directs replay of the proof-checker commands (for example during
certification of a book containing that event; see books).
If you exit the proof-checker interactive loop, you may re-enter that session
at the same point using the command (verify), i.e., with no arguments.
The commands save and retrieve may be invoked to manage more than one
session.
The proof-checker can be invoked on a specific subgoal, and the resulting
:instructions can be given as a hint to the theorem prover for that
subgoal. See instructions.
A tutorial is available on the world-wide web:
http://www.cs.utexas.edu/users/kaufmann/tutorial/rev3.html.
The tutorial illustrates more than just the proof-checker. The portion
relevant to the proof-checker may be accessed directly:
http://www.cs.utexas.edu/users/kaufmann/tutorial/rev3.html#slide29
See set-evisc-tuple for how to arrange that output is printed in abbreviated
form. In general, the proof-checker uses the :TERM evisc-tuple
described in that documentation.
Individual proof-checker commands are documented in subsection
proof-checker-commands. When inside the interactive loop (i.e., after
executing verify), you may use the help command to get a list of
legal instructions and (help instr) to get help for the instruction
instr.