]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/matita/contribs/procedural/Coq/ZArith/Zorder.mma
transcript: we improved the parser/lexer to read the scripts of the standard
[helm.git] / helm / software / matita / contribs / procedural / Coq / ZArith / Zorder.mma
diff --git a/helm/software/matita/contribs/procedural/Coq/ZArith/Zorder.mma b/helm/software/matita/contribs/procedural/Coq/ZArith/Zorder.mma
new file mode 100644 (file)
index 0000000..1d27464
--- /dev/null
@@ -0,0 +1,406 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+(* This file was automatically generated: do not edit *********************)
+
+include "Coq.ma".
+
+(*#**********************************************************************)
+
+(*  v      *   The Coq Proof Assistant  /  The Coq Development Team    *)
+
+(* <O___,, *        INRIA-Rocquencourt  &  LRI-CNRS-Orsay              *)
+
+(*   \VV/  *************************************************************)
+
+(*    //   *      This file is distributed under the terms of the      *)
+
+(*         *       GNU Lesser General Public License Version 2.1       *)
+
+(*#**********************************************************************)
+
+(*i $Id: Zorder.v,v 1.6 2003/11/29 17:28:45 herbelin Exp $ i*)
+
+(*#* Binary Integers (Pierre Crégut (CNET, Lannion, France) *)
+
+include "NArith/BinPos.ma".
+
+include "ZArith/BinInt.ma".
+
+include "Arith/Arith.ma".
+
+include "Logic/Decidable.ma".
+
+include "ZArith/Zcompare.ma".
+
+(* UNEXPORTED
+Open Local Scope Z_scope.
+*)
+
+(* UNEXPORTED
+Implicit Types x y z : Z.
+*)
+
+(*#*********************************************************************)
+
+(*#* Properties of the order relations on binary integers *)
+
+(*#* Trichotomy *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Ztrichotomy_inf.con" as theorem.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Ztrichotomy.con" as theorem.
+
+(*#*********************************************************************)
+
+(*#* Decidability of equality and order on Z *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/dec_eq.con" as theorem.
+
+inline procedural "cic:/Coq/ZArith/Zorder/dec_Zne.con" as theorem.
+
+inline procedural "cic:/Coq/ZArith/Zorder/dec_Zle.con" as theorem.
+
+inline procedural "cic:/Coq/ZArith/Zorder/dec_Zgt.con" as theorem.
+
+inline procedural "cic:/Coq/ZArith/Zorder/dec_Zge.con" as theorem.
+
+inline procedural "cic:/Coq/ZArith/Zorder/dec_Zlt.con" as theorem.
+
+inline procedural "cic:/Coq/ZArith/Zorder/not_Zeq.con" as theorem.
+
+(*#* Relating strict and large orders *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_lt.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_gt.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zge_le.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_ge.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_not_gt.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_not_le.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_not_lt.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_not_le.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Znot_ge_lt.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Znot_lt_ge.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Znot_gt_le.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Znot_le_gt.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zge_iff_le.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_iff_lt.con" as lemma.
+
+(*#* Reflexivity *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_refl.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zeq_le.con" as lemma.
+
+(* UNEXPORTED
+Hint Resolve Zle_refl: zarith.
+*)
+
+(*#* Antisymmetry *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_antisym.con" as lemma.
+
+(*#* Asymmetry *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_asym.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_asym.con" as lemma.
+
+(*#* Irreflexivity *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_irrefl.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_irrefl.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_not_eq.con" as lemma.
+
+(*#* Large = strict or equal *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_le_weak.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_lt_or_eq.con" as lemma.
+
+(*#* Dichotomy *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_or_lt.con" as lemma.
+
+(*#* Transitivity of strict orders *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_trans.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_trans.con" as lemma.
+
+(*#* Mixed transitivity *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_gt_trans.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_le_trans.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_le_trans.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_lt_trans.con" as lemma.
+
+(*#* Transitivity of large orders *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_trans.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zge_trans.con" as lemma.
+
+(* UNEXPORTED
+Hint Resolve Zle_trans: zarith.
+*)
+
+(*#* Compatibility of successor wrt to order *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zsucc_le_compat.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zsucc_gt_compat.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zsucc_lt_compat.con" as lemma.
+
+(* UNEXPORTED
+Hint Resolve Zsucc_le_compat: zarith.
+*)
+
+(*#* Simplification of successor wrt to order *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zsucc_gt_reg.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zsucc_le_reg.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zsucc_lt_reg.con" as lemma.
+
+(*#* Compatibility of addition wrt to order *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_gt_compat_l.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_gt_compat_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_le_compat_l.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_le_compat_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_lt_compat_l.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_lt_compat_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_lt_le_compat.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_le_lt_compat.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_le_compat.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_lt_compat.con" as lemma.
+
+(*#* Compatibility of addition wrt to being positive *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_le_0_compat.con" as lemma.
+
+(*#* Simplification of addition wrt to order *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_gt_reg_l.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_gt_reg_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_le_reg_l.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_le_reg_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_lt_reg_l.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zplus_lt_reg_r.con" as lemma.
+
+(*#* Special base instances of order *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_succ.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Znot_le_succ.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_succ.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_pred.con" as lemma.
+
+(*#* Relating strict and large order using successor or predecessor *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_le_succ.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_gt_succ.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_lt_succ.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_le_succ.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_succ_le.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_succ_le.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_succ_gt.con" as lemma.
+
+(*#* Weakening order *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_succ.con" as lemma.
+
+(* UNEXPORTED
+Hint Resolve Zle_succ: zarith.
+*)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_pred.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_lt_succ.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_le_succ.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_succ_le.con" as lemma.
+
+(* UNEXPORTED
+Hint Resolve Zle_le_succ: zarith.
+*)
+
+(*#* Relating order wrt successor and order wrt predecessor *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_succ_pred.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_succ_pred.con" as lemma.
+
+(*#* Relating strict order and large order on positive *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_0_le_0_pred.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_0_le_0_pred.con" as lemma.
+
+(*#* Special cases of ordered integers *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_0_1.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_0_1.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_neg_pos.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_pos_0.con" as lemma.
+
+(* weaker but useful (in [Zpower] for instance) *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_0_pos.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_neg_0.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_0_nat.con" as lemma.
+
+(* UNEXPORTED
+Hint Immediate Zeq_le: zarith.
+*)
+
+(*#* Transitivity using successor *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zge_trans_succ.con" as lemma.
+
+(*#* Derived lemma *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_succ_gt_or_eq.con" as lemma.
+
+(*#* Compatibility of multiplication by a positive wrt to order *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_le_compat_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_le_compat_l.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_lt_compat_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_gt_compat_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_gt_0_lt_compat_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_gt_0_le_compat_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_lt_0_le_compat_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_gt_0_lt_compat_l.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_lt_compat_l.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_gt_compat_l.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_ge_compat_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_ge_compat_l.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_ge_compat.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_le_compat.con" as lemma.
+
+(*#* Simplification of multiplication by a positive wrt to being positive *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_gt_0_lt_reg_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_lt_reg_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_le_reg_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_lt_0_le_reg_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_ge_reg_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_gt_reg_r.con" as lemma.
+
+(*#* Compatibility of multiplication by a positive wrt to being positive *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_le_0_compat.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_gt_0_compat.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_lt_O_compat.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_gt_0_le_0_compat.con" as lemma.
+
+(*#* Simplification of multiplication by a positive wrt to being positive *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_le_0_reg_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_gt_0_lt_0_reg_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_lt_0_reg_r.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zmult_gt_0_reg_l.con" as lemma.
+
+(*#* Simplification of square wrt order *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zgt_square_simpl.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_square_simpl.con" as lemma.
+
+(*#* Equivalence between inequalities *)
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zle_plus_swap.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_plus_swap.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zeq_plus_swap.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_minus_simpl_swap.con" as lemma.
+
+inline procedural "cic:/Coq/ZArith/Zorder/Zlt_O_minus_lt.con" as lemma.
+