File ‹cases_data.ML›
@{parse_entries (sig) PARSE_CASES_DATA_MODE [add, del, config]}
@{parse_entries (sig) PARSE_CASES_DATA [insts, rule, simp, facts, match]}
@{parse_entries (sig) PARSE_CASES_DATA_CONFIG [simp, match]}
@{parse_entries (sig) PARSE_CASES_DATA_INSTS_MODES [fix, pat, pred]}
signature CASES_DATA_ARGS =
sig
structure PM : PARSE_CASES_DATA_MODE
structure PD : PARSE_CASES_DATA
structure PDC : PARSE_CASES_DATA_CONFIG
structure PIM : PARSE_CASES_DATA_INSTS_MODES
val PDC_entries_from_PD_entries : ('a, 'b, 'c, 'd, 'e) PD.entries -> ('c, 'e) PDC.entries
type insts = (term option list, (term * term list) option list,
(Term_Zipper.T -> bool) option list) PIM.entry
val morph_insts : morphism -> insts -> insts
val insts_ord : insts ord
val pretty_insts : Proof.context -> insts -> Pretty.T
type match = term Binders.binders -> Proof.context -> term * term -> Envir.env -> bool
type data = (insts, thm option, bool, thm list, match) PD.entries
val morph_data : morphism -> data -> data
val data_ord : data ord
val eq_data : data * data -> bool
val pretty_data : Proof.context -> data -> Pretty.T
type config = (bool, match) PDC.entries
val parse_inst_fix : term option context_parser
val parse_inst_pat : (term * term list) option context_parser
val parse_inst_pred : ML_Code_Util.code option parser
val data_parsers : (unit context_parser ->
(term option list, (term * term list) option list, ML_Code_Util.code option list) PIM.entry
context_parser,
thm context_parser, bool parser, thm list context_parser, ML_Code_Util.code parser) PD.entries
val print_insts_fix : term option list -> string
val print_insts_pat : (term * term list) option list -> string
val code_PIM_entry : ('a -> ML_Code_Util.code) -> ('b -> ML_Code_Util.code) ->
('c -> ML_Code_Util.code) -> ('a, 'b, 'c) PIM.entry -> ML_Code_Util.code
val code_insts_pred : ML_Code_Util.code option list -> ML_Code_Util.code
val code_insts :
(term option list, (term * term list) option list, ML_Code_Util.code option list) PIM.entry ->
ML_Code_Util.code
end
structure Cases_Data_Args : CASES_DATA_ARGS =
struct
structure PU = Parse_Util
structure Show = SpecCheck_Show
structure MCU = ML_Code_Util