(** Main theorem *)

(* Specifications: *)
Theorem PreWeakKonigsLemma : forall P,
demorgan_inductively_barred_at P -> infinite_from P [] -> has_infinite_path P.
Lemma inductively_barred_at_decidable :
forall P, (forall l, P l \/ ~ P l) -> forall n l, inductively_barred_at P n l \/ ~ inductively_barred_at P n l.
Lemma inductively_barred_at_is_path_from_decidable :
forall P, (forall l, P l \/ ~ P l) -> demorgan_inductively_barred_at P.