Goal:
  
  max : nat
  P : nat -> Prop
  hmax : forall n : nat, n >= max -> P n
  hS : forall n : nat, n < max -> P (S n) -> P n
  n : nat
  IHn : P (max - n)
  l : (Z.of_nat max <= Z.of_nat n)%Z
  cstr : (0 <= Z.of_nat n)%Z
  cstr0 : (0 <= Z.of_nat max)%Z
  z1 : Z
  H1 : (0 < Z.of_nat max - Z.of_nat n)%Z /\
       z1 = (Z.of_nat max - Z.of_nat n)%Z \/
       (Z.of_nat max - Z.of_nat n <= 0)%Z /\ z1 = 0%Z
  ============================
   (0%Z = z1)


DEBUG:Going to execute:
constr:(false)