Goal:
    z : Z  z0 : Z  H : (z <= z0)%Z
  ============================
   ((z0 <= z)%Z -> Some z = Some z0)


DEBUG:Going to execute:
fun H =>
             match type of H with
             | _ /\ _ => exact H || destruct_hyp H
             | (_ * _)%nat => exact H || destruct_hyp H
             | _ => try (solve [ inversion H ])
             end