| author | nipkow | 
| Wed, 29 May 1996 13:47:43 +0200 | |
| changeset 1772 | ee2be39126d2 | 
| parent 1512 | ce37c64244c0 | 
| child 2469 | b50b8c0eec01 | 
| permissions | -rw-r--r-- | 
| 1461 | 1  | 
(* Title: ZF/ROOT  | 
| 
6
 
8ce8c4d13d4d
Installation of new simplifier for ZF.  Deleted all congruence rules not
 
lcp 
parents: 
5 
diff
changeset
 | 
2  | 
ID: $Id$  | 
| 1461 | 3  | 
Author: Lawrence C Paulson, Cambridge University Computer Laboratory  | 
| 0 | 4  | 
Copyright 1993 University of Cambridge  | 
5  | 
||
6  | 
Adds Zermelo-Fraenkel Set Theory to a database containing First-Order Logic.  | 
|
7  | 
||
8  | 
This theory is the work of Martin Coen, Philippe Noel and Lawrence Paulson.  | 
|
9  | 
*)  | 
|
10  | 
||
11  | 
val banner = "ZF Set Theory (in FOL)";  | 
|
12  | 
writeln banner;  | 
|
13  | 
||
| 
14
 
1c0926788772
ex/{bin.ML,comb.ML,prop.ML}: replaced NewSext by Syntax.simple_sext
 
lcp 
parents: 
6 
diff
changeset
 | 
14  | 
(*For Pure/tactic?? A crude way of adding structure to rules*)  | 
| 1512 | 15  | 
fun CHECK_SOLVED tac st =  | 
16  | 
case Sequence.pull (tac st) of  | 
|
| 1461 | 17  | 
None => error"DO_GOAL: tactic list failed"  | 
| 5 | 18  | 
| Some(x,_) =>  | 
| 1461 | 19  | 
if has_fewer_prems 1 x then  | 
20  | 
Sequence.cons(x, Sequence.null)  | 
|
21  | 
else (writeln"DO_GOAL: unsolved goals!!";  | 
|
22  | 
writeln"Final proof state was ...";  | 
|
23  | 
print_goals (!goals_limit) x;  | 
|
| 1512 | 24  | 
raise ERROR);  | 
| 5 | 25  | 
|
26  | 
fun DO_GOAL tfs = SELECT_GOAL (CHECK_SOLVED (EVERY1 tfs));  | 
|
27  | 
||
| 0 | 28  | 
print_depth 1;  | 
29  | 
||
| 516 | 30  | 
(*Add user sections for inductive/datatype definitions*)  | 
| 
578
 
efc648d29dd0
ZF/Inductive.thy,.ML: renamed from "inductive" to allow re-building without
 
lcp 
parents: 
532 
diff
changeset
 | 
31  | 
use "../Pure/section_utils.ML";  | 
| 
803
 
4c8333ab3eae
changed useless "qed" calls for lemmas back to uses of "result",
 
lcp 
parents: 
578 
diff
changeset
 | 
32  | 
use "thy_syntax.ML";  | 
| 516 | 33  | 
|
| 
1069
 
66efd8f90fbd
Now loads the theory "Let".  Could add it to FOL, but this appears to
 
lcp 
parents: 
803 
diff
changeset
 | 
34  | 
use_thy "Let";  | 
| 488 | 35  | 
use_thy "InfDatatype";  | 
| 516 | 36  | 
use_thy "List";  | 
| 
532
 
851df239ac8b
ZF/Makefile,ROOT.ML, ZF/ex/Integ.thy: updated for EquivClass
 
lcp 
parents: 
516 
diff
changeset
 | 
37  | 
use_thy "EquivClass";  | 
| 0 | 38  | 
|
39  | 
(*printing functions are inherited from FOL*)  | 
|
40  | 
print_depth 8;  | 
|
41  | 
||
| 1461 | 42  | 
val ZF_build_completed = (); (*indicate successful build*)  |