Goal:
  
  A : Type
  B : Type
  P : A → B → Type
  X : ∀ (n : nat) (x1 : A) (x2 : B),
        n < 0 → nth_error [] n = Some x1 → nth_error [] n = Some x2 → P x1 x2
  ============================
   (All2 P [] [])


DEBUG:Going to execute:
<coq-core.plugins.ltac::econstructor@0>
Level 1: evaluation returns
inversion_clear H
where
H := H
of type
constr of type tacvalue