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'.