aboutsummaryrefslogtreecommitdiff
path: root/src/Util/Decidable.v
diff options
context:
space:
mode:
authorGravatar Jason Gross <jagro@google.com>2016-06-22 13:27:44 -0700
committerGravatar Jason Gross <jagro@google.com>2016-06-22 13:27:44 -0700
commitacd8d172e3112372be930544af57c36bf085e6c2 (patch)
tree94087fb35ee54b0e765fd95f5c414ec05e681c7b /src/Util/Decidable.v
parent29a82aac609e7ae9358ce2bdd98b51f25fcd2b8e (diff)
Fix for broken abstract
It breaks when used in [Instance ... := _.]
Diffstat (limited to 'src/Util/Decidable.v')
-rw-r--r--src/Util/Decidable.v22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/Util/Decidable.v b/src/Util/Decidable.v
index f8cf03d6e..726b52b6b 100644
--- a/src/Util/Decidable.v
+++ b/src/Util/Decidable.v
@@ -34,22 +34,22 @@ Local Hint Extern 0 => solve [ solve_decidable_transparent ] : typeclass_instanc
Global Instance dec_True : Decidable True := left I.
Global Instance dec_False : Decidable False := right (fun x => x).
-Global Instance dec_or {A B} `{Decidable A, Decidable B} : Decidable (A \/ B) := _.
-Global Instance dec_and {A B} `{Decidable A, Decidable B} : Decidable (A /\ B) := _.
-Global Instance dec_impl {A B} `{Decidable (B \/ ~A)} : Decidable (A -> B) | 3 := _.
-Global Instance dec_impl_simple {A B} `{Decidable A, Decidable B} : Decidable (A -> B) := _.
-Global Instance dec_iff {A B} `{Decidable A, Decidable B} : Decidable (A <-> B) := _.
+Global Instance dec_or {A B} `{Decidable A, Decidable B} : Decidable (A \/ B). exact _. Defined.
+Global Instance dec_and {A B} `{Decidable A, Decidable B} : Decidable (A /\ B). exact _. Defined.
+Global Instance dec_impl {A B} `{Decidable (B \/ ~A)} : Decidable (A -> B) | 3. exact _. Defined.
+Global Instance dec_impl_simple {A B} `{Decidable A, Decidable B} : Decidable (A -> B). exact _. Defined.
+Global Instance dec_iff {A B} `{Decidable A, Decidable B} : Decidable (A <-> B). exact _. Defined.
Lemma dec_not {A} `{Decidable A} : Decidable (~A).
Proof. solve_decidable_transparent. Defined.
(** Disallow infinite loops of dec_not *)
Hint Extern 0 (Decidable (~?A)) => apply (@dec_not A) : typeclass_instances.
-Global Instance dec_eq_unit : DecidableRel (@eq unit) := _.
-Global Instance dec_eq_bool : DecidableRel (@eq bool) := _.
-Global Instance dec_eq_Empty_set : DecidableRel (@eq Empty_set) := _.
-Global Instance dec_eq_nat : DecidableRel (@eq nat) := _.
-Global Instance dec_eq_prod {A B} `{DecidableRel (@eq A), DecidableRel (@eq B)} : DecidableRel (@eq (A * B)) := _.
-Global Instance dec_eq_sum {A B} `{DecidableRel (@eq A), DecidableRel (@eq B)} : DecidableRel (@eq (A + B)) := _.
+Global Instance dec_eq_unit : DecidableRel (@eq unit). exact _. Defined.
+Global Instance dec_eq_bool : DecidableRel (@eq bool). exact _. Defined.
+Global Instance dec_eq_Empty_set : DecidableRel (@eq Empty_set). exact _. Defined.
+Global Instance dec_eq_nat : DecidableRel (@eq nat). exact _. Defined.
+Global Instance dec_eq_prod {A B} `{DecidableRel (@eq A), DecidableRel (@eq B)} : DecidableRel (@eq (A * B)). exact _. Defined.
+Global Instance dec_eq_sum {A B} `{DecidableRel (@eq A), DecidableRel (@eq B)} : DecidableRel (@eq (A + B)). exact _. Defined.
Lemma Decidable_respects_iff A B (H : A <-> B) : (Decidable A -> Decidable B) * (Decidable B -> Decidable A).
Proof. solve_decidable_transparent. Defined.