Instance list_forall_dec X A (p : X -> Prop) :
  (forall x, dec (p x)) -> dec (forall x, x el A -> p x).Instance list_exists_dec X A (p : X -> Prop) :
  (forall x, dec (p x)) -> dec (exists x, x el A /\ p x).

(* Specifications: *)
Lemma list_exists_DM X A (p : X -> Prop) : (forall x, dec (p x)) -> ~ (forall x, x el A -> ~ p x) -> exists x, x el A /\ p x.
Lemma list_cc X (p : X -> Prop) A : (forall x, dec (p x)) -> (exists x, x el A /\ p x) -> {x | x el A /\ p x}.
Lemma in_cons_neq x y A : x el y::A -> x <> y -> x el A.
Lemma not_in_cons x y A : ~ x el y :: A -> x <> y /\ ~ x el A.
Lemma list_exists_DM X A (p : X -> Prop) : (forall x, dec (p x)) -> ~ (forall x, x el A -> ~ p x) -> exists x, x el A /\ p x.
Lemma list_cc X (p : X -> Prop) A : (forall x, dec (p x)) -> (exists x, x el A /\ p x) -> {x | x el A /\ p x}.
Lemma in_cons_neq x y A : x el y::A -> x <> y -> x el A.
Lemma not_in_cons x y A : ~ x el y :: A -> x <> y /\ ~ x el A.