Goal:
    n : Z  m : t
  ============================
   ((0 <= n)%Z -> m <= Some n + m)


DEBUG:Going to execute:
destruct m

Goals:
    n : Z  z : Z
  ============================
   ((0 <= n)%Z -> Some z <= Some n + Some z)

    n : Z
  ============================
   ((0 <= n)%Z -> None <= Some n + None)


DEBUG:Going to execute:
cbn
DEBUG LTAC Evaluated term: m

Goals:
    n : Z  z : Z
  ============================
   ((0 <= n)%Z -> (z <= n + z)%Z)

    n : Z
  ============================
   ((0 <= n)%Z -> True)


DEBUG:Going to execute:
lia

Goals:
    n : Z  z : Z
  ============================
   ((0 <= n)%Z -> (z <= n + z)%Z)

    n : Z
  ============================
   ((0 <= n)%Z -> True)


DEBUG:Going to execute:
Zify.zify; xlia zchecker

Goals:
    n : Z  z : Z
  ============================
   ((0 <= n)%Z -> (z <= n + z)%Z)

    n : Z
  ============================
   ((0 <= n)%Z -> True)


DEBUG:Going to execute:
Zify.zify

Goals:
    n : Z  z : Z
  ============================
   ((0 <= n)%Z -> (z <= n + z)%Z)

    n : Z
  ============================
   ((0 <= n)%Z -> True)


DEBUG:Going to execute:
intros; Zify.zify_pre_hook; zify_elim_let; zify_op;
            Zify.zify_iter_specs; Zify.zify_to_euclidean_division_equations;
            Zify.zify_post_hook; zify_saturate

Goals:
    n : Z  z : Z
  ============================
   ((0 <= n)%Z -> (z <= n + z)%Z)

    n : Z
  ============================
   ((0 <= n)%Z -> True)


DEBUG:Going to execute:
intros; Zify.zify_pre_hook; zify_elim_let; zify_op;
            Zify.zify_iter_specs; Zify.zify_to_euclidean_division_equations;
            Zify.zify_post_hook

Goals:
    n : Z  z : Z
  ============================
   ((0 <= n)%Z -> (z <= n + z)%Z)

    n : Z
  ============================
   ((0 <= n)%Z -> True)


DEBUG:Going to execute:
intros; Zify.zify_pre_hook; zify_elim_let; zify_op;
            Zify.zify_iter_specs; Zify.zify_to_euclidean_division_equations

Goals:
    n : Z  z : Z
  ============================
   ((0 <= n)%Z -> (z <= n + z)%Z)

    n : Z
  ============================
   ((0 <= n)%Z -> True)


DEBUG:Going to execute:
intros; Zify.zify_pre_hook; zify_elim_let; zify_op;
            Zify.zify_iter_specs

Goals:
    n : Z  z : Z
  ============================
   ((0 <= n)%Z -> (z <= n + z)%Z)

    n : Z
  ============================
   ((0 <= n)%Z -> True)


DEBUG:Going to execute:
intros; Zify.zify_pre_hook; zify_elim_let; zify_op

Goals:
    n : Z  z : Z
  ============================
   ((0 <= n)%Z -> (z <= n + z)%Z)

    n : Z
  ============================
   ((0 <= n)%Z -> True)


DEBUG:Going to execute:
intros; Zify.zify_pre_hook; zify_elim_let

Goals:
    n : Z  z : Z
  ============================
   ((0 <= n)%Z -> (z <= n + z)%Z)

    n : Z
  ============================
   ((0 <= n)%Z -> True)


DEBUG:Going to execute:
intros; Zify.zify_pre_hook

Goals:
    n : Z  z : Z
  ============================
   ((0 <= n)%Z -> (z <= n + z)%Z)

    n : Z
  ============================
   ((0 <= n)%Z -> True)


DEBUG:Going to execute:
intros

Goals:
    n : Z  z : Z  H : (0 <= n)%Z
  ============================
   (z <= n + z)%Z

    n : Z  H : (0 <= n)%Z
  ============================
   True


DEBUG:Going to execute:
Zify.zify_pre_hook

Goals:
    n : Z  z : Z  H : (0 <= n)%Z
  ============================
   (z <= n + z)%Z

    n : Z  H : (0 <= n)%Z
  ============================
   True


DEBUG:Going to execute:
idtac

Goals:
    n : Z  z : Z  H : (0 <= n)%Z
  ============================
   (z <= n + z)%Z

    n : Z  H : (0 <= n)%Z
  ============================
   True


DEBUG:Going to execute:
zify_elim_let

Goals:
    n : Z  z : Z  H : (0 <= n)%Z
  ============================
   (z <= n + z)%Z

    n : Z  H : (0 <= n)%Z
  ============================
   True


DEBUG:Going to execute:
<coq-core.plugins.zify::TRANS@3>

Goals:
    n : Z  z : Z  H : (0 <= n)%Z
  ============================
   (z <= n + z)%Z

    n : Z  H : (0 <= n)%Z
  ============================
   True


DEBUG:Going to execute:
zify_op

Goals:
    n : Z  z : Z  H : (0 <= n)%Z
  ============================
   (z <= n + z)%Z

    n : Z  H : (0 <= n)%Z
  ============================
   True


DEBUG:Going to execute:
<coq-core.plugins.zify::TRANS@0>

Goals:
    n : Z  z : Z  H : (0 <= n)%Z
  ============================
   (z <= n + z)%Z

    n : Z  H : (0 <= n)%Z
  ============================
   True


DEBUG:Going to execute:
Zify.zify_iter_specs

Goals:
    n : Z  z : Z  H : (0 <= n)%Z
  ============================
   (z <= n + z)%Z

    n : Z  H : (0 <= n)%Z
  ============================
   True


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

Goals:
    n : Z  z : Z  H : (0 <= n)%Z
  ============================
   (z <= n + z)%Z

    n : Z  H : (0 <= n)%Z
  ============================
   True


DEBUG:Going to execute:
Zify.zify_to_euclidean_division_equations

Goals:
    n : Z  z : Z  H : (0 <= n)%Z
  ============================
   (z <= n + z)%Z

    n : Z  H : (0 <= n)%Z
  ============================
   True


DEBUG:Going to execute:
lazymatch Zify.zify_convert_to_euclidean_division_equations_flag
           with
           | true =>
               Zify.zify_internal_to_euclidean_division_equations
           | false => idtac
           end

Goals:
    n : Z  z : Z  H : (0 <= n)%Z
  ============================
   (z <= n + z)%Z

    n : Z  H : (0 <= n)%Z
  ============================
   True


DEBUG:Going to execute:
Zify.zify_convert_to_euclidean_division_equations_flag

Goals:
    n : Z  z : Z  H : (0 <= n)%Z
  ============================
   (z <= n + z)%Z

    n : Z  H : (0 <= n)%Z
  ============================
   True


DEBUG:Going to execute:
constr:(false)