(* Require Import VST.sepcomp.semantics_lemmas. *)
Set Bullet Behavior "Strict Subproofs".
Module MiniAddressOrdered <: MiniOrderedType.
Definition t:= address.
Definition eq:= @eq t.
Definition lt' (x y:t): bool :=
(match x, y with (x1,x2),(y1,y2) =>
if peq x1 y1 then zlt x2 y2 else plt x1 y1
end).
Definition lt x y:= is_true (lt' x y).

(* Specifications: *)
Lemma eq_refl : forall x : t, eq x x. Proof. reflexivity. Qed.
Lemma eq_sym : forall x y : t, eq x y -> eq y x.
Lemma lt_not_eq : forall x y : t, lt x y -> ~ eq x y.
Lemma compare : forall x y : t, Compare lt eq x y.
destruct x as [x1 x2].