Section GeneralLseg.
Context {V: Type}.
Variable listrep: list V -> val -> mpred.
Definition lseg (contents: list V) (x z: val) : mpred :=
ALL tcontents: list V, listrep tcontents z -* listrep (contents ++ tcontents) x.

Lemma list_lseg: forall (s1 s2: list V) (x y: val),
listrep s2 y * lseg s1 x y |-- listrep (s1 ++ s2) x.