Structure abstraction
signature abstraction =
sig
include Abbrev
val add_parameter : term -> unit
val get_assums : unit -> term list
val set_assums : term list -> unit
val add_assums : term list -> unit
val gen_assums : thm -> thm
val add_impl_param : string -> term list -> unit
val impl_of : string -> Absyn.absyn list
val param_eq : term -> term
val export_param_theory : unit -> unit
(*----------------------*)
type inst_infos =
{ Vals : term list,
Inst : thm list,
Rule : thm -> thm,
Rename : string -> string option }
type cinst_infos
val compute_inst_infos : term list -> inst_infos -> cinst_infos
val inst_thm_fun : cinst_infos -> thm -> thm
end;
HOL 4, Kananaskis-10