diff options
author | Jason Gross <jgross@mit.edu> | 2017-11-09 10:51:23 -0500 |
---|---|---|
committer | Jason Gross <jgross@mit.edu> | 2017-11-09 10:51:23 -0500 |
commit | b2474eda61ca4904030be84444ee2de3ece31e6f (patch) | |
tree | ac83a9bfe4844cea305c1360e837555d4bcc9d8c /src/Util/Decidable.v | |
parent | 4f64644c8ae6ee539526575d8634e512058c4813 (diff) |
Add dec_Forall, dec_Exists
Diffstat (limited to 'src/Util/Decidable.v')
-rw-r--r-- | src/Util/Decidable.v | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Util/Decidable.v b/src/Util/Decidable.v index b68d799b3..974510f61 100644 --- a/src/Util/Decidable.v +++ b/src/Util/Decidable.v @@ -1,6 +1,7 @@ (** Typeclass for decidable propositions *) Require Import Coq.Logic.Eqdep_dec. +Require Import Coq.Lists.List. Require Import Crypto.Util.FixCoqMistakes. Require Import Crypto.Util.Sigma. Require Import Crypto.Util.HProp. @@ -113,6 +114,13 @@ Global Instance dec_le_Z : DecidableRel BinInt.Z.le := ZArith_dec.Z_le_dec. Global Instance dec_gt_Z : DecidableRel BinInt.Z.gt := ZArith_dec.Z_gt_dec. Global Instance dec_ge_Z : DecidableRel BinInt.Z.ge := ZArith_dec.Z_ge_dec. +Global Instance dec_Forall {A P} {HD : forall x : A, Decidable (P x)} {ls} + : Decidable (Forall P ls) + := @Forall_dec A P HD ls. +Global Instance dec_Exists {A P} {HD : forall x : A, Decidable (P x)} {ls} + : Decidable (Exists P ls) + := @Exists_dec A P ls HD. + Global Instance dec_match_pair {A B} {P : A -> B -> Prop} {x : A * B} {HD : Decidable (P (fst x) (snd x))} : Decidable (let '(a, b) := x in P a b) | 1. |