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


DEBUG:Going to execute:
inversion H; subst; clear H
Level 1: evaluation returns
inversion H; subst; clear H
where
H := H2
of type
constr of type tacvalue