Definition Rule_U3 (nc pc : clause) :=
match nc , pc with
PosSpaceClause Gamma Delta ((Lseg x y)::Sigma) ,
NegSpaceClause Gamma' (Lseg x' Nil::Sigma') Delta' =>
match expr_cmp x x' with
Eq => Some (NegSpaceClause Gamma' (Lseg x y::Lseg y Nil::Sigma') Delta')
|_ => None
end
| _ , _ => None
end.

Lemma lseg_prefix: forall x y z l h,
lseg x y h ->
val2loc z = Some l ->
~emp_at l h ->
exists h' : heap, lseg x z h' /\
join_sub h' h /\ emp_at l h'.