aboutsummaryrefslogtreecommitdiffstats
path: root/src/versions/native
diff options
context:
space:
mode:
Diffstat (limited to 'src/versions/native')
-rw-r--r--src/versions/native/smtcoq_plugin_native.ml410
-rw-r--r--src/versions/native/structures.ml6
-rw-r--r--src/versions/native/structures.mli3
3 files changed, 18 insertions, 1 deletions
diff --git a/src/versions/native/smtcoq_plugin_native.ml4 b/src/versions/native/smtcoq_plugin_native.ml4
index da0671e..f3c571c 100644
--- a/src/versions/native/smtcoq_plugin_native.ml4
+++ b/src/versions/native/smtcoq_plugin_native.ml4
@@ -58,6 +58,14 @@ TACTIC EXTEND Tactic_zchaff
| [ "zchaff" ] -> [ Zchaff.tactic () ]
END
+let lemmas_list = ref []
+
+VERNAC COMMAND EXTEND Add_lemma
+| [ "Add_lemmas" constr_list(lems) ] -> [ lemmas_list := lems @ !lemmas_list ]
+| [ "Clear_lemmas" ] -> [ lemmas_list := [] ]
+END
+
+
TACTIC EXTEND Tactic_verit
-| [ "verit" ] -> [ Verit.tactic () ]
+| [ "verit_base" constr_list(lpl) ] -> [ Verit.tactic lpl !lemmas_list ]
END
diff --git a/src/versions/native/structures.ml b/src/versions/native/structures.ml
index 8db91fd..06ca01c 100644
--- a/src/versions/native/structures.ml
+++ b/src/versions/native/structures.ml
@@ -108,6 +108,12 @@ let pr_constr_env = Printer.pr_constr_env
let lift = Term.lift
+let destruct_rel_decl (n, _, t) = n, t
+
+let interp_constr env sigma = Constrintern.interp_constr sigma env
+
+type constr_expr = Topconstr.constr_expr
+
let tclTHEN = Tacticals.tclTHEN
let tclTHENLAST = Tacticals.tclTHENLAST
let assert_before = Tactics.assert_tac
diff --git a/src/versions/native/structures.mli b/src/versions/native/structures.mli
index ba095c8..7c5edfd 100644
--- a/src/versions/native/structures.mli
+++ b/src/versions/native/structures.mli
@@ -23,6 +23,9 @@ val extern_constr : Term.constr -> Topconstr.constr_expr
val vernacentries_interp : Topconstr.constr_expr -> unit
val pr_constr_env : Environ.env -> Term.constr -> Pp.std_ppcmds
val lift : int -> Term.constr -> Term.constr
+val destruct_rel_decl : Term.rel_declaration -> Names.name * Term.constr
+val interp_constr : Environ.env -> Evd.evar_map -> Topconstr.constr_expr -> Term.constr
+type constr_expr = Topconstr.constr_expr
val tclTHEN : Proof_type.tactic -> Proof_type.tactic -> Proof_type.tactic
val tclTHENLAST : Proof_type.tactic -> Proof_type.tactic -> Proof_type.tactic
val assert_before : Names.name -> Term.types -> Proof_type.tactic