End LsegRecursiveMaybeLoop.
Module LsegWandFrame.
Definition lseg (sh: share) (tcontents contents: list int) (x z: val) : mpred :=
listrep sh tcontents z -* listrep sh (contents ++ tcontents) x.

Lemma lseg_lseg: forall sh (s1 s2 t: list int) (x y z: val),
lseg sh t s2 y z * lseg sh (s2 ++ t) s1 x y |-- lseg sh t (s1 ++ s2) x z.