(* predicate a is closed under "edge" relation e *)
Definition closed {T: finType} (e: rel T) (a: pred T) :=
  forall x y : T, e x y -> a x -> a y.

Lemma removed_never_added (c: clause) (s1 s2 s3 s4: clauseset) (step1: trans s1 s2) (trace: deriv s2 s3) (step2: trans s3 s4) : removed c step1 -> ~~added c step2.