Module Libzipperposition.Extensions
Dynamic extensions
Type Definitions
type state= Logtk.Flex_state.ttype env_action= (module Env.S) -> unitAn extension is allowed to modify an environment
type prec_action= state -> Logtk.Compute_prec.t -> Logtk.Compute_prec.tActions that modify the set of rules
Compute_prec
type 'a state_actions= ('a -> state -> state) listtype 'a modifiers= ('a -> 'a) listtype t={name : string;prio : int;the lower, the more urgent, the earlier it is loaded
start_file_actions : string state_actions;post_parse_actions : Logtk.UntypedAST.statement Iter.t state_actions;post_typing_actions : Logtk.TypeInference.typed_statement CCVector.ro_vector state_actions;post_cnf_modifiers : Logtk.Cnf.c_statement Iter.t modifiers;post_cnf_actions : Logtk.Statement.clause_t CCVector.ro_vector state_actions;ord_select_actions : (Logtk.Ordering.t * Selection.t) state_actions;ctx_actions : (module Ctx_intf.S) state_actions;prec_actions : prec_action list;env_actions : env_action list;}An extension contains a number of actions that can modify the
Flex_state.t during preprocessing, or modify theEnv_intf.Sonce it is built.
val default : tDefault extension. Does nothing.
Registration
val register : t -> unitRegister an extension to the (current) prover. Plugins should call this when they are loaded.
val extensions : unit -> t listAll currently available extensions
val by_name : string -> t optionGet an extension by its name, if any