Goal:
  
  T : Type
  Listable_T : Listable T
  FinitelyListable_T : FinitelyListable T
  v : T
  xs : list T
  Hfold2 : is_true
             (forallb (fun '(n, t) => n == find_index t)
                (combine (seq (S (find_index v)) (length xs)) xs))
  Hnth : Some v = Some v
  IHxs : match xs with
         | [] => None
         | x :: _ => Some x
         end = Some v ->
         BinInt.Z.of_nat (find_index v) =
         BinInt.Z.add
           (BinInt.Z.add (BinInt.Z.of_nat (find_index v)) BinNums.Z0)
           (BinNums.Zpos BinNums.xH)
  cstr : BinInt.Z.le BinNums.Z0 (BinInt.Z.of_nat (find_index v))
  ============================
   (BinInt.Z.of_nat (find_index v) =
    BinInt.Z.add (BinInt.Z.of_nat (find_index v)) BinNums.Z0)


DEBUG:Going to execute:
Zify.zify_to_euclidean_division_equations