diff options
author | Quentin Garchery <garchery.quentin@gmail.com> | 2018-10-27 20:08:44 +0200 |
---|---|---|
committer | Valentin Blot <24938579+vblot@users.noreply.github.com> | 2018-10-28 00:39:25 +0200 |
commit | faaa2848c37444f8f37ac432c25f9f813e1df39b (patch) | |
tree | 2672d165fd13b5262005406d1496bc6a14e8b521 /src/versions/standard | |
parent | 7940ef63c654be26b41ce20162207f3c67d0b10a (diff) | |
download | smtcoq-faaa2848c37444f8f37ac432c25f9f813e1df39b.tar.gz smtcoq-faaa2848c37444f8f37ac432c25f9f813e1df39b.zip |
Adding support for lemmas in the command verit
Diffstat (limited to 'src/versions/standard')
-rw-r--r-- | src/versions/standard/g_smtcoq_standard.ml4 | 10 | ||||
-rw-r--r-- | src/versions/standard/structures.ml | 9 | ||||
-rw-r--r-- | src/versions/standard/structures.mli | 4 |
3 files changed, 22 insertions, 1 deletions
diff --git a/src/versions/standard/g_smtcoq_standard.ml4 b/src/versions/standard/g_smtcoq_standard.ml4 index ab097a1..b8ea279 100644 --- a/src/versions/standard/g_smtcoq_standard.ml4 +++ b/src/versions/standard/g_smtcoq_standard.ml4 @@ -57,6 +57,14 @@ TACTIC EXTEND Tactic_zchaff | [ "zchaff" ] -> [ Zchaff.tactic () ] END +let lemmas_list = ref [] + +VERNAC COMMAND EXTEND Add_lemma CLASSIFIED AS SIDEFF +| [ "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/standard/structures.ml b/src/versions/standard/structures.ml index ec899d8..be63a80 100644 --- a/src/versions/standard/structures.ml +++ b/src/versions/standard/structures.ml @@ -135,6 +135,15 @@ let pr_constr_env env = Printer.pr_constr_env env Evd.empty let lift = Vars.lift +type rel_decl = Context.Rel.Declaration.t + +let destruct_rel_decl r = Context.Rel.Declaration.get_name r, + Context.Rel.Declaration.get_type r + +type constr_expr = Constrexpr.constr_expr + +let interp_constr env sigma t = Constrintern.interp_constr env sigma t |> fst + let tclTHEN = Tacticals.New.tclTHEN let tclTHENLAST = Tacticals.New.tclTHENLAST let assert_before = Tactics.assert_before diff --git a/src/versions/standard/structures.mli b/src/versions/standard/structures.mli index 86ceb3e..600503d 100644 --- a/src/versions/standard/structures.mli +++ b/src/versions/standard/structures.mli @@ -37,6 +37,10 @@ val extern_constr : Term.constr -> Constrexpr.constr_expr val vernacentries_interp : Constrexpr.constr_expr -> unit val pr_constr_env : Environ.env -> Term.constr -> Pp.std_ppcmds val lift : int -> Constr.constr -> Constr.constr +type rel_decl = Context.Rel.Declaration.t +val destruct_rel_decl : rel_decl -> Names.Name.t * Constr.t +type constr_expr = Constrexpr.constr_expr +val interp_constr : Environ.env -> Evd.evar_map -> Constrexpr.constr_expr -> Term.constr val tclTHEN : unit Proofview.tactic -> unit Proofview.tactic -> unit Proofview.tactic val tclTHENLAST : |