Goal:
  
  A : Type
  B : Type
  C : Type
  D : Type
  R : nat → C → D → Type
  f : nat → A → C
  g : nat → B → D
  n : nat
  x : A
  y : B
  l : list A
  r : list B
  r0 : R n (f n x) (g n y)
  h : All2i (λ (i : nat) (x : A) (y : B), R i (f i x) (g i y)) (S n) l r
  IHh : All2i R (S n) (mapi_rec f l (S n)) (mapi_rec g r (S n))
  ============================
   (All2i R n (f n x :: mapi_rec f l (S n)) (g n y :: mapi_rec g r (S n)))


DEBUG:Going to execute:
<coq-core.plugins.ltac::constructor@0>

Goals:
  
  A : Type
  B : Type
  C : Type
  D : Type
  R : nat → C → D → Type
  f : nat → A → C
  g : nat → B → D
  n : nat
  x : A
  y : B
  l : list A
  r : list B
  r0 : R n (f n x) (g n y)
  h : All2i (λ (i : nat) (x : A) (y : B), R i (f i x) (g i y)) (S n) l r
  IHh : All2i R (S n) (mapi_rec f l (S n)) (mapi_rec g r (S n))
  ============================
   (R n (f n x) (g n y))

  
  A : Type
  B : Type
  C : Type
  D : Type
  R : nat → C → D → Type
  f : nat → A → C
  g : nat → B → D
  n : nat
  x : A
  y : B
  l : list A
  r : list B
  r0 : R n (f n x) (g n y)
  h : All2i (λ (i : nat) (x : A) (y : B), R i (f i x) (g i y)) (S n) l r
  IHh : All2i R (S n) (mapi_rec f l (S n)) (mapi_rec g r (S n))
  ============================
   (All2i R (S n) (mapi_rec f l (S n)) (mapi_rec g r (S n)))


DEBUG:Going to execute:
assumption

Goals:
  
  A : Type
  B : Type
  C : Type
  D : Type
  R : nat → C → D → Type
  f : nat → A → C
  g : nat → B → D
  n : nat
  x : A
  y : B
  l : list A
  r : list B
  r0 : R n (f n x) (g n y)
  h : All2i (λ (i : nat) (x : A) (y : B), R i (f i x) (g i y)) (S n) l r
  IHh : All2i R (S n) (mapi_rec f l (S n)) (mapi_rec g r (S n))
  ============================
   (R n (f n x) (g n y))

  
  A : Type
  B : Type
  C : Type
  D : Type
  R : nat → C → D → Type
  f : nat → A → C
  g : nat → B → D
  n : nat
  x : A
  y : B
  l : list A
  r : list B
  r0 : R n (f n x) (g n y)
  h : All2i (λ (i : nat) (x : A) (y : B), R i (f i x) (g i y)) (S n) l r
  IHh : All2i R (S n) (mapi_rec f l (S n)) (mapi_rec g r (S n))
  ============================
   (All2i R (S n) (mapi_rec f l (S n)) (mapi_rec g r (S n)))


DEBUG:Going to execute:
fun => <coq-core.plugins.ltac::assumption@0>