diff options
author | ckeller <ckeller@users.noreply.github.com> | 2021-04-21 09:46:30 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-21 09:46:30 +0200 |
commit | 4a2ef2747950e8a28bfce7ca641bedd7ef71bea1 (patch) | |
tree | 3ceff26534e6f4116969b143725700077993ec6f /src/verit/verit.ml | |
parent | 1c5ff0e9d329518158fd39fe9875e8f197bdb8f6 (diff) | |
download | smtcoq-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.ml | 10 |
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 |