Definition listempty (lp: adr*adr) : mpred :=
!! (fst lp = snd lp) && emp.
Definition listrep' (R: adr*adr -> mpred) (lp: adr*adr) : mpred :=
listcons' R lp || listempty lp.
Definition listrep : adr*adr -> mpred := HORec listrep'.
Definition lseg (e1 e2: adr) : mpred := listrep (e1,e2).

Lemma lseg_cons_in_next_context:   (*  U4 *)
forall x y z v, lseg x y * next y z * next z v |-- lseg x z * next z v.