author | wenzelm |
Sat, 09 Oct 1999 23:20:02 +0200 | |
changeset 7819 | 6dd018b6cf3f |
parent 6498 | 1ebbe18fe236 |
child 8622 | 870a58dd0ddd |
permissions | -rw-r--r-- |
3302 | 1 |
(* Title: TFL/tfl |
2 |
ID: $Id$ |
|
3 |
Author: Konrad Slind, Cambridge University Computer Laboratory |
|
4 |
Copyright 1997 University of Cambridge |
|
5 |
||
3391
5e45dd3b64e9
More de-HOLification: using Free, Const, etc. instead of mk_var, mk_const
paulson
parents:
3333
diff
changeset
|
6 |
Main module |
3302 | 7 |
*) |
8 |
||
2112 | 9 |
signature TFL_sig = |
10 |
sig |
|
6498 | 11 |
|
12 |
val trace : bool ref |
|
13 |
||
14 |
val default_simps : thm list (*simprules used for deriving rules...*) |
|
15 |
||
16 |
val congs : thm list -> thm list (*fn to make congruent rules*) |
|
17 |
||
3245
241838c01caf
Removal of redundant code (unused or already present in Isabelle.
paulson
parents:
3191
diff
changeset
|
18 |
datatype pattern = GIVEN of term * int |
241838c01caf
Removal of redundant code (unused or already present in Isabelle.
paulson
parents:
3191
diff
changeset
|
19 |
| OMITTED of term * int |
2112 | 20 |
|
3391
5e45dd3b64e9
More de-HOLification: using Free, Const, etc. instead of mk_var, mk_const
paulson
parents:
3333
diff
changeset
|
21 |
val mk_functional : theory -> term list |
3245
241838c01caf
Removal of redundant code (unused or already present in Isabelle.
paulson
parents:
3191
diff
changeset
|
22 |
-> {functional:term, |
2112 | 23 |
pats: pattern list} |
24 |
||
3405 | 25 |
val wfrec_definition0 : theory -> string -> term -> term -> theory |
3191 | 26 |
|
6498 | 27 |
val post_definition : thm list -> theory * (thm * pattern list) |
28 |
-> {theory : theory, |
|
3405 | 29 |
rules : thm, |
30 |
TCs : term list list, |
|
31 |
full_pats_TCs : (term * term list) list, |
|
32 |
patterns : pattern list} |
|
3191 | 33 |
|
6498 | 34 |
val wfrec_eqns : theory -> xstring |
35 |
-> thm list (* congruence rules *) |
|
36 |
-> term list |
|
37 |
-> {WFR : term, SV : term list, |
|
3245
241838c01caf
Removal of redundant code (unused or already present in Isabelle.
paulson
parents:
3191
diff
changeset
|
38 |
proto_def : term, |
241838c01caf
Removal of redundant code (unused or already present in Isabelle.
paulson
parents:
3191
diff
changeset
|
39 |
extracta :(thm * term list) list, |
2112 | 40 |
pats : pattern list} |
41 |
||
6498 | 42 |
val lazyR_def : theory -> xstring |
43 |
-> thm list (* congruence rules *) |
|
3391
5e45dd3b64e9
More de-HOLification: using Free, Const, etc. instead of mk_var, mk_const
paulson
parents:
3333
diff
changeset
|
44 |
-> term list |
6498 | 45 |
-> {theory : theory, |
46 |
rules : thm, |
|
47 |
R : term, |
|
48 |
SV : term list, |
|
49 |
full_pats_TCs : (term * term list) list, |
|
50 |
patterns : pattern list} |
|
2112 | 51 |
|
6498 | 52 |
val mk_induction : theory |
53 |
-> {fconst:term, |
|
54 |
R : term, |
|
55 |
SV : term list, |
|
56 |
pat_TCs_list : (term * term list) list} |
|
57 |
-> thm |
|
2112 | 58 |
|
3245
241838c01caf
Removal of redundant code (unused or already present in Isabelle.
paulson
parents:
3191
diff
changeset
|
59 |
val postprocess: {WFtac:tactic, terminator:tactic, simplifier:cterm -> thm} |
241838c01caf
Removal of redundant code (unused or already present in Isabelle.
paulson
parents:
3191
diff
changeset
|
60 |
-> theory |
241838c01caf
Removal of redundant code (unused or already present in Isabelle.
paulson
parents:
3191
diff
changeset
|
61 |
-> {rules:thm, induction:thm, TCs:term list list} |
241838c01caf
Removal of redundant code (unused or already present in Isabelle.
paulson
parents:
3191
diff
changeset
|
62 |
-> {rules:thm, induction:thm, nested_tcs:thm list} |
2112 | 63 |
end; |