Goal:
  
  A : Type
  B : Type
  R : nat → A → B → Type
  n : nat
  x : A
  y : B
  l : list A
  r : list B
  r0 : R n x y
  X : All2i R (S n) l r
  IHX : All2i_len (λ m : nat, R (S (n + m))) (List.rev l) (List.rev r)
  n0 : nat
  x0 : A
  y0 : B
  X0 : R (n + S n0) x0 y0
  ============================
   (R (n + (n0 + 1)) x0 y0)


DEBUG:Going to execute:
rewrite Nat.add_1_r
DEBUG LTAC Evaluated term: Nat.add_succ_comm
DEBUG LTAC Evaluated term: (S ?n)
DEBUG LTAC Evaluated term: Nat.add_succ_comm