Instance EqDec_ident: EqDec ident := ident_eq.Instance EqDec_byte: EqDec byte := Byte.eq_dec.(*Moved to base.v so that this file does not need to Import Clightdefs ad Ctypes
  Instance EqDec_type: EqDec type := type_eq.*)
Instance EqDec_int: EqDec int := Int.eq_dec.Instance EqDec_int64: EqDec int64 := Int64.eq_dec.Instance EqDec_float: EqDec float := Float.eq_dec.Instance EqDec_float32: EqDec float32 := Float32.eq_dec.Instance EqDex_ptr : EqDec ptrofs := Ptrofs.eq_dec.(*NEW*)

Instance EqDec_memval: EqDec memval.Instance EqDec_val: EqDec val.Instance EqDec_quantity: EqDec quantity.Definition access_at (m: mem) (loc: address) (k: perm_kind): option permission :=
   PMap.get (fst loc) (Mem.mem_access m) (snd loc) k.

Lemma free_access: forall m1 b lo hi m2, Mem.free m1 b lo hi = Some m2 -> (forall ofs, lo <= ofs < hi -> access_at m1 (b,ofs) Cur = Some Freeable /\ access_at m2 (b,ofs) Max = None).