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