]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/procedural/Coq/Arith/Plus.mma
Preparing for 0.5.9 release.
[helm.git] / helm / software / matita / contribs / procedural / Coq / Arith / Plus.mma
1 (**************************************************************************)
2 (*       ___                                                              *)
3 (*      ||M||                                                             *)
4 (*      ||A||       A project by Andrea Asperti                           *)
5 (*      ||T||                                                             *)
6 (*      ||I||       Developers:                                           *)
7 (*      ||T||         The HELM team.                                      *)
8 (*      ||A||         http://helm.cs.unibo.it                             *)
9 (*      \   /                                                             *)
10 (*       \ /        This file is distributed under the terms of the       *)
11 (*        v         GNU General Public License Version 2                  *)
12 (*                                                                        *)
13 (**************************************************************************)
14
15 (* This file was automatically generated: do not edit *********************)
16
17 include "Coq.ma".
18
19 (*#***********************************************************************)
20
21 (*  v      *   The Coq Proof Assistant  /  The Coq Development Team     *)
22
23 (* <O___,, * CNRS-Ecole Polytechnique-INRIA Futurs-Universite Paris Sud *)
24
25 (*   \VV/  **************************************************************)
26
27 (*    //   *      This file is distributed under the terms of the       *)
28
29 (*         *       GNU Lesser General Public License Version 2.1        *)
30
31 (*#***********************************************************************)
32
33 (*i $Id: Plus.v,v 1.18.2.1 2004/07/16 19:31:00 herbelin Exp $ i*)
34
35 (*#* Properties of addition *)
36
37 include "Arith/Le.ma".
38
39 include "Arith/Lt.ma".
40
41 (* UNEXPORTED
42 Open Local Scope nat_scope.
43 *)
44
45 (* UNEXPORTED
46 Implicit Types m n p q : nat.
47 *)
48
49 (*#* Zero is neutral *)
50
51 inline procedural "cic:/Coq/Arith/Plus/plus_0_l.con" as lemma.
52
53 inline procedural "cic:/Coq/Arith/Plus/plus_0_r.con" as lemma.
54
55 (*#* Commutativity *)
56
57 inline procedural "cic:/Coq/Arith/Plus/plus_comm.con" as lemma.
58
59 (* UNEXPORTED
60 Hint Immediate plus_comm: arith v62.
61 *)
62
63 (*#* Associativity *)
64
65 inline procedural "cic:/Coq/Arith/Plus/plus_Snm_nSm.con" as lemma.
66
67 inline procedural "cic:/Coq/Arith/Plus/plus_assoc.con" as lemma.
68
69 (* UNEXPORTED
70 Hint Resolve plus_assoc: arith v62.
71 *)
72
73 inline procedural "cic:/Coq/Arith/Plus/plus_permute.con" as lemma.
74
75 inline procedural "cic:/Coq/Arith/Plus/plus_assoc_reverse.con" as lemma.
76
77 (* UNEXPORTED
78 Hint Resolve plus_assoc_reverse: arith v62.
79 *)
80
81 (*#* Simplification *)
82
83 inline procedural "cic:/Coq/Arith/Plus/plus_reg_l.con" as lemma.
84
85 inline procedural "cic:/Coq/Arith/Plus/plus_le_reg_l.con" as lemma.
86
87 inline procedural "cic:/Coq/Arith/Plus/plus_lt_reg_l.con" as lemma.
88
89 (*#* Compatibility with order *)
90
91 inline procedural "cic:/Coq/Arith/Plus/plus_le_compat_l.con" as lemma.
92
93 (* UNEXPORTED
94 Hint Resolve plus_le_compat_l: arith v62.
95 *)
96
97 inline procedural "cic:/Coq/Arith/Plus/plus_le_compat_r.con" as lemma.
98
99 (* UNEXPORTED
100 Hint Resolve plus_le_compat_r: arith v62.
101 *)
102
103 inline procedural "cic:/Coq/Arith/Plus/le_plus_l.con" as lemma.
104
105 (* UNEXPORTED
106 Hint Resolve le_plus_l: arith v62.
107 *)
108
109 inline procedural "cic:/Coq/Arith/Plus/le_plus_r.con" as lemma.
110
111 (* UNEXPORTED
112 Hint Resolve le_plus_r: arith v62.
113 *)
114
115 inline procedural "cic:/Coq/Arith/Plus/le_plus_trans.con" as theorem.
116
117 (* UNEXPORTED
118 Hint Resolve le_plus_trans: arith v62.
119 *)
120
121 inline procedural "cic:/Coq/Arith/Plus/lt_plus_trans.con" as theorem.
122
123 (* UNEXPORTED
124 Hint Immediate lt_plus_trans: arith v62.
125 *)
126
127 inline procedural "cic:/Coq/Arith/Plus/plus_lt_compat_l.con" as lemma.
128
129 (* UNEXPORTED
130 Hint Resolve plus_lt_compat_l: arith v62.
131 *)
132
133 inline procedural "cic:/Coq/Arith/Plus/plus_lt_compat_r.con" as lemma.
134
135 (* UNEXPORTED
136 Hint Resolve plus_lt_compat_r: arith v62.
137 *)
138
139 inline procedural "cic:/Coq/Arith/Plus/plus_le_compat.con" as lemma.
140
141 inline procedural "cic:/Coq/Arith/Plus/plus_le_lt_compat.con" as lemma.
142
143 inline procedural "cic:/Coq/Arith/Plus/plus_lt_le_compat.con" as lemma.
144
145 inline procedural "cic:/Coq/Arith/Plus/plus_lt_compat.con" as lemma.
146
147 (*#* Inversion lemmas *)
148
149 inline procedural "cic:/Coq/Arith/Plus/plus_is_O.con" as lemma.
150
151 inline procedural "cic:/Coq/Arith/Plus/plus_is_one.con" as definition.
152
153 (*#* Derived properties *)
154
155 inline procedural "cic:/Coq/Arith/Plus/plus_permute_2_in_4.con" as lemma.
156
157 (*#* Tail-recursive plus *)
158
159 (*#* [tail_plus] is an alternative definition for [plus] which is 
160     tail-recursive, whereas [plus] is not. This can be useful
161     when extracting programs. *)
162
163 inline procedural "cic:/Coq/Arith/Plus/plus_acc.con" as definition.
164
165 inline procedural "cic:/Coq/Arith/Plus/tail_plus.con" as definition.
166
167 inline procedural "cic:/Coq/Arith/Plus/plus_tail_plus.con" as lemma.
168