module Tactic:sig..end
Tactics are the basic building block for creating custom solvers for specific problem domains.
The complete list of tactics may be obtained using Context.get_num_tactics
and Context.get_tactic_names.
It may also be obtained using the command (help-tactics) in the SMT 2.0 front-end.
type tactic
module ApplyResult:sig..end
val get_help : tactic -> stringval get_param_descrs : tactic -> Params.ParamDescrs.param_descrsval apply : tactic ->
Goal.goal -> Params.params option -> ApplyResult.apply_resultval get_num_tactics : context -> intval get_tactic_names : context -> string listval get_tactic_description : context -> string -> stringval mk_tactic : context -> string -> tacticval and_then : context ->
tactic ->
tactic -> tactic list -> tacticval or_else : context -> tactic -> tactic -> tacticval try_for : context -> tactic -> int -> tactic
If the tactic does not terminate within the timeout, then it fails.
val when_ : context -> Probe.probe -> tactic -> tactic
If the probe evaluates to false, then the new tactic behaves like the skip tactic.
val cond : context ->
Probe.probe -> tactic -> tactic -> tacticval repeat : context -> tactic -> int -> tacticval skip : context -> tacticval fail : context -> tacticval fail_if : context -> Probe.probe -> tacticval fail_if_not_decided : context -> tacticval using_params : context -> tactic -> Params.params -> tacticval with_ : context -> tactic -> Params.params -> tacticUsingParamsval par_or : context -> tactic list -> tacticval par_and_then : context -> tactic -> tactic -> tacticval interrupt : context -> unit