proposition: Lemma suffix_smaller : forall l (x : A) l', l <> x::l' -> suffix l (x::l') -> suffix l l'.
proof: Proof. unfold suffix. intros. assert (rev l<>rev (x::l')). intro. assert (rev (rev l)=rev(rev (x::l'))). rewrite H1. trivial. pose (rev_involutive l). pose (rev_involutive (x::l')). rewrite e, e0 in H2. tauto. apply prefix_smaller with x; hyp. Qed.
imports: Coq(PeanoNat) CoLoR(ListUtil ListNodup LogicUtil RelMidex)