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 access_drop_1: forall m b lo hi p m', Mem.drop_perm m b lo hi p = Some m' -> (forall ofs, lo <= ofs < hi -> forall k, access_at m (b, ofs) k = Some Freeable /\ access_at m' (b, ofs) k = Some p).