Definition zero_of_type (t: type) : val :=
 match t with
  | Tfloat _ _ => Vfloat Float.zero
  | _ => Vint Int.zero
 end.Definition eval_sgvar (id: ident) (ty: type) (rho: environ) :=
 match Map.get (ge_of rho) id with
| Some b => Vptr b Ptrofs.zero
| None => Vundef
end.

(* Specifications: *)
Lemma unsigned_repr_le: forall i, 0 <= i -> Int.unsigned (Int.repr i) <= i.
Lemma sizeof_Tpointer {cs: compspecs} : forall t, sizeof (Tpointer t noattr) = if Archi.ptr64 then 8 else 4.
Lemma init_data_size_space {cs: compspecs}: forall t, init_data_size (Init_space (sizeof t)) = sizeof t.
Lemma readable_readonly2share: forall ro, readable_share (readonly2share ro).