(** Second, two distinct fields do not overlap *)

(* Specifications: *)
Lemma field_offset_no_overlap:
forall env id1 ofs1 ty1 id2 ofs2 ty2 fld,
field_offset env id1 fld = OK ofs1 -> field_type id1 fld = OK ty1 ->
field_offset env id2 fld = OK ofs2 -> field_type id2 fld = OK ty2 ->
id1 <> id2 ->
ofs1 + sizeof env ty1 <= ofs2 \/ ofs2 + sizeof env ty2 <= ofs1.
Lemma field_offset_no_overlap:
forall env id1 ofs1 ty1 id2 ofs2 ty2 fld,
field_offset env id1 fld = OK ofs1 -> field_type id1 fld = OK ty1 ->
field_offset env id2 fld = OK ofs2 -> field_type id2 fld = OK ty2 ->
id1 <> id2 ->
ofs1 + sizeof env ty1 <= ofs2 \/ ofs2 + sizeof env ty2 <= ofs1.