Goal:
  
  A : Type
  B : Type
  a0 : A
  l : list A
  a : B
  l' : list B
  default : A
  IHl' : ∀ l : list A,
           #|l| = #|l'| → mapi (λ (i : nat) (_ : B), nth i l default) l' = l
  Hl : #|l| = #|l'|
  ============================
   (a0
    :: mapi_rec
         (λ (i : nat) (_ : B),
            match i with
            | 0 => a0
            | S m => nth m l default
            end) l' 1 = a0 :: l)


DEBUG:Going to execute:
f_equal
Level 0: Backtrace:

No matching clauses for match.
Level 0: Backtrace:

No applicable tactic.
Level 0: Backtrace:

No applicable tactic.
Level 0: Backtrace:

No applicable tactic.
Level 0: Backtrace:

No applicable tactic.
Level 0: Backtrace:

No applicable tactic.
Level 0: Backtrace:

No applicable tactic.
Level 0: Backtrace:

No applicable tactic.
Level 1: Backtrace:

No applicable tactic.
Level 0: Backtrace:

No applicable tactic.