module AAC_coq:Interface with Coq where we define some handlers for Coq's API, and we import several definitions from Coq's standard library.sig..end
This general purpose library could be reused by other plugins.
Some salient points:
val init_constant : string list -> string -> Term.constrtypegoal_sigma =Proof_type.goal Tacmach.sigma
val goal_update : goal_sigma -> Evd.evar_map -> goal_sigmaval resolve_one_typeclass : Proof_type.goal Tacmach.sigma ->
Term.types -> Term.constr * goal_sigmaval cps_resolve_one_typeclass : ?error:string ->
Term.types -> (Term.constr -> Proof_type.tactic) -> Proof_type.tacticval nf_evar : goal_sigma -> Term.constr -> Term.constrval fresh_evar : goal_sigma -> Term.types -> Term.constr * goal_sigmaval evar_unit : goal_sigma -> Term.constr -> Term.constr * goal_sigmaval evar_binary : goal_sigma -> Term.constr -> Term.constr * goal_sigmaval evar_relation : goal_sigma -> Term.constr -> Term.constr * goal_sigmaval cps_evar_relation : Term.constr -> (Term.constr -> Proof_type.tactic) -> Proof_type.tacticcps_mk_letin name v binds the constr v using a letin tacticval cps_mk_letin : string ->
Term.constr -> (Term.constr -> Proof_type.tactic) -> Proof_type.tacticval decomp_term : Term.constr -> (Term.constr, Term.types) Term.kind_of_termval lapp : Term.constr lazy_t -> Term.constr array -> Term.constrmodule List:sig..end
module Pair:sig..end
module Bool:sig..end
module Comparison:sig..end
module Leibniz:sig..end
module Option:sig..end
module Pos:sig..end
module Nat:sig..end
module Classes:sig..end
module Relation:sig..end
module Transitive:sig..end
module Equivalence:sig..end
val match_as_equation : ?context:Term.rel_context ->
goal_sigma ->
Term.constr -> (Term.constr * Term.constr * Relation.t) optionmatch_as_equation ?context goal c try to decompose c as a
relation applied to two terms. An optionnal rel_context can be
provided to ensure that the term remains typableval tclTIME : string -> Proof_type.tactic -> Proof_type.tacticval tclDEBUG : string -> Proof_type.tactic -> Proof_type.tacticval tclPRINT : Proof_type.tactic -> Proof_type.tacticval anomaly : string -> 'aval user_error : string -> 'aval warning : string -> unitmodule Rewrite:sig..end