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

(* Specifications: *)
Lemma U1_axiomSchema: forall x z Sigma s, space_denote (Next x z::Sigma) s -> pure_atom_denote (Eqv x z) s \/ space_denote (Lseg x z::Sigma) s.
Lemma U1_sound: forall nc pc c s, clause_denote nc s -> clause_denote pc s -> Rule_U1 nc pc = Some c -> clause_denote c s.
Lemma U1_sound': forall nc pc c s, clause_denote pc s -> Rule_U1 nc pc = Some c -> clause_denote c s.
Lemma unfolding1'_sound: forall sigma2 sigma0 sigma1 p sig2' s, In (p,sig2') (unfolding1' sigma0 sigma1 sigma2) -> space_denote sig2' s -> (pure_atom_denote p s \/ space_denote (sigma0++sigma2) s).
Lemma unfolding1_sound: forall sc1 sc2, forall s, clause_denote sc2 s -> listd clause_denote inter TT (unfolding1 sc1 sc2) s.