Goal:
  
  A : Type
  l : list A
  P : A → bool
  n : nat
  d : A
  H : is_true (forallb P l)
  HH : #|l| ≤ n
  ============================
   ({∃ x : A, nth n l d = x ∧ P x} + {nth n l d = d})


DEBUG:Going to execute:
<coq-core.plugins.ssreflect::ssrrewrite@0> $1 $2

Goals:
  
  A : Type
  l : list A
  P : A → bool
  n : nat
  d : A
  H : is_true (forallb P l)
  HH : #|l| ≤ n
  ============================
   (#|l| ≤ n)

  
  A : Type
  l : list A
  P : A → bool
  n : nat
  d : A
  H : is_true (forallb P l)
  HH : #|l| ≤ n
  ============================
   ({∃ x : A, d = x ∧ P x} + {d = d})


DEBUG:Going to execute:
try assumption
DEBUG LTAC Evaluated term: nth_overflow
DEBUG LTAC Evaluated term: nth_overflow