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 Perm_aux: forall {A} (a a':A) l l',
Permutation (a::l) (a'::l') ->
(a=a' /\ Permutation l l') \/
exists l1, exists l2, l = l1 ++ a'::l2 /\ Permutation (a::l1++l2) l'.