aboutsummaryrefslogtreecommitdiff
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
parentaeedfe5bd2f49ce1a3e9905d2c7291472044e8ad (diff)
Add autosolve admit package
-rw-r--r--_CoqProject1
-rw-r--r--src/Util/SideConditions/AdmitPackage.v11
-rw-r--r--src/Util/SideConditions/Autosolve.v4
3 files changed, 15 insertions, 1 deletions
diff --git a/_CoqProject b/_CoqProject
index 4ae9fa8a5..6fc2bd149 100644
--- a/_CoqProject
+++ b/_CoqProject
@@ -5866,6 +5866,7 @@ src/Util/ForLoop/Unrolling.v
src/Util/ListUtil/FoldBool.v
src/Util/ListUtil/Forall.v
src/Util/Logic/ImplAnd.v
+src/Util/SideConditions/AdmitPackage.v
src/Util/SideConditions/Autosolve.v
src/Util/SideConditions/CorePackages.v
src/Util/SideConditions/ReductionPackages.v
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.