Section lems.
Variable trm : Set.
Variable tdiv : trm -> trm -> Prop.
Definition Bad (M : list trm) := GoodR trm tdiv M -> False.
intros F; elim F; simpl in |- *; auto.
intros f H' H'0; inversion H'0; auto.
intros a l H' f H'0 H'1; inversion H'1; auto.
lapply (H'0 a); [ intro H'3; apply H'3 | idtac ]; auto.
apply H' with (f := f); auto.
Qed.

Lemma tdivGoodP :
forall (F : list trm) (f : trm),
Bad F -> (forall g : trm, In g F -> ~ tdiv g f) -> Bad (f :: F).