equal
deleted
inserted
replaced
30 (*Insert definitions for the recursive sets, which |
30 (*Insert definitions for the recursive sets, which |
31 must *already* be declared as constants in parent theory!*) |
31 must *already* be declared as constants in parent theory!*) |
32 val add_datatype_i: term * term list -> Ind_Syntax.constructor_spec list list -> |
32 val add_datatype_i: term * term list -> Ind_Syntax.constructor_spec list list -> |
33 thm list * thm list * thm list -> theory -> theory * inductive_result * datatype_result |
33 thm list * thm list * thm list -> theory -> theory * inductive_result * datatype_result |
34 val add_datatype: string * string list -> (string * string list * mixfix) list list -> |
34 val add_datatype: string * string list -> (string * string list * mixfix) list list -> |
35 (Facts.ref * Attrib.src list) list * (Facts.ref * Attrib.src list) list * |
35 (Facts.ref * Token.src list) list * (Facts.ref * Token.src list) list * |
36 (Facts.ref * Attrib.src list) list -> theory -> theory * inductive_result * datatype_result |
36 (Facts.ref * Token.src list) list -> theory -> theory * inductive_result * datatype_result |
37 end; |
37 end; |
38 |
38 |
39 functor Add_datatype_def_Fun |
39 functor Add_datatype_def_Fun |
40 (structure Fp: FP and Pr : PR and CP: CARTPROD and Su : SU |
40 (structure Fp: FP and Pr : PR and CP: CARTPROD and Su : SU |
41 and Ind_Package : INDUCTIVE_PACKAGE |
41 and Ind_Package : INDUCTIVE_PACKAGE |