Definition timeless' (P : mpred) := forall (a a' : rmap),
  predicates_hered.app_pred P a' -> age a a' ->
  predicates_hered.app_pred P a.

(* Specifications: *)
Lemma timeless'_timeless : forall P, timeless' P -> timeless P.
Lemma except0_sepcon : forall P Q, except0 (P * Q) = except0 P * except0 Q.
Lemma except0_andp : forall P Q, except0 (P && Q) = except0 P && except0 Q.
Lemma timeless_sepcon : forall P Q, timeless P -> timeless Q -> timeless (P * Q).
Lemma timeless_andp : forall P Q, timeless P -> timeless Q -> timeless (P && Q).
Lemma own_timeless : forall {P : Ghost} g (a : G), timeless (own g a NoneP).
Lemma timeless_exp : forall {A} (x : A) P, (forall x, timeless (P x)) -> timeless (EX x : A, P x).
Lemma address_mapsto_timeless : forall m v sh p, timeless (res_predicates.address_mapsto m v sh p).
Lemma timeless_FF : timeless FF.
Lemma timeless_emp : timeless emp.
Lemma nonlock_permission_bytes_timeless : forall sh l z, timeless (res_predicates.nonlock_permission_bytes sh l z).
Lemma timeless_orp : forall P Q, timeless P -> timeless Q -> timeless (P || Q).
Lemma mapsto_timeless : forall sh t v p, timeless (mapsto sh t p v).
Lemma memory_block'_timeless : forall sh n b z, timeless (mapsto_memory_block.memory_block' sh n b z).
Lemma memory_block_timeless : forall sh n p, timeless (memory_block sh n p).
Lemma struct_pred_timeless : forall {CS : compspecs} sh m f t off (IH : Forall (fun it : ident * type => forall (v : reptype (t it)) (p : val), timeless (data_at_rec sh (t it) v p)) m) v p, timeless (struct_pred m (fun (it : ident * type) v => withspacer sh (f it + sizeof (t it)) (off it) (at_offset (data_at_rec sh (t it) v) (f it))) v p).
Lemma union_pred_timeless : forall {CS : compspecs} sh m t off (IH : Forall (fun it : ident * type => forall (v : reptype (t it)) (p : val), timeless (data_at_rec sh (t it) v p)) m) v p, timeless (union_pred m (fun (it : ident * type) v => withspacer sh (sizeof (t it)) (off it) (data_at_rec sh (t it) v)) v p).
Lemma data_at_rec_timeless : forall {CS : compspecs} sh t v p, timeless (data_at_rec sh t v p).
Lemma data_at_timeless : forall {CS : compspecs} sh t v p, timeless (data_at sh t v p).