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/Continuity".
21 (* $Id: Continuity.v,v 1.6 2004/04/23 10:00:58 lcf Exp $ *)
23 (*#* printing Norm_Funct %\ensuremath{\|\cdot\|}% *)
25 include "reals/NRootIR.ma".
27 include "ftc/FunctSums.ma".
30 Section Definitions_and_Basic_Results
35 Constructively, continuity is the most fundamental property of any
36 function---so strongly that no example is known of a constructive
37 function that is not continuous. However, the classical definition of
38 continuity is not good for our purposes, as it is not true, for
39 example, that a function which is continuous in a compact interval is
40 uniformly continuous in that same interval (for a discussion of this
41 see Bishop 1967). Thus, our notion of continuity will be the uniform
42 one#. #%\footnote{%Similar remarks apply to convergence of sequences
43 of functions, which we will define ahead, and elsewhere; we will
44 refrain from discussing this issue at those places.%}.%
46 %\begin{convention}% Throughout this section, [a] and [b] will be real
47 numbers, [I] will denote the compact interval [[a,b]] and
48 [F, G, H] will denote arbitrary partial functions with domains
49 respectively [P, Q] and [R].
52 ** Definitions and Basic Results
54 Here we define continuity and prove some basic properties of continuous functions.
57 alias id "a" = "cic:/CoRN/ftc/Continuity/Definitions_and_Basic_Results/a.var".
59 alias id "b" = "cic:/CoRN/ftc/Continuity/Definitions_and_Basic_Results/b.var".
61 alias id "Hab" = "cic:/CoRN/ftc/Continuity/Definitions_and_Basic_Results/Hab.var".
65 inline "cic:/CoRN/ftc/Continuity/Definitions_and_Basic_Results/I.con" "Definitions_and_Basic_Results__".
69 alias id "F" = "cic:/CoRN/ftc/Continuity/Definitions_and_Basic_Results/F.var".
73 inline "cic:/CoRN/ftc/Continuity/Definitions_and_Basic_Results/P.con" "Definitions_and_Basic_Results__".
77 inline "cic:/CoRN/ftc/Continuity/Continuous_I.con".
80 For convenience, we distinguish the two properties of continuous functions.
83 inline "cic:/CoRN/ftc/Continuity/contin_imp_inc.con".
85 inline "cic:/CoRN/ftc/Continuity/contin_prop.con".
88 Assume [F] to be continuous in [I]. Then it has a least upper bound and a greater lower bound on [I].
91 alias id "contF" = "cic:/CoRN/ftc/Continuity/Definitions_and_Basic_Results/contF.var".
95 inline "cic:/CoRN/ftc/Continuity/Definitions_and_Basic_Results/Hinc'.con" "Definitions_and_Basic_Results__".
99 inline "cic:/CoRN/ftc/Continuity/Continuous_I_imp_tb_image.con".
101 inline "cic:/CoRN/ftc/Continuity/Continuous_I_imp_lub.con".
103 inline "cic:/CoRN/ftc/Continuity/Continuous_I_imp_glb.con".
106 We now make this glb and lub into operators.
109 inline "cic:/CoRN/ftc/Continuity/lub_funct.con".
111 inline "cic:/CoRN/ftc/Continuity/glb_funct.con".
114 These operators have the expected properties.
117 inline "cic:/CoRN/ftc/Continuity/lub_is_lub.con".
119 inline "cic:/CoRN/ftc/Continuity/glb_is_glb.con".
121 inline "cic:/CoRN/ftc/Continuity/glb_prop.con".
123 inline "cic:/CoRN/ftc/Continuity/lub_prop.con".
126 The norm of a function is defined as being the supremum of its absolute value; that is equivalent to the following definition (which is often more convenient to use).
129 inline "cic:/CoRN/ftc/Continuity/Norm_Funct.con".
132 The norm effectively bounds the absolute value of a function.
135 inline "cic:/CoRN/ftc/Continuity/norm_bnd_AbsIR.con".
138 The following is another way of characterizing the norm:
141 inline "cic:/CoRN/ftc/Continuity/Continuous_I_imp_abs_lub.con".
144 We now prove some basic properties of the norm---namely that it is positive, and that it provides a least upper bound for the absolute value of its argument.
147 inline "cic:/CoRN/ftc/Continuity/positive_norm.con".
149 inline "cic:/CoRN/ftc/Continuity/norm_fun_lub.con".
151 inline "cic:/CoRN/ftc/Continuity/leEq_Norm_Funct.con".
153 inline "cic:/CoRN/ftc/Continuity/less_Norm_Funct.con".
156 End Definitions_and_Basic_Results
160 Implicit Arguments Continuous_I [a b].
164 Implicit Arguments Norm_Funct [a b Hab F].
168 Section Local_Results
171 (*#* **Algebraic Properties
173 We now state and prove some results about continuous functions. Assume that [I] is included in the domain of both [F] and [G].
176 alias id "a" = "cic:/CoRN/ftc/Continuity/Local_Results/a.var".
178 alias id "b" = "cic:/CoRN/ftc/Continuity/Local_Results/b.var".
180 alias id "Hab" = "cic:/CoRN/ftc/Continuity/Local_Results/Hab.var".
184 inline "cic:/CoRN/ftc/Continuity/Local_Results/I.con" "Local_Results__".
188 alias id "F" = "cic:/CoRN/ftc/Continuity/Local_Results/F.var".
190 alias id "G" = "cic:/CoRN/ftc/Continuity/Local_Results/G.var".
194 inline "cic:/CoRN/ftc/Continuity/Local_Results/P.con" "Local_Results__".
196 inline "cic:/CoRN/ftc/Continuity/Local_Results/Q.con" "Local_Results__".
200 alias id "incF" = "cic:/CoRN/ftc/Continuity/Local_Results/incF.var".
202 alias id "incG" = "cic:/CoRN/ftc/Continuity/Local_Results/incG.var".
205 The first result does not require the function to be continuous; however, its preconditions are easily verified by continuous functions, which justifies its inclusion in this section.
208 inline "cic:/CoRN/ftc/Continuity/cont_no_sign_change.con".
210 inline "cic:/CoRN/ftc/Continuity/cont_no_sign_change_pos.con".
212 inline "cic:/CoRN/ftc/Continuity/cont_no_sign_change_neg.con".
215 Being continuous is an extensional property.
218 inline "cic:/CoRN/ftc/Continuity/Continuous_I_wd.con".
221 A continuous function remains continuous if you restrict its domain.
224 inline "cic:/CoRN/ftc/Continuity/included_imp_contin.con".
227 Constant functions and identity are continuous.
230 inline "cic:/CoRN/ftc/Continuity/Continuous_I_const.con".
232 inline "cic:/CoRN/ftc/Continuity/Continuous_I_id.con".
235 Assume [F] and [G] are continuous in [I]. Then functions derived from these through algebraic operations are also continuous, provided (in the case of reciprocal and division) some extra conditions are met.
238 alias id "contF" = "cic:/CoRN/ftc/Continuity/Local_Results/contF.var".
240 alias id "contG" = "cic:/CoRN/ftc/Continuity/Local_Results/contG.var".
242 inline "cic:/CoRN/ftc/Continuity/Continuous_I_plus.con".
244 inline "cic:/CoRN/ftc/Continuity/Continuous_I_inv.con".
246 inline "cic:/CoRN/ftc/Continuity/Continuous_I_mult.con".
253 Transparent AbsIR Max.
256 inline "cic:/CoRN/ftc/Continuity/Continuous_I_max.con".
260 alias id "Hg'" = "cic:/CoRN/ftc/Continuity/Local_Results/Hg'.var".
262 alias id "Hg''" = "cic:/CoRN/ftc/Continuity/Local_Results/Hg''.var".
266 inline "cic:/CoRN/ftc/Continuity/Continuous_I_recip.con".
273 Hint Resolve contin_imp_inc: included.
280 alias id "a" = "cic:/CoRN/ftc/Continuity/Corolaries/a.var".
282 alias id "b" = "cic:/CoRN/ftc/Continuity/Corolaries/b.var".
284 alias id "Hab" = "cic:/CoRN/ftc/Continuity/Corolaries/Hab.var".
288 inline "cic:/CoRN/ftc/Continuity/Corolaries/I.con" "Corolaries__".
292 alias id "F" = "cic:/CoRN/ftc/Continuity/Corolaries/F.var".
294 alias id "G" = "cic:/CoRN/ftc/Continuity/Corolaries/G.var".
298 inline "cic:/CoRN/ftc/Continuity/Corolaries/P.con" "Corolaries__".
300 inline "cic:/CoRN/ftc/Continuity/Corolaries/Q.con" "Corolaries__".
304 alias id "contF" = "cic:/CoRN/ftc/Continuity/Corolaries/contF.var".
306 alias id "contG" = "cic:/CoRN/ftc/Continuity/Corolaries/contG.var".
309 The corresponding properties for subtraction, division and
310 multiplication by a scalar are easily proved as corollaries;
311 exponentiation is proved by induction, appealing to the results on
312 product and constant functions.
315 inline "cic:/CoRN/ftc/Continuity/Continuous_I_minus.con".
317 inline "cic:/CoRN/ftc/Continuity/Continuous_I_scal.con".
319 inline "cic:/CoRN/ftc/Continuity/Continuous_I_nth.con".
321 inline "cic:/CoRN/ftc/Continuity/Continuous_I_min.con".
323 inline "cic:/CoRN/ftc/Continuity/Continuous_I_abs.con".
325 alias id "Hg'" = "cic:/CoRN/ftc/Continuity/Corolaries/Hg'.var".
327 alias id "Hg''" = "cic:/CoRN/ftc/Continuity/Corolaries/Hg''.var".
329 inline "cic:/CoRN/ftc/Continuity/Continuous_I_div.con".
344 We finally prove that the sum of an arbitrary family of continuous functions is still a continuous function.
347 alias id "a" = "cic:/CoRN/ftc/Continuity/Other/Sums/a.var".
349 alias id "b" = "cic:/CoRN/ftc/Continuity/Other/Sums/b.var".
351 alias id "Hab" = "cic:/CoRN/ftc/Continuity/Other/Sums/Hab.var".
353 alias id "Hab'" = "cic:/CoRN/ftc/Continuity/Other/Sums/Hab'.var".
357 inline "cic:/CoRN/ftc/Continuity/Other/Sums/I.con" "Other__Sums__".
361 inline "cic:/CoRN/ftc/Continuity/Continuous_I_Sum0.con".
363 inline "cic:/CoRN/ftc/Continuity/Continuous_I_Sumx.con".
365 inline "cic:/CoRN/ftc/Continuity/Continuous_I_Sum.con".
372 For practical purposes, these characterization results are useful:
375 inline "cic:/CoRN/ftc/Continuity/lub_charact.con".
377 inline "cic:/CoRN/ftc/Continuity/glb_charact.con".
380 The following result is also extremely useful, as it allows us to set a lower bound on the glb of a function.
383 inline "cic:/CoRN/ftc/Continuity/leEq_glb.con".
386 The norm is also an extensional property.
389 inline "cic:/CoRN/ftc/Continuity/Norm_Funct_wd.con".
392 The value of the norm is covariant with the length of the interval.
395 inline "cic:/CoRN/ftc/Continuity/included_imp_norm_leEq.con".
402 Hint Resolve Continuous_I_const Continuous_I_id Continuous_I_plus
403 Continuous_I_inv Continuous_I_minus Continuous_I_mult Continuous_I_scal
404 Continuous_I_recip Continuous_I_max Continuous_I_min Continuous_I_div
405 Continuous_I_nth Continuous_I_abs: continuous.