2112
|
1 |
signature TFL_sig =
|
|
2 |
sig
|
|
3 |
structure Rules: Rules_sig
|
|
4 |
structure Thms : Thms_sig
|
|
5 |
structure Thry : Thry_sig
|
|
6 |
structure USyntax : USyntax_sig
|
|
7 |
|
|
8 |
type Preterm
|
|
9 |
type Term
|
|
10 |
type Thm
|
|
11 |
type Thry
|
|
12 |
type Tactic
|
|
13 |
|
|
14 |
datatype pattern = GIVEN of Preterm * int
|
|
15 |
| OMITTED of Preterm * int
|
|
16 |
|
|
17 |
val mk_functional : Thry -> Preterm
|
|
18 |
-> {functional:Preterm,
|
|
19 |
pats: pattern list}
|
|
20 |
|
3191
|
21 |
val wfrec_definition0 : Thry -> Preterm -> Preterm -> Thm * Thry
|
|
22 |
|
|
23 |
val post_definition : Thry * (Thm * pattern list)
|
|
24 |
-> {theory : Thry,
|
|
25 |
rules : Thm,
|
|
26 |
TCs : Preterm list list,
|
|
27 |
full_pats_TCs : (Preterm * Preterm list) list,
|
|
28 |
patterns : pattern list}
|
|
29 |
|
2112
|
30 |
|
|
31 |
val wfrec_eqns : Thry -> Preterm
|
|
32 |
-> {WFR : Preterm,
|
|
33 |
proto_def : Preterm,
|
|
34 |
extracta :(Thm * Preterm list) list,
|
|
35 |
pats : pattern list}
|
|
36 |
|
|
37 |
|
|
38 |
val lazyR_def : Thry
|
|
39 |
-> Preterm
|
|
40 |
-> {theory:Thry,
|
|
41 |
rules :Thm,
|
|
42 |
R :Preterm,
|
|
43 |
full_pats_TCs :(Preterm * Preterm list) list,
|
|
44 |
patterns: pattern list}
|
|
45 |
|
|
46 |
val mk_induction : Thry
|
|
47 |
-> Preterm -> Preterm
|
|
48 |
-> (Preterm * Preterm list) list
|
|
49 |
-> Thm
|
|
50 |
|
|
51 |
val postprocess: {WFtac:Tactic, terminator:Tactic, simplifier:Term -> Thm}
|
|
52 |
-> Thry
|
|
53 |
-> {rules:Thm, induction:Thm, TCs:Preterm list list}
|
|
54 |
-> {rules:Thm, induction:Thm, nested_tcs:Thm list}
|
|
55 |
|
|
56 |
structure Context
|
|
57 |
: sig
|
|
58 |
val read : unit -> Thm list
|
|
59 |
val write : Thm list -> unit
|
|
60 |
end
|
|
61 |
end;
|