aboutsummaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorJames Pollard <james@pollard.dev>2020-06-30 20:18:18 +0100
committerJames Pollard <james@pollard.dev>2020-06-30 20:18:18 +0100
commitf02b7b9a3879781ae332e4a967f605d961210000 (patch)
tree7d20cd8e6c04640d93dd5433641572ba33f34c75 /src/common
parenta8aaca57d901e219d52ccae03833a59a75aaafe2 (diff)
downloadvericert-f02b7b9a3879781ae332e4a967f605d961210000.tar.gz
vericert-f02b7b9a3879781ae332e4a967f605d961210000.zip
Heavy automation of proofs.
Diffstat (limited to 'src/common')
-rw-r--r--src/common/Coquplib.v9
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.