Definition added (c: clause) {s s'': clauseset} (step: trans s s'') :=
(c \notin s) && (c \in s'').

(* main lemma 2 as we proved it on paper: if a clause is added to set s, then later removed to produce set s', s != s'.  unfortunately, this lemma is not strong enough to prove our main theorem. redund_sub below proves the required (stronger) property. *)
Lemma added_removed_neq
(c: clause) (s1 s2 s3 s4: clauseset)
(step1: trans s1 s2) (trace: deriv s2 s3) (step2: trans s3 s4) :
added c step1 -> removed c step2 -> s1 != s4.