proposition: Lemma In_ll_Dec {A : Type} (x : A) l : (LazyList.In_ll x l) \/ (~ LazyList.In_ll x l ).
proof: Proof. induction l. - right. intros Hc; inv Hc. - assert (Hem := EM (x = a)). destruct Hem. + left; eauto. left; eauto. + destruct (H tt). * left. right. eassumption. * right. intros Hc. inv Hc; eauto. Qed.
imports: ExtLib.Structures(Functor Applicative) List QuickChick(Tactics) Coq(ssreflect) Coq.Logic.ClassicalFacts