diff options
author | Jason Gross <jgross@mit.edu> | 2017-11-12 18:14:30 -0500 |
---|---|---|
committer | Jason Gross <jgross@mit.edu> | 2017-11-12 18:14:30 -0500 |
commit | 46a07299b414d9a3114bbdaceef59cbd1354c5f2 (patch) | |
tree | 2cffb2dfee890fae3a3bd1cc4f5bd6e68f458313 | |
parent | aeedfe5bd2f49ce1a3e9905d2c7291472044e8ad (diff) |
Add autosolve admit package
-rw-r--r-- | _CoqProject | 1 | ||||
-rw-r--r-- | src/Util/SideConditions/AdmitPackage.v | 11 | ||||
-rw-r--r-- | src/Util/SideConditions/Autosolve.v | 4 |
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. |