aboutsummaryrefslogtreecommitdiff
path: root/src/Specific/Framework
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-11-07 01:50:38 -0500
committerGravatar Jason Gross <jgross@mit.edu>2017-11-07 01:50:38 -0500
commit5e3210fe6cca5dfdfee8483fea89f6d16d6f3d05 (patch)
tree9a61c5d12b141385e0f6e18ebfeefd6e0d778006 /src/Specific/Framework
parent538a0b6a0c61458133d146d79834fde4d2364546 (diff)
Add SideConditionFramework
Diffstat (limited to 'src/Specific/Framework')
-rw-r--r--src/Specific/Framework/SideConditionFramework.v13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/Specific/Framework/SideConditionFramework.v b/src/Specific/Framework/SideConditionFramework.v
new file mode 100644
index 000000000..51322b129
--- /dev/null
+++ b/src/Specific/Framework/SideConditionFramework.v
@@ -0,0 +1,13 @@
+Require Import Crypto.Util.Decidable.
+
+Definition vm_decide_package (P : Prop) := P.
+Definition cbv_minus_then_vm_decide_package {T} (ident : T) (P : Prop) := P.
+Definition vm_compute_reflexivity_package (P : Prop) := P.
+
+Ltac autosolve else_tac :=
+ lazymatch goal with
+ | [ |- vm_decide_package ?P ] => cbv beta delta [vm_decide_package]; vm_decide
+ | [ |- cbv_minus_then_vm_decide_package ?ident ?P ] => cbv -[ident]; vm_decide
+ | [ |- vm_compute_reflexivity_package ?P ] => vm_compute; reflexivity
+ | _ => else_tac ()
+ end.