Section ghost.
Context {RA: Ghost}.
(* own isn't precise unless the ghost is a Disj_alg. Is this a problem? *)

Corollary own_list_alloc' : forall a pp i, 0 <= i -> valid a ->
emp |-- |==> (EX lg : _, !!(Zlength lg = i) && iter_sepcon (fun g => own g a pp) lg).