Goal:
  
  A : Type
  x : A
  y : A
  IHl1 : ∀ l2 : list A, [] ++ [x] = l2 ++ [y] → [] = l2 ∧ x = y
  H2 : [] ++ [x] = []
  ============================
   ([y] = [] ++ [x] ∧ x = y)


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