Goal:
  
  A : Type
  B : Type
  f : A → B
  a : A
  l : list A
  H : a :: l ≠ []
  e : map f (a :: l) = []
  ============================
   (a :: l = [])


DEBUG:Going to execute:
inversion H

Goals:

DEBUG:Going to execute:
do_ccl

Goals:

DEBUG:Going to execute:
try do_atom; repeat (do_intro; try do_atom); try arith_congr;
            (solve [ split; do_ccl ])

Goals:

DEBUG:Going to execute:
try do_atom; repeat (do_intro; try do_atom); try arith_congr;
            (solve [ split; do_ccl ])

Goals:

DEBUG:Going to execute:
try do_atom; repeat (do_intro; try do_atom); try arith_congr

Goals:

DEBUG:Going to execute:
try do_atom; repeat (do_intro; try do_atom)

Goals:

DEBUG:Going to execute:
try do_atom

Goals:

DEBUG:Going to execute:
repeat (do_intro; try do_atom)

Goals:

DEBUG:Going to execute:
try arith_congr

Goals:

DEBUG:Going to execute:
solve [ split; do_ccl ]