Goal:
    A : Type  y : A  a : A  l2 : list A  H2 : [] = l2 ++ [y]
  ============================
   ([] = a :: l2 ∧ a = y)


DEBUG:Going to execute:
destruct l2

Goals:
    A : Type  y : A  a : A  H2 : [] = [] ++ [y]
  ============================
   ([] = [a] ∧ a = y)

    A : Type  y : A  a : A  a0 : A  l2 : list A  H2 : [] = (a0 :: l2) ++ [y]
  ============================
   ([] = a :: a0 :: l2 ∧ a = y)


DEBUG:Going to execute:
invs H2
DEBUG LTAC Evaluated term: l2

Goals:
    A : Type  y : A  a : A  H2 : [] = [] ++ [y]
  ============================
   ([] = [a] ∧ a = y)

    A : Type  y : A  a : A  a0 : A  l2 : list A  H2 : [] = (a0 :: l2) ++ [y]
  ============================
   ([] = a :: a0 :: l2 ∧ a = y)


DEBUG:Going to execute:
fun H => inversion H; subst; clear H