aboutsummaryrefslogtreecommitdiffstats
path: root/src/verit/verit.ml
diff options
context:
space:
mode:
authorckeller <ckeller@users.noreply.github.com>2021-04-21 09:46:30 +0200
committerGitHub <noreply@github.com>2021-04-21 09:46:30 +0200
commit4a2ef2747950e8a28bfce7ca641bedd7ef71bea1 (patch)
tree3ceff26534e6f4116969b143725700077993ec6f /src/verit/verit.ml
parent1c5ff0e9d329518158fd39fe9875e8f197bdb8f6 (diff)
downloadsmtcoq-4a2ef2747950e8a28bfce7ca641bedd7ef71bea1.tar.gz
smtcoq-4a2ef2747950e8a28bfce7ca641bedd7ef71bea1.zip
Convert hypotheses from Prop to bool (#89)
* This PR converts hypotheses given to the tactics verit, verit_no_check, smt and smt_no_check from Prop to bool when needed. * Some current limitations are detailed in src/PropToBool.v. * Partially enhances #30 .
Diffstat (limited to 'src/verit/verit.ml')
-rw-r--r--src/verit/verit.ml10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/verit/verit.ml b/src/verit/verit.ml
index fbc04e3..3080372 100644
--- a/src/verit/verit.ml
+++ b/src/verit/verit.ml
@@ -218,6 +218,16 @@ let verit_logic =
SL.of_list [LUF; LLia]
let tactic_gen vm_cast lcpl lcepl =
+ (* Transform the tuple of lemmas given by the user into a list *)
+ let lcpl =
+ let lcpl = EConstr.Unsafe.to_constr lcpl in
+ let lcpl = CoqTerms.option_of_constr_option lcpl in
+ match lcpl with
+ | Some lcpl -> CoqTerms.list_of_constr_tuple lcpl
+ | None -> []
+ in
+
+ (* Core tactic *)
clear_all ();
let rt = SmtBtype.create () in
let ro = Op.create () in