Definition Bad (M : list trm) := GoodR trm tdiv M -> False.

(* Specifications: *)
Lemma tdivExists_trmHd_lem : forall (F : list trm) (f : trm), (forall g : trm, In g F -> ~ tdiv g f) -> ExistsL trm (fun g : trm => tdiv g f) F -> False.
Lemma tdivGoodP : forall (F : list trm) (f : trm), Bad F -> (forall g : trm, In g F -> ~ tdiv g f) -> Bad (f :: F).