aboutsummaryrefslogtreecommitdiff
path: root/src/Util/SideConditions
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-11-12 18:14:30 -0500
committerGravatar Jason Gross <jgross@mit.edu>2017-11-12 18:14:30 -0500
commit46a07299b414d9a3114bbdaceef59cbd1354c5f2 (patch)
tree2cffb2dfee890fae3a3bd1cc4f5bd6e68f458313 /src/Util/SideConditions
parentaeedfe5bd2f49ce1a3e9905d2c7291472044e8ad (diff)
Add autosolve admit package
Diffstat (limited to 'src/Util/SideConditions')
-rw-r--r--src/Util/SideConditions/AdmitPackage.v11
-rw-r--r--src/Util/SideConditions/Autosolve.v4
2 files changed, 14 insertions, 1 deletions
diff --git a/src/Util/SideConditions/AdmitPackage.v b/src/Util/SideConditions/AdmitPackage.v
new file mode 100644
index 000000000..c25e82aba
--- /dev/null
+++ b/src/Util/SideConditions/AdmitPackage.v
@@ -0,0 +1,11 @@
+Require Import Coq.Compat.AdmitAxiom.
+Require Import Crypto.Util.SideConditions.CorePackages.
+
+Definition admit_package (P : Prop) := P.
+
+Ltac autosolve else_tac :=
+ lazymatch goal with
+ | [ |- admit_package ?P ]
+ => change P; admit
+ | _ => else_tac ()
+ end.
diff --git a/src/Util/SideConditions/Autosolve.v b/src/Util/SideConditions/Autosolve.v
index 51c13647c..7d2f1a9c7 100644
--- a/src/Util/SideConditions/Autosolve.v
+++ b/src/Util/SideConditions/Autosolve.v
@@ -1,15 +1,17 @@
Require Import Crypto.Util.Decidable.
Require Import Crypto.Util.SideConditions.CorePackages.
+Require Import Crypto.Util.SideConditions.AdmitPackage.
Require Import Crypto.Util.SideConditions.ReductionPackages.
Require Import Crypto.Util.SideConditions.RingPackage.
Ltac autosolve_gen autosolve_tac else_tac :=
CorePackages.preautosolve ();
CorePackages.Internal.autosolve ltac:(fun _ =>
+ AdmitPackage.autosolve ltac:(fun _ =>
ReductionPackages.autosolve autosolve_tac ltac:(fun _ =>
RingPackage.autosolve ltac:(fun _ =>
CorePackages.autosolve else_tac
- ))).
+ )))).
Ltac autosolve else_tac :=
autosolve_gen autosolve else_tac.