Local Open Scope logic.

(* Lemma da_emp_isptrornull sh t v p : da_emp sh t v p = (!!is_pointer_or_null p) &&  da_emp sh t v p.  Lemma da_emp_null sh t v p: p=nullval -> da_emp sh t v p = emp. Lemma da_emp_ptr sh t v b i: da_emp sh t v (Vptr b i) = data_at sh t v (Vptr b i). *)
Lemma Tarray_0_emp sh v c: data_at sh (Tarray tuchar 0 noattr) v c |--  emp.
unfold data_at. unfold field_at, data_at_rec, at_offset; simpl.