]> matita.cs.unibo.it Git - helm.git/blob - matita/contribs/CoRN-Decl/reals/CauchySeq.ma
tagged 0.5.0-rc1
[helm.git] / matita / contribs / CoRN-Decl / reals / CauchySeq.ma
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 set "baseuri" "cic:/matita/CoRN-Decl/reals/CauchySeq".
18
19 include "CoRN.ma".
20
21 (* $Id: CauchySeq.v,v 1.8 2004/04/23 10:01:04 lcf Exp $ *)
22
23 (*#* printing IR %\ensuremath{\mathbb R}% *)
24
25 (*#* printing PartIR %\ensuremath{\mathbb R\!\not\rightarrow\!\mathbb R}% *)
26
27 (*#* printing ZeroR %\ensuremath{\mathbf0}% #0# *)
28
29 (*#* printing OneR %\ensuremath{\mathbf1}% #1# *)
30
31 (*#* printing AbsIR %\ensuremath{|\cdot|_{\mathbb R}}% *)
32
33 include "reals/CReals.ma".
34
35 (*#* *Real Number Structures
36 %\begin{convention}% Let [IR] be a structure for real numbers.
37 %\end{convention}%
38 *)
39
40 (*
41 Require Export R_CReals.
42 Definition IR : CReals := Concrete_R.
43 Opaque IR.
44 *)
45
46 alias id "IR" = "cic:/CoRN/reals/CauchySeq/IR.var".
47
48 (* NOTATION
49 Notation PartIR := (PartFunct IR).
50 *)
51
52 (* NOTATION
53 Notation ProjIR1 := (prj1 IR _ _ _).
54 *)
55
56 (* NOTATION
57 Notation ProjIR2 := (prj2 IR _ _ _).
58 *)
59
60 include "tactics/Transparent_algebra.ma".
61
62 (* begin hide *)
63
64 (* NOTATION
65 Notation ZeroR := (Zero:IR).
66 *)
67
68 (* NOTATION
69 Notation OneR := (One:IR).
70 *)
71
72 (* end hide *)
73
74 (* UNEXPORTED
75 Section CReals_axioms
76 *)
77
78 (*#* ** [CReals] axioms *)
79
80 inline "cic:/CoRN/reals/CauchySeq/CReals_is_CReals.con".
81
82 (*#* First properties which follow trivially from the axioms.  *)
83
84 inline "cic:/CoRN/reals/CauchySeq/Lim_Cauchy.con".
85
86 inline "cic:/CoRN/reals/CauchySeq/Archimedes.con".
87
88 inline "cic:/CoRN/reals/CauchySeq/Archimedes'.con".
89
90 (*#* A stronger version, which often comes in useful.  *)
91
92 inline "cic:/CoRN/reals/CauchySeq/str_Archimedes.con".
93
94 inline "cic:/CoRN/reals/CauchySeq/CauchySeqR.con".
95
96 (* UNEXPORTED
97 End CReals_axioms
98 *)
99
100 (* UNEXPORTED
101 Section Cauchy_Defs
102 *)
103
104 (*#* ** Cauchy sequences
105 *** Alternative definitions
106 This section gives several definitions of Cauchy sequences. There
107 are no lemmas in this section.
108
109 The current definition of Cauchy ([Cauchy_prop]) is:
110
111 %\[\forall \epsilon>0. \exists N. \forall m\geq N. |seq_m - seq_N|\leq\varepsilon\]%
112 #for all e>0 there exists N such that for all m≥ N |seqm-seqN|≤ e#
113
114 Variant 1 of Cauchy ([Cauchy_prop1]) is:
115
116 %\[\forall k. \exists N. \forall m \geq N. |seq_m - seq_N|\leq1/(k+1)\]%
117 #for all k there exists N such that for all m ≥ N |seqm-seqN| ≤ 1/(k+1)#
118
119 In all of the following variants the limit occurs in the definition.
120 Therefore it is useful to define an auxiliary predicate
121 [Cauchy_Lim_prop?], in terms of which [Cauchy_prop?] is defined.
122
123 Variant 2 of Cauchy ([Cauchy_prop2]) is [exists y, (Cauchy_Lim_prop2 seq y)]
124 where
125 [[
126 Cauchy_Lim_prop2 seq y := forall eps [>] Zero, exists N, forall m >= N, (AbsIR seq m - y) [<=] eps
127 ]]
128
129 Note that [Cauchy_Lim_prop2] equals [seqLimit].
130
131 Variant 3 of Cauchy ([Cauchy_prop3]) reads [exists y, (Cauchy_Lim_prop3 seq y)]
132 where
133 [[
134 Cauchy_Lim_prop3 seq y := forall k, exists N, forall m >= N, (AbsIR seq m - y) [<=] One[/] (k[+]1)
135 ]]
136
137 The following variant is more restricted.
138
139 Variant 4 of Cauchy ([Cauchy_prop4]): [exists y, (Cauchy_Lim_prop4 seq y)]
140 where
141 [[
142 Cauchy_Lim_prop4 seq y := forall k, (AbsIR seq m - y) [<=] One[/] (k[+]1)
143 ]]
144
145 So
146 [[
147 Cauchy_prop4 -> Cauchy_prop3 Iff Cauchy_prop2 Iff Cauchy_prop1 Iff Cauchy_prop
148 ]]
149 Note: we don't know which formulations are useful.
150
151 The inequalities are stated with [[<=]] rather than with [<] for the
152 following reason: both formulations are equivalent, as is well known;
153 and [[<=]] being a negative statement, this makes proofs
154 sometimes easier and program extraction much more efficient.
155 *)
156
157 inline "cic:/CoRN/reals/CauchySeq/Cauchy_prop1.con".
158
159 inline "cic:/CoRN/reals/CauchySeq/Cauchy_Lim_prop2.con".
160
161 inline "cic:/CoRN/reals/CauchySeq/Cauchy_prop2.con".
162
163 inline "cic:/CoRN/reals/CauchySeq/Cauchy_Lim_prop3.con".
164
165 inline "cic:/CoRN/reals/CauchySeq/Cauchy_prop3.con".
166
167 inline "cic:/CoRN/reals/CauchySeq/Cauchy_Lim_prop4.con".
168
169 inline "cic:/CoRN/reals/CauchySeq/Cauchy_prop4.con".
170
171 (* UNEXPORTED
172 End Cauchy_Defs
173 *)
174
175 (* UNEXPORTED
176 Section Inequalities
177 *)
178
179 (*#* *** Inequalities of Limits
180
181 The next lemma is equal to lemma [Lim_Cauchy].  *)
182
183 inline "cic:/CoRN/reals/CauchySeq/Cauchy_complete.con".
184
185 inline "cic:/CoRN/reals/CauchySeq/less_Lim_so_less_seq.con".
186
187 inline "cic:/CoRN/reals/CauchySeq/Lim_less_so_seq_less.con".
188
189 inline "cic:/CoRN/reals/CauchySeq/Lim_less_Lim_so_seq_less_seq.con".
190
191 (*#* The next lemma follows from [less_Lim_so_less_seq] with [y := (y[+] (Lim seq)) [/]TwoNZ].  *)
192
193 inline "cic:/CoRN/reals/CauchySeq/less_Lim_so.con".
194
195 inline "cic:/CoRN/reals/CauchySeq/Lim_less_so.con".
196
197 inline "cic:/CoRN/reals/CauchySeq/leEq_seq_so_leEq_Lim.con".
198
199 inline "cic:/CoRN/reals/CauchySeq/str_leEq_seq_so_leEq_Lim.con".
200
201 inline "cic:/CoRN/reals/CauchySeq/Lim_leEq_Lim.con".
202
203 inline "cic:/CoRN/reals/CauchySeq/seq_leEq_so_Lim_leEq.con".
204
205 inline "cic:/CoRN/reals/CauchySeq/str_seq_leEq_so_Lim_leEq.con".
206
207 inline "cic:/CoRN/reals/CauchySeq/Limits_unique.con".
208
209 inline "cic:/CoRN/reals/CauchySeq/Lim_wd.con".
210
211 inline "cic:/CoRN/reals/CauchySeq/Lim_strext.con".
212
213 inline "cic:/CoRN/reals/CauchySeq/Lim_ap_imp_seq_ap.con".
214
215 inline "cic:/CoRN/reals/CauchySeq/Lim_ap_imp_seq_ap'.con".
216
217 (* UNEXPORTED
218 End Inequalities
219 *)
220
221 (* UNEXPORTED
222 Section Equiv_Cauchy
223 *)
224
225 (*#* *** Equivalence of formulations of Cauchy *)
226
227 inline "cic:/CoRN/reals/CauchySeq/Cauchy_prop1_prop.con".
228
229 inline "cic:/CoRN/reals/CauchySeq/Cauchy_prop2_prop.con".
230
231 inline "cic:/CoRN/reals/CauchySeq/Cauchy_Lim_prop3_prop2.con".
232
233 inline "cic:/CoRN/reals/CauchySeq/Cauchy_prop3_prop2.con".
234
235 inline "cic:/CoRN/reals/CauchySeq/Cauchy_prop3_prop.con".
236
237 inline "cic:/CoRN/reals/CauchySeq/Build_CauchySeq1.con".
238
239 inline "cic:/CoRN/reals/CauchySeq/Cauchy_Lim_prop4_prop3.con".
240
241 inline "cic:/CoRN/reals/CauchySeq/Cauchy_Lim_prop4_prop2.con".
242
243 inline "cic:/CoRN/reals/CauchySeq/Cauchy_prop4_prop3.con".
244
245 inline "cic:/CoRN/reals/CauchySeq/Cauchy_prop4_prop.con".
246
247 inline "cic:/CoRN/reals/CauchySeq/Build_CauchySeq4.con".
248
249 inline "cic:/CoRN/reals/CauchySeq/Build_CauchySeq4_y.con".
250
251 inline "cic:/CoRN/reals/CauchySeq/Lim_CauchySeq4.con".
252
253 inline "cic:/CoRN/reals/CauchySeq/Build_CauchySeq2.con".
254
255 inline "cic:/CoRN/reals/CauchySeq/Build_CauchySeq2_y.con".
256
257 inline "cic:/CoRN/reals/CauchySeq/Lim_CauchySeq2.con".
258
259 (*#* Well definedness. *)
260
261 inline "cic:/CoRN/reals/CauchySeq/Cauchy_prop_wd.con".
262
263 inline "cic:/CoRN/reals/CauchySeq/Cauchy_Lim_prop2_wd.con".
264
265 inline "cic:/CoRN/reals/CauchySeq/Lim_wd'.con".
266
267 inline "cic:/CoRN/reals/CauchySeq/Lim_unique.con".
268
269 (* UNEXPORTED
270 End Equiv_Cauchy
271 *)
272
273 (* UNEXPORTED
274 Section Cauchy_props
275 *)
276
277 (*#* *** Properties of Cauchy sequences
278
279 Some of these lemmas are now obsolete, because they were reproved for arbitrary ordered fields$\ldots$#...#
280
281 We begin by defining the constant sequence and proving that it is Cauchy with the expected limit.
282 *)
283
284 inline "cic:/CoRN/reals/CauchySeq/Cauchy_const.con".
285
286 inline "cic:/CoRN/reals/CauchySeq/Lim_const.con".
287
288 inline "cic:/CoRN/reals/CauchySeq/Cauchy_Lim_plus.con".
289
290 inline "cic:/CoRN/reals/CauchySeq/Cauchy_plus.con".
291
292 inline "cic:/CoRN/reals/CauchySeq/Lim_plus.con".
293
294 inline "cic:/CoRN/reals/CauchySeq/Cauchy_Lim_inv.con".
295
296 inline "cic:/CoRN/reals/CauchySeq/Cauchy_inv.con".
297
298 inline "cic:/CoRN/reals/CauchySeq/Lim_inv.con".
299
300 inline "cic:/CoRN/reals/CauchySeq/Cauchy_Lim_minus.con".
301
302 inline "cic:/CoRN/reals/CauchySeq/Cauchy_minus.con".
303
304 inline "cic:/CoRN/reals/CauchySeq/Lim_minus.con".
305
306 inline "cic:/CoRN/reals/CauchySeq/Cauchy_Lim_mult.con".
307
308 inline "cic:/CoRN/reals/CauchySeq/Cauchy_mult.con".
309
310 inline "cic:/CoRN/reals/CauchySeq/Lim_mult.con".
311
312 (* UNEXPORTED
313 End Cauchy_props
314 *)
315