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 lseg_lseg: forall (s1 s2: list V) (x y z: val),
lseg s2 y z * lseg s1 x y |-- lseg (s1 ++ s2) x z.