Goal:
  
  A : Type
  a : A
  x : A
  l : list A
  IHl : 0 < S #|l| → Some a = nth_error (List.rev l ++ [a]) (#|l| - 0)
  ============================
   (0 < S (#|l| + 1)
    → Some a = nth_error (x :: List.rev l ++ [a]) (#|l| + 1 - 0))


DEBUG:Going to execute:
<coq-core.plugins.ltac::replace@0> $1 $2 $3 $4
DEBUG LTAC Evaluated term: length_app
DEBUG LTAC Evaluated term: length_app
DEBUG LTAC Evaluated term: (S #|l|)