1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 (* This file was automatically generated: do not edit *********************)
17 set "baseuri" "cic:/matita/CoRN-Decl/ftc/FunctSequence".
21 (* $Id: FunctSequence.v,v 1.5 2004/04/23 10:00:58 lcf Exp $ *)
23 include "ftc/Continuity.ma".
25 include "ftc/PartInterval.ma".
31 (*#* *Sequences of Functions
33 In this file we define some more operators on functions, namely
34 sequences and limits. These concepts are defined only for continuous
37 %\begin{convention}% Throughout this section:
38 - [a] and [b] will be real numbers and the interval [[a,b]]
39 will be denoted by [I];
40 - [f, g] and [h] will denote sequences of continuous functions;
41 - [F, G] and [H] will denote continuous functions.
47 A sequence of functions is simply an object of type [nat->PartIR].
48 However, we will be interested mostly in convergent and Cauchy
49 sequences. Several definitions of these concepts will be formalized;
50 they mirror the several different ways in which a Cauchy sequence can
51 be defined. For a discussion on the different notions of convergent
55 alias id "a" = "cic:/CoRN/ftc/FunctSequence/Definitions/a.var".
57 alias id "b" = "cic:/CoRN/ftc/FunctSequence/Definitions/b.var".
59 alias id "Hab" = "cic:/CoRN/ftc/FunctSequence/Definitions/Hab.var".
63 inline "cic:/CoRN/ftc/FunctSequence/Definitions/I.con" "Definitions__".
67 alias id "f" = "cic:/CoRN/ftc/FunctSequence/Definitions/f.var".
69 alias id "F" = "cic:/CoRN/ftc/FunctSequence/Definitions/F.var".
71 alias id "contf" = "cic:/CoRN/ftc/FunctSequence/Definitions/contf.var".
73 alias id "contF" = "cic:/CoRN/ftc/FunctSequence/Definitions/contF.var".
77 inline "cic:/CoRN/ftc/FunctSequence/Definitions/incf.con" "Definitions__".
79 inline "cic:/CoRN/ftc/FunctSequence/Definitions/incF.con" "Definitions__".
83 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq.con".
85 inline "cic:/CoRN/ftc/FunctSequence/conv_fun_seq'.con".
87 inline "cic:/CoRN/ftc/FunctSequence/conv_norm_fun_seq.con".
89 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq1.con".
91 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq'.con".
93 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq2.con".
96 These definitions are all shown to be equivalent.
99 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq_seq'.con".
101 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq'_seq.con".
103 inline "cic:/CoRN/ftc/FunctSequence/conv_Cauchy_fun_seq'.con".
105 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq_seq2.con".
107 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq2_seq.con".
109 inline "cic:/CoRN/ftc/FunctSequence/conv_fun_seq'_norm.con".
111 inline "cic:/CoRN/ftc/FunctSequence/conv_fun_norm_seq.con".
113 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq1_seq'.con".
115 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq'_seq1.con".
117 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq_seq1.con".
119 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq1_seq.con".
122 A Cauchy sequence of functions is pointwise a Cauchy sequence.
125 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_real.con".
132 Section More_Definitions
135 alias id "a" = "cic:/CoRN/ftc/FunctSequence/More_Definitions/a.var".
137 alias id "b" = "cic:/CoRN/ftc/FunctSequence/More_Definitions/b.var".
139 alias id "Hab" = "cic:/CoRN/ftc/FunctSequence/More_Definitions/Hab.var".
143 inline "cic:/CoRN/ftc/FunctSequence/More_Definitions/I.con" "More_Definitions__".
147 alias id "f" = "cic:/CoRN/ftc/FunctSequence/More_Definitions/f.var".
149 alias id "contf" = "cic:/CoRN/ftc/FunctSequence/More_Definitions/contf.var".
152 We can also say that [f] is simply convergent if it converges to some
153 continuous function. Notice that we do not quantify directly over
154 partial functions, for reasons which were already explained.
157 inline "cic:/CoRN/ftc/FunctSequence/conv_fun_seq.con".
160 It is useful to extract the limit as a partial function:
165 alias id "H" = "cic:/CoRN/ftc/FunctSequence/More_Definitions/H.var".
169 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq_Lim.con".
176 Section Irrelevance_of_Proofs
179 (*#* **Irrelevance of Proofs
181 This section contains a number of technical results stating mainly that being a Cauchy sequence or converging to some limit is a property of the sequence itself and independent of the proofs we supply of its continuity or the continuity of its limit.
184 alias id "a" = "cic:/CoRN/ftc/FunctSequence/Irrelevance_of_Proofs/a.var".
186 alias id "b" = "cic:/CoRN/ftc/FunctSequence/Irrelevance_of_Proofs/b.var".
188 alias id "Hab" = "cic:/CoRN/ftc/FunctSequence/Irrelevance_of_Proofs/Hab.var".
192 inline "cic:/CoRN/ftc/FunctSequence/Irrelevance_of_Proofs/I.con" "Irrelevance_of_Proofs__".
196 alias id "f" = "cic:/CoRN/ftc/FunctSequence/Irrelevance_of_Proofs/f.var".
200 alias id "contf" = "cic:/CoRN/ftc/FunctSequence/Irrelevance_of_Proofs/contf.var".
202 alias id "contf0" = "cic:/CoRN/ftc/FunctSequence/Irrelevance_of_Proofs/contf0.var".
206 alias id "F" = "cic:/CoRN/ftc/FunctSequence/Irrelevance_of_Proofs/F.var".
210 alias id "contF" = "cic:/CoRN/ftc/FunctSequence/Irrelevance_of_Proofs/contF.var".
212 alias id "contF0" = "cic:/CoRN/ftc/FunctSequence/Irrelevance_of_Proofs/contF0.var".
216 inline "cic:/CoRN/ftc/FunctSequence/conv_fun_seq'_wd.con".
218 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq'_wd.con".
220 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq2_wd.con".
222 inline "cic:/CoRN/ftc/FunctSequence/conv_norm_fun_seq_wd.con".
224 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq1_wd.con".
227 End Irrelevance_of_Proofs
231 Section More_Proof_Irrelevance
234 inline "cic:/CoRN/ftc/FunctSequence/conv_fun_seq_wd.con".
237 End More_Proof_Irrelevance
241 Section More_Properties
244 (*#* **Other Properties
246 Still more technical details---a convergent sequence converges to its
247 limit; the limit is a continuous function; and convergence is well
248 defined with respect to functional equality in the interval [[a,b]].
251 alias id "a" = "cic:/CoRN/ftc/FunctSequence/More_Properties/a.var".
253 alias id "b" = "cic:/CoRN/ftc/FunctSequence/More_Properties/b.var".
255 alias id "Hab" = "cic:/CoRN/ftc/FunctSequence/More_Properties/Hab.var".
259 inline "cic:/CoRN/ftc/FunctSequence/More_Properties/I.con" "More_Properties__".
263 alias id "f" = "cic:/CoRN/ftc/FunctSequence/More_Properties/f.var".
265 alias id "g" = "cic:/CoRN/ftc/FunctSequence/More_Properties/g.var".
269 alias id "contf" = "cic:/CoRN/ftc/FunctSequence/More_Properties/contf.var".
271 alias id "contf0" = "cic:/CoRN/ftc/FunctSequence/More_Properties/contf0.var".
273 alias id "contg" = "cic:/CoRN/ftc/FunctSequence/More_Properties/contg.var".
275 alias id "contg0" = "cic:/CoRN/ftc/FunctSequence/More_Properties/contg0.var".
279 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_conv_fun_seq'.con".
281 alias id "F" = "cic:/CoRN/ftc/FunctSequence/More_Properties/F.var".
283 alias id "G" = "cic:/CoRN/ftc/FunctSequence/More_Properties/G.var".
287 alias id "contF" = "cic:/CoRN/ftc/FunctSequence/More_Properties/contF.var".
289 alias id "contF0" = "cic:/CoRN/ftc/FunctSequence/More_Properties/contF0.var".
291 alias id "contG" = "cic:/CoRN/ftc/FunctSequence/More_Properties/contG.var".
293 alias id "contG0" = "cic:/CoRN/ftc/FunctSequence/More_Properties/contG0.var".
297 inline "cic:/CoRN/ftc/FunctSequence/conv_fun_seq'_wdl.con".
299 inline "cic:/CoRN/ftc/FunctSequence/conv_fun_seq'_wdr.con".
301 inline "cic:/CoRN/ftc/FunctSequence/conv_fun_seq'_wdl'.con".
303 inline "cic:/CoRN/ftc/FunctSequence/conv_fun_seq'_wdr'.con".
305 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_fun_seq_wd.con".
307 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_cont_Lim.con".
309 inline "cic:/CoRN/ftc/FunctSequence/Cauchy_conv_fun_seq.con".
311 inline "cic:/CoRN/ftc/FunctSequence/conv_Cauchy_fun_seq.con".
314 More interesting is the fact that a convergent sequence of functions converges pointwise as a sequence of real numbers.
317 inline "cic:/CoRN/ftc/FunctSequence/fun_conv_imp_seq_conv.con".
320 And a sequence of real numbers converges iff the corresponding sequence of constant functions converges to the corresponding constant function.
323 inline "cic:/CoRN/ftc/FunctSequence/seq_conv_imp_fun_conv.con".
330 Hint Resolve Cauchy_cont_Lim: continuous.
334 Section Algebraic_Properties
337 (*#* **Algebraic Properties
339 We now study how convergence is affected by algebraic operations, and some algebraic properties of the limit function.
342 alias id "a" = "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/a.var".
344 alias id "b" = "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/b.var".
346 alias id "Hab" = "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/Hab.var".
350 inline "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/I.con" "Algebraic_Properties__".
354 alias id "f" = "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/f.var".
356 alias id "g" = "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/g.var".
358 alias id "contf" = "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/contf.var".
360 alias id "contg" = "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/contg.var".
363 First, the limit function is unique.
366 inline "cic:/CoRN/ftc/FunctSequence/FLim_unique.con".
368 (*#* Constant sequences (not sequences of constant functions!) always converge.
371 inline "cic:/CoRN/ftc/FunctSequence/fun_Lim_seq_const.con".
373 inline "cic:/CoRN/ftc/FunctSequence/fun_Cauchy_prop_const.con".
376 We now prove that if two sequences converge than their sum (difference, product) also converge to the sum (difference, product) of their limits.
379 alias id "F" = "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/F.var".
381 alias id "G" = "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/G.var".
383 alias id "contF" = "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/contF.var".
385 alias id "contG" = "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/contG.var".
389 alias id "convF" = "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/convF.var".
391 alias id "convG" = "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/convG.var".
397 inline "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/incf.con" "Algebraic_Properties__".
399 inline "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/incg.con" "Algebraic_Properties__".
401 inline "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/incF.con" "Algebraic_Properties__".
403 inline "cic:/CoRN/ftc/FunctSequence/Algebraic_Properties/incG.con" "Algebraic_Properties__".
407 inline "cic:/CoRN/ftc/FunctSequence/fun_Lim_seq_plus'.con".
409 inline "cic:/CoRN/ftc/FunctSequence/fun_Lim_seq_minus'.con".
411 inline "cic:/CoRN/ftc/FunctSequence/fun_Lim_seq_mult'.con".
414 End Algebraic_Properties
418 Section More_Algebraic_Properties
421 alias id "a" = "cic:/CoRN/ftc/FunctSequence/More_Algebraic_Properties/a.var".
423 alias id "b" = "cic:/CoRN/ftc/FunctSequence/More_Algebraic_Properties/b.var".
425 alias id "Hab" = "cic:/CoRN/ftc/FunctSequence/More_Algebraic_Properties/Hab.var".
429 inline "cic:/CoRN/ftc/FunctSequence/More_Algebraic_Properties/I.con" "More_Algebraic_Properties__".
433 alias id "f" = "cic:/CoRN/ftc/FunctSequence/More_Algebraic_Properties/f.var".
435 alias id "g" = "cic:/CoRN/ftc/FunctSequence/More_Algebraic_Properties/g.var".
437 alias id "contf" = "cic:/CoRN/ftc/FunctSequence/More_Algebraic_Properties/contf.var".
439 alias id "contg" = "cic:/CoRN/ftc/FunctSequence/More_Algebraic_Properties/contg.var".
442 The same is true if we don't make the limits explicit.
447 alias id "Hf" = "cic:/CoRN/ftc/FunctSequence/More_Algebraic_Properties/Hf.var".
449 alias id "Hg" = "cic:/CoRN/ftc/FunctSequence/More_Algebraic_Properties/Hg.var".
453 inline "cic:/CoRN/ftc/FunctSequence/fun_Lim_seq_plus.con".
455 inline "cic:/CoRN/ftc/FunctSequence/fun_Cauchy_prop_plus.con".
457 inline "cic:/CoRN/ftc/FunctSequence/fun_Lim_seq_minus.con".
459 inline "cic:/CoRN/ftc/FunctSequence/fun_Cauchy_prop_minus.con".
461 inline "cic:/CoRN/ftc/FunctSequence/fun_Lim_seq_mult.con".
463 inline "cic:/CoRN/ftc/FunctSequence/fun_Cauchy_prop_mult.con".
466 End More_Algebraic_Properties
470 Section Still_More_Algebraic_Properties
473 alias id "a" = "cic:/CoRN/ftc/FunctSequence/Still_More_Algebraic_Properties/a.var".
475 alias id "b" = "cic:/CoRN/ftc/FunctSequence/Still_More_Algebraic_Properties/b.var".
477 alias id "Hab" = "cic:/CoRN/ftc/FunctSequence/Still_More_Algebraic_Properties/Hab.var".
481 inline "cic:/CoRN/ftc/FunctSequence/Still_More_Algebraic_Properties/I.con" "Still_More_Algebraic_Properties__".
485 alias id "f" = "cic:/CoRN/ftc/FunctSequence/Still_More_Algebraic_Properties/f.var".
487 alias id "contf" = "cic:/CoRN/ftc/FunctSequence/Still_More_Algebraic_Properties/contf.var".
489 alias id "Hf" = "cic:/CoRN/ftc/FunctSequence/Still_More_Algebraic_Properties/Hf.var".
492 As a corollary, we get the analogous property for the sequence of algebraic inverse functions.
495 inline "cic:/CoRN/ftc/FunctSequence/fun_Lim_seq_inv.con".
497 inline "cic:/CoRN/ftc/FunctSequence/fun_Cauchy_prop_inv.con".
500 End Still_More_Algebraic_Properties
504 Hint Resolve Continuous_I_Sum Continuous_I_Sumx Continuous_I_Sum0: continuous.