# Library Coq.ZArith.Zhints

This file centralizes the lemmas about Z, classifying them according to the way they can be used in automatic search
Lemmas which clearly leads to simplification during proof search are declared as Hints. A definite status (Hint or not) for the other lemmas remains to be given
Structure of the file

- simplification lemmas (only those are declared as Hints)

- reversible lemmas relating operators

- useful Bottom-up lemmas

- irreversible lemmas with meta-variables

- unclear or too specific lemmas

- lemmas to be used as rewrite rules

Lemmas involving positive and compare are not taken into account
Require Import BinInt.
Require Import Zorder.
Require Import Zmin.
Require Import Zabs.
Require Import Zcompare.
Require Import Znat.
Require Import auxiliary.
Require Import Zmisc.
Require Import Wf_Z.

# Simplification lemmas

No subgoal or smaller subgoals
Hint Resolve

## Reversible simplification lemmas (no loss of information)

Should clearly be declared as hints
Lemmas ending by eq
Zsucc_eq_compat
Lemmas ending by Z.gt
Zsucc_gt_compat
Zgt_succ
Zorder.Zgt_pos_0
Zplus_gt_compat_l
Zplus_gt_compat_r
Lemmas ending by Z.lt
Pos2Z.is_pos
Z.lt_succ_diag_r
Zsucc_lt_compat
Z.lt_pred_l
Zplus_lt_compat_l
Zplus_lt_compat_r
Lemmas ending by Z.le
Nat2Z.is_nonneg
Pos2Z.is_nonneg
Z.le_refl
Z.le_succ_diag_r
Zsucc_le_compat
Z.le_pred_l
Z.le_min_l
Z.le_min_r
Zplus_le_compat_l
Zplus_le_compat_r
Z.abs_nonneg

## Irreversible simplification lemmas

Probably to be declared as hints, when no other simplification is possible
Lemmas ending by eq
Z_eq_mult
Zplus_eq_compat
Lemmas ending by Z.ge
Zorder.Zmult_ge_compat_r
Zorder.Zmult_ge_compat_l
Zorder.Zmult_ge_compat
Lemmas ending by Z.lt
Zorder.Zmult_gt_0_compat
Z.lt_lt_succ_r
Lemmas ending by Z.le
Z.mul_nonneg_nonneg
Zorder.Zmult_le_compat_r
Zorder.Zmult_le_compat_l
Z.add_nonneg_nonneg
Z.le_le_succ_r
Z.add_le_mono
: zarith.