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 invalid_noaccess: forall m b ofs k, ~Mem.valid_block m b -> access_at m (b, ofs) k = None.