aboutsummaryrefslogtreecommitdiffstats
path: root/src/classes/SMT_classes.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/classes/SMT_classes.v')
-rw-r--r--src/classes/SMT_classes.v27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/classes/SMT_classes.v b/src/classes/SMT_classes.v
index 53d5dcc..3ccd3c9 100644
--- a/src/classes/SMT_classes.v
+++ b/src/classes/SMT_classes.v
@@ -1,7 +1,7 @@
(**************************************************************************)
(* *)
(* SMTCoq *)
-(* Copyright (C) 2011 - 2021 *)
+(* Copyright (C) 2011 - 2022 *)
(* *)
(* See file "AUTHORS" for the list of authors *)
(* *)
@@ -156,16 +156,16 @@ Class CompDec T := {
}.
-Instance eqbtype_of_compdec t `{c: CompDec t} : (EqbType t) :=
+Global Instance eqbtype_of_compdec {t} `{c: CompDec t} : (EqbType t) :=
let (_, eqb, _, _, _) := c in eqb.
-Instance ord_of_compdec t `{c: CompDec t} : (OrdType t) :=
+Global Instance ord_of_compdec {t} `{c: CompDec t} : (OrdType t) :=
let (_, _, ord, _, _) := c in ord.
-Instance inh_of_compdec t `{c: CompDec t} : (Inhabited t) :=
+Global Instance inh_of_compdec {t} `{c: CompDec t} : (Inhabited t) :=
let (_, _, _, _, inh) := c in inh.
-Instance comp_of_compdec t `{c: CompDec t} : @Comparable t (ord_of_compdec t).
+Global Instance comp_of_compdec {t} `{c: CompDec t} : @Comparable t (ord_of_compdec (t:=t)).
destruct c; trivial.
Defined.
@@ -173,7 +173,7 @@ Defined.
Definition type_compdec {ty:Type} (cd : CompDec ty) := ty.
Definition eqb_of_compdec {t} (c : CompDec t) : t -> t -> bool :=
- match eqbtype_of_compdec t with
+ match eqbtype_of_compdec (t:=t) with
| {| eqb := eqb |} => eqb
end.
@@ -184,12 +184,6 @@ Proof.
intros x y. destruct c as [TY [E HE] O C I]. unfold eqb_of_compdec. simpl. now rewrite HE.
Qed.
-Hint Resolve
- ord_of_compdec
- inh_of_compdec
- comp_of_compdec
- eqbtype_of_compdec : typeclass_instances.
-
Record typ_compdec : Type := Typ_compdec {
te_carrier : Type;
@@ -223,3 +217,12 @@ Section CompDec_from.
Typ_compdec T CompDec_from.
End CompDec_from.
+
+
+(* Register constants for OCaml access *)
+Register typ_compdec as SMTCoq.classes.SMT_classes.typ_compdec.
+Register Typ_compdec as SMTCoq.classes.SMT_classes.Typ_compdec.
+Register te_carrier as SMTCoq.classes.SMT_classes.te_carrier.
+Register te_compdec as SMTCoq.classes.SMT_classes.te_compdec.
+Register eqb_of_compdec as SMTCoq.classes.SMT_classes.eqb_of_compdec.
+Register CompDec as SMTCoq.classes.SMT_classes.CompDec.