Goal:
    A : Type  p : A → bool  l : list A
  ============================
   (forallb p (List.rev l) = forallb p l)


DEBUG:Going to execute:
induction l using rev_ind

Goals:
    A : Type  p : A → bool
  ============================
   (forallb p (List.rev []) = forallb p [])

  
  A : Type
  p : A → bool
  x : A
  l : list A
  IHl : forallb p (List.rev l) = forallb p l
  ============================
   (forallb p (List.rev (l ++ [x])) = forallb p (l ++ [x]))


DEBUG:Going to execute:
simpl
DEBUG LTAC Evaluated term: rev_ind
DEBUG LTAC Evaluated term: l

Goals:
    A : Type  p : A → bool
  ============================
   (true = true)

  
  A : Type
  p : A → bool
  x : A
  l : list A
  IHl : forallb p (List.rev l) = forallb p l
  ============================
   (forallb p (List.rev (l ++ [x])) = forallb p (l ++ [x]))


DEBUG:Going to execute:
try congruence