File: prove_thm.doc

package info (click to toggle)
hol88 2.02.19940316dfsg-5
  • links: PTS
  • area: main
  • in suites: bookworm
  • size: 65,816 kB
  • sloc: ml: 199,939; ansic: 9,666; sh: 6,913; makefile: 6,032; lisp: 2,747; yacc: 894; sed: 201; cpp: 87; awk: 5
file content (29 lines) | stat: -rw-r--r-- 1,191 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
\DOC prove_thm

\TYPE {prove_thm : ((string # term # tactic) -> thm)}

\SYNOPSIS
Attempts to prove a boolean term using the supplied tactic, then save the
theorem.

\DESCRIBE
When applied to a triple {(s,tm,tac)}, giving the name to
save the theorem under, the term to prove (with no assumptions) and the tactic
to perform the proof, the function {prove_thm} attempts to prove the goal
{?- tm}, that is, the term {tm} with no assumptions, using the tactic {tac}. If
{prove_thm} succeeds, it attempts to save the resulting theorem in the current
theory segment, and if this succeeds, the saved theorem is returned.

\FAILURE
Fails if the term is not of type {bool} (and so cannot possibly be
the conclusion of a theorem), or if the tactic cannot solve the goal.
In the latter case {prove_thm} will list the unsolved goals to help the user.
In addition, {prove_thm} will fail if the theorem cannot be saved, e.g. because
there is already a theorem of that name in the current theory segment, or if
the resulting theorem has assumptions; clearly this can only happen if the
tactic was invalid, so this gives some measure of validity checking.

\SEEALSO
prove, PROVE, TAC_PROOF, VALID.

\ENDDOC