aboutsummaryrefslogtreecommitdiffstats
path: root/MenhirLib/Alphabet.v
diff options
context:
space:
mode:
authorJacques-Henri Jourdan <jacques-henri.jourdan@normalesup.org>2021-10-03 18:42:50 +0200
committerGitHub <noreply@github.com>2021-10-03 18:42:50 +0200
commit990c96e18ca31781484f558d46c94537b5ec59cf (patch)
treed4b610952733c6d2dfcf674cb289e74c1624f038 /MenhirLib/Alphabet.v
parenta2a2529d78b86ece65cfc03fa8670538b85bc991 (diff)
downloadcompcert-kvx-990c96e18ca31781484f558d46c94537b5ec59cf.tar.gz
compcert-kvx-990c96e18ca31781484f558d46c94537b5ec59cf.zip
Synchronize vendored MenhirLib with upstream (#416)
It remains compatible with earlier Menhir versions.
Diffstat (limited to 'MenhirLib/Alphabet.v')
-rw-r--r--MenhirLib/Alphabet.v14
1 files changed, 7 insertions, 7 deletions
diff --git a/MenhirLib/Alphabet.v b/MenhirLib/Alphabet.v
index cd849761..8381c014 100644
--- a/MenhirLib/Alphabet.v
+++ b/MenhirLib/Alphabet.v
@@ -37,7 +37,7 @@ Qed.
Definition comparableLt {A:Type} (C: Comparable A) : relation A :=
fun x y => compare x y = Lt.
-Instance ComparableLtStrictOrder {A:Type} (C: Comparable A) :
+Global Instance ComparableLtStrictOrder {A:Type} (C: Comparable A) :
StrictOrder (comparableLt C).
Proof.
apply Build_StrictOrder.
@@ -53,7 +53,7 @@ apply compare_trans.
Qed.
(** nat is comparable. **)
-Program Instance natComparable : Comparable nat :=
+Global Program Instance natComparable : Comparable nat :=
{ compare := Nat.compare }.
Next Obligation.
symmetry.
@@ -79,7 +79,7 @@ apply (gt_trans _ _ _ H H0).
Qed.
(** A pair of comparable is comparable. **)
-Program Instance PairComparable {A:Type} (CA:Comparable A) {B:Type} (CB:Comparable B) :
+Global Program Instance PairComparable {A:Type} (CA:Comparable A) {B:Type} (CB:Comparable B) :
Comparable (A*B) :=
{ compare := fun x y =>
let (xa, xb) := x in let (ya, yb) := y in
@@ -134,10 +134,10 @@ destruct H.
rewrite compare_refl; intuition.
Qed.
-Instance NComparableLeibnizEq : ComparableLeibnizEq natComparable := Nat.compare_eq.
+Global Instance NComparableLeibnizEq : ComparableLeibnizEq natComparable := Nat.compare_eq.
(** A pair of ComparableLeibnizEq is ComparableLeibnizEq **)
-Instance PairComparableLeibnizEq
+Global Instance PairComparableLeibnizEq
{A:Type} {CA:Comparable A} (UA:ComparableLeibnizEq CA)
{B:Type} {CB:Comparable B} (UB:ComparableLeibnizEq CB) :
ComparableLeibnizEq (PairComparable CA CB).
@@ -174,7 +174,7 @@ Class Numbered (A:Type) := {
inj_bound_spec : forall x, (inj x < Pos.succ inj_bound)%positive
}.
-Program Instance NumberedAlphabet {A:Type} (N:Numbered A) : Alphabet A :=
+Global Program Instance NumberedAlphabet {A:Type} (N:Numbered A) : Alphabet A :=
{ AlphabetComparable := {| compare := fun x y => Pos.compare (inj x) (inj y) |};
AlphabetFinite :=
{| all_list := fst (Pos.iter
@@ -224,7 +224,7 @@ Import OrderedType.
Module Type ComparableM.
Parameter t : Type.
- Declare Instance tComparable : Comparable t.
+ Global Declare Instance tComparable : Comparable t.
End ComparableM.
Module OrderedTypeAlt_from_ComparableM (C:ComparableM) <: OrderedTypeAlt.