Goal:
  
  A : Type
  P : A → Prop
  a : A
  l : list A
  h : Forall P (a :: l)
  IHl : Forall P (List.rev l)
  H1 : P a
  H2 : Forall P l
  ============================
   (Forall P (List.rev l ++ [a]))


DEBUG:Going to execute:
eapply app_Forall
DEBUG LTAC Evaluated term: (IHl H2)

Goals:
  
  A : Type
  P : A → Prop
  a : A
  l : list A
  h : Forall P (a :: l)
  IHl : Forall P (List.rev l)
  H1 : P a
  H2 : Forall P l
  ============================
   (Forall P (List.rev l))

  
  A : Type
  P : A → Prop
  a : A
  l : list A
  h : Forall P (a :: l)
  IHl : Forall P (List.rev l)
  H1 : P a
  H2 : Forall P l
  ============================
   (Forall P [a])


DEBUG:Going to execute:
try assumption
DEBUG LTAC Evaluated term: app_Forall