equal
deleted
inserted
replaced
1 (* Title: ZF/ROOT |
1 (* Title: ZF/ROOT |
2 ID: $Id$ |
|
3 Author: Lawrence C Paulson, Cambridge University Computer Laboratory |
2 Author: Lawrence C Paulson, Cambridge University Computer Laboratory |
4 Copyright 1993 University of Cambridge |
3 Copyright 1993 University of Cambridge |
5 |
4 |
6 Adds Zermelo-Fraenkel Set Theory to a database containing First-Order Logic. |
5 Adds Zermelo-Fraenkel Set Theory to a database containing First-Order Logic. |
7 |
6 |
22 |
21 |
23 fun rlss MRL bottom_rls = |
22 fun rlss MRL bottom_rls = |
24 let fun rs_aux i [] = bottom_rls |
23 let fun rs_aux i [] = bottom_rls |
25 | rs_aux i (rls::rlss) = rls RLN (i, rs_aux (i+1) rlss) |
24 | rs_aux i (rls::rlss) = rls RLN (i, rs_aux (i+1) rlss) |
26 in rs_aux 1 rlss end; |
25 in rs_aux 1 rlss end; |
|
26 |
|
27 fun CHECK_SOLVED (Tactic tf) = |
|
28 Tactic (fn state => |
|
29 case Sequence.pull (tf state) of |
|
30 None => error"DO_GOAL: tactic list failed" |
|
31 | Some(x,_) => |
|
32 if has_fewer_prems 1 x then |
|
33 Sequence.cons(x, Sequence.null) |
|
34 else (writeln"DO_GOAL: unsolved goals!!"; |
|
35 writeln"Final proof state was ..."; |
|
36 print_goals (!goals_limit) x; |
|
37 raise ERROR)); |
|
38 |
|
39 fun DO_GOAL tfs = SELECT_GOAL (CHECK_SOLVED (EVERY1 tfs)); |
27 |
40 |
28 print_depth 1; |
41 print_depth 1; |
29 use_thy "zf"; |
42 use_thy "zf"; |
30 |
43 |
31 use "upair.ML"; |
44 use "upair.ML"; |