Ltac splittable :=
 match goal with
 | |- _ <= _ < _ => fail 1
 | |- _ < _ <= _ => fail 1
 | |- _ <= _ <= _ => fail 1
 | |- _ < _ < _ => fail 1
 | |- _ <-> _ => fail 1
 | |- _ /\ _ => idtac
 end.Ltac prove_signed_range :=
  match goal with
  | |- Int.min_signed <= _ <= Int.max_signed => 
           normalize; rep_omega
  | |- Int64.min_signed <= _ <= Int64.max_signed => 
           normalize; rep_omega
  end.

(* Specifications: *)
Lemma ptr_eq_refl: forall x, isptr x -> ptr_eq x x.
Lemma ptr_eq_nullval: ptr_eq nullval nullval.
Lemma intsigned_intrepr_bytesigned: forall i, Int.signed (Int.repr (Byte.signed i)) = Byte.signed i.