Goal:
    P : E.t -> Prop  P_Proper : Proper (E.eq ==> impl) P  s : t
  ============================
   (List.Exists P nil <-> (exists x : elt, InA E.eq x nil /\ P x))


DEBUG:Going to execute:
fun => <coq-core.plugins.ltac::split@0>

Goals:
    P : E.t -> Prop  P_Proper : Proper (E.eq ==> impl) P  s : t
  ============================
   (List.Exists P nil -> exists x : elt, InA E.eq x nil /\ P x)

    P : E.t -> Prop  P_Proper : Proper (E.eq ==> impl) P  s : t
  ============================
   ((exists x : elt, InA E.eq x nil /\ P x) -> List.Exists P nil)


DEBUG:Going to execute:
try (solve
            [ constructor | inversion 1 | intros [x [H H']]; inversion H ])