diff options
author | James Pollard <james@pollard.dev> | 2020-06-30 20:18:18 +0100 |
---|---|---|
committer | James Pollard <james@pollard.dev> | 2020-06-30 20:18:18 +0100 |
commit | f02b7b9a3879781ae332e4a967f605d961210000 (patch) | |
tree | 7d20cd8e6c04640d93dd5433641572ba33f34c75 /src/common | |
parent | a8aaca57d901e219d52ccae03833a59a75aaafe2 (diff) | |
download | vericert-f02b7b9a3879781ae332e4a967f605d961210000.tar.gz vericert-f02b7b9a3879781ae332e4a967f605d961210000.zip |
Heavy automation of proofs.
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/Coquplib.v | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/common/Coquplib.v b/src/common/Coquplib.v index 5de1e7c..ba0a5dc 100644 --- a/src/common/Coquplib.v +++ b/src/common/Coquplib.v @@ -51,6 +51,13 @@ Ltac clear_obvious := | [ H : _ /\ _ |- _ ] => invert H end. +Ltac nicify_goals := + repeat match goal with + | [ |- _ /\ _ ] => split + | [ |- Some _ = Some _ ] => try reflexivity + | [ _ : ?x |- ?x ] => assumption + end. + Ltac kill_bools := repeat match goal with | [ H : _ && _ = true |- _ ] => apply andb_prop in H @@ -118,7 +125,7 @@ Ltac unfold_constants := end. Ltac simplify := unfold_constants; simpl in *; - repeat (clear_obvious; kill_bools); + repeat (clear_obvious; nicify_goals; kill_bools); simpl in *; try discriminate. Global Opaque Nat.div. |