(* TODO: remove this file *)
Local Open Scope logic.
Section STRONGER.
Context {cs: compspecs}.
Definition stronger {t: type} (v v': reptype t) : Prop :=
forall sh, data_at sh t v |-- data_at sh t v'.
Definition data_equal {t} v1 v2 := forall sh, data_at sh t v1 = data_at sh t v2.
Notation "X '>>>' Y" := (stronger X Y) (at level 60, no associativity).
Notation "X '===' Y" := (data_equal X Y) (at level 60, no associativity).

(* Specifications: *)
Lemma stronger_refl: forall t (v: reptype t), v >>> v.
Lemma stronger_JMeq:
forall t t' a a' b b',
t=t' ->
@JMeq (reptype t) a (reptype t') a' ->
@JMeq (reptype t) b (reptype t') b' ->
a >>> b -> a' >>> b'.
Lemma eq_rect_r_stronger: forall {t1 t2} v0 v1 (H: t1 = t2),
v0 >>> v1 ->
eq_rect_r reptype v0 H >>> eq_rect_r reptype v1 H.