File ‹term_index_unification_hints.ML›
@{parse_entries (sig) PARSE_TERM_INDEX_UNIFICATION_HINTS_MODE [add, del, config]}
@{parse_entries (sig) PARSE_TERM_INDEX_UNIFICATION_HINTS_ADD_ARGS [prio]}
@{parse_entries (sig) PARSE_TERM_INDEX_UNIFICATION_HINTS_CONFIG_ARGS
[concl_unifier, normalisers, prems_unifier, retrieval, hint_preprocessor]}
signature TERM_INDEX_UNIFICATION_HINTS_ARGS =
sig
structure PM : PARSE_TERM_INDEX_UNIFICATION_HINTS_MODE
structure PAA : PARSE_TERM_INDEX_UNIFICATION_HINTS_ADD_ARGS
structure PCA : PARSE_TERM_INDEX_UNIFICATION_HINTS_CONFIG_ARGS
val UHA_PA_entries_from_PCA_entries : ('a, 'b, 'c, 'd, 'e) PCA.entries ->
('a, 'b, 'c) Unification_Hints_Args.PA.entries
type hint_prio = Unification_Hints_Base.unif_hint * Prio.prio
val pretty_hint_prio : Proof.context -> hint_prio -> Pretty.T
val transfer_hint_prio : theory -> hint_prio -> hint_prio
val retrieve_left : (Proof.context -> 'ti -> term -> hint_prio list) -> Proof.context ->
'ti * 'ti -> term * term -> hint_prio list
val retrieve_right : (Proof.context -> 'ti -> term -> hint_prio list) -> Proof.context ->
'ti * 'ti -> term * term -> hint_prio list
val retrieve_pair : (Proof.context -> 'ti -> term -> hint_prio list) -> Proof.context ->
'ti * 'ti -> term * term -> hint_prio list
val retrieve_sym : (Proof.context -> 'ti -> term * term -> hint_prio list) -> Proof.context ->
'ti -> term * term -> hint_prio list
val retrieve_transfer : (Proof.context -> 'ti -> 't -> hint_prio list) ->
Proof.context -> 'ti -> 't -> hint_prio list
val sort_hint_prios : hint_prio list -> hint_prio list
val sorted_hint_seq_of_hint_prios : hint_prio list -> thm Seq.seq
val mk_retrieval : (Proof.context -> 'ti -> term * term -> hint_prio list) ->
(term * term -> term * term) -> 'ti -> Unification_Hints_Base.hint_retrieval
val mk_retrieval_left : (Proof.context -> 'ti -> term -> hint_prio list) ->
Term_Normalisation.term_normaliser -> 'ti * 'ti -> Unification_Hints_Base.hint_retrieval
val mk_retrieval_right : (Proof.context -> 'ti -> term -> hint_prio list) ->
Term_Normalisation.term_normaliser -> 'ti * 'ti -> Unification_Hints_Base.hint_retrieval
val mk_retrieval_pair : (Proof.context -> 'ti -> term -> hint_prio list) ->
Term_Normalisation.term_normaliser -> 'ti * 'ti -> Unification_Hints_Base.hint_retrieval
val mk_retrieval_sym : (Proof.context -> 'ti -> term * term -> hint_prio list) ->
Term_Normalisation.term_normaliser -> 'ti -> Unification_Hints_Base.hint_retrieval
val mk_retrieval_sym_pair : (Proof.context -> 'ti -> term -> hint_prio list) ->
Term_Normalisation.term_normaliser -> 'ti * 'ti -> Unification_Hints_Base.hint_retrieval
type 'ti config_args = (Unification_Base.unifier, Unification_Base.normalisers,
Unification_Base.unifier, 'ti * 'ti -> Unification_Hints_Base.hint_retrieval,
Unification_Hints_Base.hint_preprocessor) PCA.entries
val add_arg_parsers : (Prio.prio context_parser) PAA.entries
val config_arg_parsers : (ML_Code_Util.code parser, ML_Code_Util.code parser,
ML_Code_Util.code parser, ML_Code_Util.code parser, ML_Code_Util.code parser) PCA.entries
end
structure Term_Index_Unification_Hints_Args : TERM_INDEX_UNIFICATION_HINTS_ARGS =
struct
structure UB = Unification_Base
structure EN = Envir_Normalisation
structure UHB = Unification_Hints_Base
structure UHA = Unification_Hints_Args
structure TUHP = Prio