9867
|
1 |
(* Title: TFL/thms.sml
|
3302
|
2 |
ID: $Id$
|
|
3 |
Author: Konrad Slind, Cambridge University Computer Laboratory
|
|
4 |
Copyright 1997 University of Cambridge
|
|
5 |
*)
|
|
6 |
|
9867
|
7 |
signature Thms_sig =
|
|
8 |
sig
|
|
9 |
val WF_INDUCTION_THM: thm
|
|
10 |
val WFREC_COROLLARY: thm
|
|
11 |
val CUT_DEF: thm
|
|
12 |
val SELECT_AX: thm
|
|
13 |
val eqT: thm
|
|
14 |
val rev_eq_mp: thm
|
|
15 |
val simp_thm: thm
|
|
16 |
end;
|
2112
|
17 |
|
9867
|
18 |
structure Thms: Thms_sig =
|
|
19 |
struct
|
10212
|
20 |
val WFREC_COROLLARY = get_thm Wellfounded_Recursion.thy "tfl_wfrec";
|
|
21 |
val WF_INDUCTION_THM = get_thm Wellfounded_Recursion.thy "tfl_wf_induct";
|
|
22 |
val CUT_DEF = get_thm Wellfounded_Recursion.thy "cut_def";
|
2112
|
23 |
|
9867
|
24 |
val SELECT_AX = prove_goal HOL.thy "!P x. P x --> P (Eps P)"
|
9971
|
25 |
(fn _ => [strip_tac 1, rtac someI 1, assume_tac 1]);
|
2112
|
26 |
|
3273
|
27 |
fun prove s = prove_goal HOL.thy s (fn _ => [fast_tac HOL_cs 1]);
|
2112
|
28 |
|
9867
|
29 |
val eqT = prove"(x = True) --> x";
|
|
30 |
val rev_eq_mp = prove"(x = y) --> y --> x";
|
|
31 |
val simp_thm = prove"(x-->y) --> (x = x') --> (x' --> y)";
|
2112
|
32 |
end;
|