diff options
| author | Brian Campbell | 2019-03-15 13:32:43 +0000 |
|---|---|---|
| committer | Brian Campbell | 2019-03-15 13:50:52 +0000 |
| commit | 9136e3cfcb1071c34ba6dd31a92d45a327a77cdd (patch) | |
| tree | bdb90d82207eb403af1ccd79c8832318121823a5 /lib | |
| parent | 6137b6b5b788138dd02503cb1e88242a618a3677 (diff) | |
Coq: better loop handling, discharge some related proof obligations
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/coq/Sail2_values.v | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/coq/Sail2_values.v b/lib/coq/Sail2_values.v index f11e057a..824ad2d4 100644 --- a/lib/coq/Sail2_values.v +++ b/lib/coq/Sail2_values.v @@ -1155,7 +1155,8 @@ repeat (* The linear solver doesn't like existentials. *) Ltac destruct_exists := - repeat match goal with H:@ex Z _ |- _ => destruct H end. + repeat match goal with H:@ex Z _ |- _ => destruct H end; + repeat match goal with H:@ex bool _ |- _ => destruct H end. Ltac prepare_for_solver := (*dump_context;*) @@ -1222,6 +1223,7 @@ prepare_for_solver; | constructor; drop_exists; eauto 3 with datatypes zarith sail | match goal with |- context [Z.mul] => constructor; nia end (* Booleans - and_boolMP *) + | constructor; intuition | match goal with |- ArithFact (forall l r:bool, _ -> _ -> exists _ : bool, _) => constructor; intros [|] [|] H1 H2; repeat match goal with H:?X = ?X -> _ |- _ => specialize (H eq_refl) end; |
