Definition agree64 (a: Ptrofs.int) (b: Int64.int) : Prop :=
Ptrofs.unsigned a = Int64.unsigned b.

(* Specifications: *)
Lemma agree64_repr:
forall i, agree64 (Ptrofs.repr i) (Int64.repr i).
Lemma agree64_signed:
forall a b, agree64 a b -> Ptrofs.signed a = Int64.signed b.
Lemma agree64_of_int:
forall b, agree64 (of_int64 b) b.
Lemma agree64_of_int_eq:
forall a b, agree64 a b -> of_int64 b = a.
Lemma agree64_to_int:
forall a, agree64 a (to_int64 a).
Lemma agree64_to_int_eq:
forall a b, agree64 a b -> to_int64 a = b.
Lemma agree64_neg:
forall a1 b1, agree64 a1 b1 -> agree64 (Ptrofs.neg a1) (Int64.neg b1).
Lemma agree64_add:
forall a1 b1 a2 b2,
agree64 a1 b1 -> agree64 a2 b2 -> agree64 (Ptrofs.add a1 a2) (Int64.add b1 b2).
Lemma agree64_sub:
forall a1 b1 a2 b2,
agree64 a1 b1 -> agree64 a2 b2 -> agree64 (Ptrofs.sub a1 a2) (Int64.sub b1 b2).
Lemma agree64_mul:
forall a1 b1 a2 b2,
agree64 a1 b1 -> agree64 a2 b2 -> agree64 (Ptrofs.mul a1 a2) (Int64.mul b1 b2).
Lemma agree64_divs:
forall a1 b1 a2 b2,
agree64 a1 b1 -> agree64 a2 b2 -> agree64 (Ptrofs.divs a1 a2) (Int64.divs b1 b2).
Lemma of_int64_to_int64:
forall n, of_int64 (to_int64 n) = n.
Lemma to_int64_of_int64:
forall n, to_int64 (of_int64 n) = n.
Lemma agree64_repr:
forall i, agree64 (Ptrofs.repr i) (Int64.repr i).
Lemma agree64_signed:
forall a b, agree64 a b -> Ptrofs.signed a = Int64.signed b.
Lemma agree64_of_int:
forall b, agree64 (of_int64 b) b.
Lemma agree64_of_int_eq:
forall a b, agree64 a b -> of_int64 b = a.
Lemma agree64_to_int:
forall a, agree64 a (to_int64 a).
Lemma agree64_to_int_eq:
forall a b, agree64 a b -> to_int64 a = b.
Lemma agree64_neg:
forall a1 b1, agree64 a1 b1 -> agree64 (Ptrofs.neg a1) (Int64.neg b1).
Lemma agree64_add:
forall a1 b1 a2 b2,
agree64 a1 b1 -> agree64 a2 b2 -> agree64 (Ptrofs.add a1 a2) (Int64.add b1 b2).
Lemma agree64_sub:
forall a1 b1 a2 b2,
agree64 a1 b1 -> agree64 a2 b2 -> agree64 (Ptrofs.sub a1 a2) (Int64.sub b1 b2).
Lemma agree64_mul:
forall a1 b1 a2 b2,
agree64 a1 b1 -> agree64 a2 b2 -> agree64 (Ptrofs.mul a1 a2) (Int64.mul b1 b2).
Lemma agree64_divs:
forall a1 b1 a2 b2,
agree64 a1 b1 -> agree64 a2 b2 -> agree64 (Ptrofs.divs a1 a2) (Int64.divs b1 b2).
Lemma of_int64_to_int64:
forall n, of_int64 (to_int64 n) = n.
Lemma to_int64_of_int64:
forall n, to_int64 (of_int64 n) = n.