diff options
author | Chantal Keller <Chantal.Keller@lri.fr> | 2021-05-05 16:07:47 +0200 |
---|---|---|
committer | Chantal Keller <Chantal.Keller@lri.fr> | 2021-05-05 16:07:47 +0200 |
commit | 9d45fd745ecfd02cb21b3f0e93566b6ee864db38 (patch) | |
tree | f358d6a1ca84dd2d71c8dddc20bdfa2444427190 /src/PropToBool.v | |
parent | 64517cd829de743338ee3df7e94ecd262dc51505 (diff) | |
parent | 907cb562f511e3bbd3f84011e5d3e101f00c4252 (diff) | |
download | smtcoq-9d45fd745ecfd02cb21b3f0e93566b6ee864db38.tar.gz smtcoq-9d45fd745ecfd02cb21b3f0e93566b6ee864db38.zip |
Merge branch 'master' of github.com:smtcoq/smtcoq into coq-8.10
Diffstat (limited to 'src/PropToBool.v')
-rw-r--r-- | src/PropToBool.v | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/PropToBool.v b/src/PropToBool.v index bf0ec46..cbca992 100644 --- a/src/PropToBool.v +++ b/src/PropToBool.v @@ -210,10 +210,33 @@ Ltac prop2bool_hyp H := try clear H; let H := fresh H in assert (H:=H'); clear H' ]. + +Ltac remove_compdec_hyp H := + let TH := type of H in + match TH with + | forall p : CompDec ?A, _ => + match goal with + | [ p' : CompDec A |- _ ] => + let H1 := fresh in + assert (H1 := H p'); clear H; assert (H := H1); clear H1; + remove_compdec_hyp H + | _ => + idtac 1; + let c := fresh "c" in + assert (c : CompDec A); + [ auto with typeclass_instances + | let H1 := fresh in + assert (H1 := H c); clear H; assert (H := H1); clear H1; + remove_compdec_hyp H ] + end + | _ => idtac + end. + + Ltac prop2bool_hyps Hs := lazymatch Hs with | (?Hs1, ?Hs2) => prop2bool_hyps Hs1; [ .. | prop2bool_hyps Hs2] - | ?H => try prop2bool_hyp H + | ?H => remove_compdec_hyp H; try prop2bool_hyp H end. |