Definition address : Type := (block * Z)%type.Instance EqDec_block: EqDec block := eq_block.Instance EqDec_address: EqDec address.Instance EqDec_int: EqDec int := Int.eq_dec.Instance EqDec_float: EqDec float := Float.eq_dec.Instance EqDec_val: EqDec val.Definition adr_range (base: address) (size: Z) (loc: address) : Prop :=
 match base, loc with
 | (b, ofs) , (b', ofs') => b=b' /\ (ofs <= ofs' < ofs + size)
 end.

Lemma adr_range_dec: forall base n loc, {adr_range base n loc} + {~adr_range base n loc}.