aboutsummaryrefslogtreecommitdiffstats
path: root/src/PArray/PArray.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/PArray/PArray.v')
-rw-r--r--src/PArray/PArray.v40
1 files changed, 20 insertions, 20 deletions
diff --git a/src/PArray/PArray.v b/src/PArray/PArray.v
index 03f1abd..891db84 100644
--- a/src/PArray/PArray.v
+++ b/src/PArray/PArray.v
@@ -27,9 +27,9 @@ Module IntOrderedType <: OrderedType.
Definition t := int.
- Definition eq x y := (x == y) = true.
+ Definition eq x y := (x =? y) = true.
- Definition lt x y := (x < y) = true.
+ Definition lt x y := (x <? y) = true.
Lemma eq_refl x : eq x x.
Proof. unfold eq. rewrite eqb_spec. reflexivity. Qed.
@@ -48,9 +48,9 @@ Module IntOrderedType <: OrderedType.
Definition compare x y : Compare lt eq x y.
Proof.
- case_eq (x < y); intro e.
+ case_eq (x <? y); intro e.
exact (LT e).
- case_eq (x == y); intro e2.
+ case_eq (x =? y); intro e2.
exact (EQ e2).
apply GT. unfold lt.
rewrite <- Bool.not_false_iff_true, <- Bool.not_true_iff_false, ltb_spec, eqb_spec in *; intro e3.
@@ -59,7 +59,7 @@ Module IntOrderedType <: OrderedType.
Definition eq_dec x y : { eq x y } + { ~ eq x y }.
Proof.
- case_eq (x == y); intro e.
+ case_eq (x =? y); intro e.
left; exact e.
right. intro H. rewrite H in e. discriminate.
Defined.
@@ -78,7 +78,7 @@ Definition make {A:Type} (l:int) (d:A) : array A := (Map.empty A, d, l).
Definition get {A:Type} (t:array A) (i:int) : A :=
let (td, l) := t in
let (t, d) := td in
- if i < l then
+ if i <? l then
match Map.find i t with
| Some x => x
| None => d
@@ -90,7 +90,7 @@ Definition default {A:Type} (t:array A) : A :=
Definition set {A:Type} (t:array A) (i:int) (a:A) : array A :=
let (td,l) := t in
- if l <= i then
+ if l <=? i then
t
else
let (t,d) := td in
@@ -115,14 +115,14 @@ Definition max_length := max_int.
Require FSets.FMapFacts.
Module P := FSets.FMapFacts.WProperties_fun IntOrderedType Map.
-Lemma get_outofbound : forall A (t:array A) i, (i < length t) = false -> t.[i] = default t.
+Lemma get_outofbound : forall A (t:array A) i, (i <? length t) = false -> t.[i] = default t.
intros A t i; unfold get.
destruct t as ((t, d), l).
unfold length; intro Hi; rewrite Hi; clear Hi.
reflexivity.
Qed.
-Lemma get_set_same : forall A t i (a:A), (i < length t) = true -> t.[i<-a].[i] = a.
+Lemma get_set_same : forall A t i (a:A), (i <? length t) = true -> t.[i<-a].[i] = a.
intros A t i a.
destruct t as ((t, d), l).
unfold set, get, length.
@@ -143,7 +143,7 @@ Lemma get_set_other : forall A t i j (a:A), i <> j -> t.[i<-a].[j] = t.[j].
intros A t i j a Hij.
destruct t as ((t, d), l).
unfold set, get, length.
-case (l <= i).
+case (l <=? i).
reflexivity.
rewrite P.F.add_neq_o.
reflexivity.
@@ -156,17 +156,17 @@ Lemma default_set : forall A t i (a:A), default (t.[i<-a]) = default t.
intros A t i a.
destruct t as ((t, d), l).
unfold default, set.
-case (l <= i); reflexivity.
+case (l <=? i); reflexivity.
Qed.
Lemma get_make : forall A (a:A) size i, (make size a).[i] = a.
intros A a size i.
unfold make, get.
rewrite P.F.empty_o.
-case (i < size); reflexivity.
+case (i <? size); reflexivity.
Qed.
-Lemma leb_length : forall A (t:array A), length t <= max_length = true.
+Lemma leb_length : forall A (t:array A), length t <=? max_length = true.
intros A t.
generalize (length t); clear t.
intro i.
@@ -177,10 +177,10 @@ apply to_Z_bounded.
Qed.
Lemma length_make : forall A size (a:A),
- length (make size a) = if size <= max_length then size else max_length.
+ length (make size a) = if size <=? max_length then size else max_length.
intros A size a.
unfold length, make.
-replace (size <= max_length) with true.
+replace (size <=? max_length) with true.
reflexivity.
symmetry.
rewrite leb_spec.
@@ -194,7 +194,7 @@ Lemma length_set : forall A t i (a:A),
intros A t i a.
destruct t as ((t, d), l).
unfold length, set.
-case (l <= i); reflexivity.
+case (l <=? i); reflexivity.
Qed.
Lemma get_copy : forall A (t:array A) i, (copy t).[i] = t.[i].
@@ -211,7 +211,7 @@ Qed.
(*
Axiom array_ext : forall A (t1 t2:array A),
length t1 = length t2 ->
- (forall i, i < length t1 = true -> t1.[i] = t2.[i]) ->
+ (forall i, i <? length t1 = true -> t1.[i] = t2.[i]) ->
default t1 = default t2 ->
t1 = t2.
*)
@@ -229,7 +229,7 @@ Qed.
Lemma get_set_same_default A (t : array A) (i : int) : t.[i <- default t].[i] = default t.
unfold default, get, set.
destruct t as ((t, d), l).
-case_eq (i < l).
+case_eq (i <? l).
intro H; generalize H.
rewrite ltb_spec.
rewrite Z.lt_nge.
@@ -252,10 +252,10 @@ reflexivity.
Qed.
Lemma get_not_default_lt A (t:array A) x :
- t.[x] <> default t -> (x < length t) = true.
+ t.[x] <> default t -> (x <? length t) = true.
unfold get, default, length.
destruct t as ((t, d), l).
-case (x < l); tauto.
+case (x <? l); tauto.
Qed.
(*