aboutsummaryrefslogtreecommitdiff
path: root/src/Assembly/State.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/Assembly/State.v')
-rw-r--r--src/Assembly/State.v32
1 files changed, 17 insertions, 15 deletions
diff --git a/src/Assembly/State.v b/src/Assembly/State.v
index 8602c7f96..3467a5cad 100644
--- a/src/Assembly/State.v
+++ b/src/Assembly/State.v
@@ -1,12 +1,14 @@
-Require Export String List Logic.
+Require Export Coq.Strings.String Coq.Lists.List Coq.Init.Logic.
Require Export Bedrock.Word.
-Require Import ZArith NArith NPeano Ndec.
-Require Import Compare_dec Omega.
-Require Import OrderedType Coq.Structures.OrderedTypeEx.
-Require Import FMapPositive FMapFullAVL JMeq.
+Require Import Coq.ZArith.ZArith Coq.NArith.NArith Coq.Numbers.Natural.Peano.NPeano Coq.NArith.Ndec.
+Require Import Coq.Arith.Compare_dec Coq.omega.Omega.
+Require Import Coq.Structures.OrderedType Coq.Structures.OrderedTypeEx.
+Require Import Coq.FSets.FMapPositive Coq.FSets.FMapFullAVL Coq.Logic.JMeq.
-Require Import QhasmUtil QhasmCommon.
+Require Import Crypto.Assembly.QhasmUtil Crypto.Assembly.QhasmCommon.
+
+Require Export Crypto.Util.FixCoqMistakes.
(* We want to use pairs and triples as map keys: *)
@@ -50,16 +52,16 @@ Module Pair_as_OT <: UsualOrderedType.
destruct (Nat_as_OT.compare x0 y0);
unfold Nat_as_OT.lt, Nat_as_OT.eq in *.
- - apply LT; abstract (unfold lt; simpl; destruct (Nat.eq_dec x0 y0); intuition).
+ - apply LT; abstract (unfold lt; simpl; destruct (Nat.eq_dec x0 y0); intuition auto with zarith).
- destruct (Nat_as_OT.compare x1 y1);
unfold Nat_as_OT.lt, Nat_as_OT.eq in *.
+ apply LT; abstract (unfold lt; simpl; destruct (Nat.eq_dec x0 y0); intuition).
- + apply EQ; abstract (unfold lt; simpl; subst; intuition).
- + apply GT; abstract (unfold lt; simpl; destruct (Nat.eq_dec y0 x0); intuition).
+ + apply EQ; abstract (unfold lt; simpl; subst; intuition auto with relations).
+ + apply GT; abstract (unfold lt; simpl; destruct (Nat.eq_dec y0 x0); intuition auto with zarith).
- - apply GT; abstract (unfold lt; simpl; destruct (Nat.eq_dec y0 x0); intuition).
+ - apply GT; abstract (unfold lt; simpl; destruct (Nat.eq_dec y0 x0); intuition auto with zarith).
Defined.
Definition eq_dec (a b: t): {a = b} + {a <> b}.
@@ -69,14 +71,14 @@ Module Pair_as_OT <: UsualOrderedType.
- right; abstract (
unfold lt in *; simpl in *;
destruct (Nat.eq_dec a0 b0); intuition;
- inversion H; intuition).
+ inversion H; intuition auto with zarith).
- left; abstract (inversion e; intuition).
- right; abstract (
unfold lt in *; simpl in *;
destruct (Nat.eq_dec b0 a0); intuition;
- inversion H; intuition).
+ inversion H; intuition auto with zarith).
Defined.
End Pair_as_OT.
@@ -132,7 +134,7 @@ Module Triple_as_OT <: UsualOrderedType.
unfold Nat_as_OT.lt, Nat_as_OT.eq, lt, eq in *;
destruct (Nat.eq_dec (get0 x) (get0 y));
destruct (Nat.eq_dec (get1 x) (get1 y));
- simpl; intuition).
+ simpl; intuition auto with zarith).
Ltac compare_eq x y :=
abstract (
@@ -163,14 +165,14 @@ Module Triple_as_OT <: UsualOrderedType.
- right; abstract (
unfold lt, get0, get1, get2 in *; simpl in *;
destruct (Nat.eq_dec a0 b0), (Nat.eq_dec a1 b1);
- intuition; inversion H; intuition).
+ intuition; inversion H; intuition auto with zarith).
- left; abstract (inversion e; intuition).
- right; abstract (
unfold lt, get0, get1, get2 in *; simpl in *;
destruct (Nat.eq_dec b0 a0), (Nat.eq_dec b1 a1);
- intuition; inversion H; intuition).
+ intuition; inversion H; intuition auto with zarith).
Defined.
End Triple_as_OT.