Goal:
    P : E.t -> Prop  P_Proper : Proper (E.eq ==> impl) P  s : t
  ============================
   (Forall P nil <-> (forall 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
  ============================
   (Forall P nil -> forall x : elt, InA E.eq x nil -> P x)

    P : E.t -> Prop  P_Proper : Proper (E.eq ==> impl) P  s : t
  ============================
   ((forall x : elt, InA E.eq x nil -> P x) -> Forall P nil)


DEBUG:Going to execute:
solve [ constructor | inversion 2 ]