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 *********************)
19 (* $Id: Composition.v,v 1.4 2004/04/23 10:00:58 lcf Exp $ *)
21 include "ftc/MoreFunctions.ma".
24 Section Maps_into_Compacts
33 Preservation results for functional composition are treated in this
34 separate file. We start by defining some auxiliary predicates, and
35 then prove the preservation of continuity through composition and the
36 chain rule for differentiation, both for compact and arbitrary
39 %\begin{convention}% Throughout this section:
40 - [a, b : IR] and [I] will denote [[a,b]];
41 - [c, d : IR] and [J] will denote [[c,d]];
42 - [F, F', G, G'] will be partial functions.
48 Both continuity and differentiability proofs require extra hypothesis
49 on the functions involved---namely, that every compact interval is
50 mapped into another compact interval. We define this concept for
51 partial functions, and prove some trivial results.
55 cic:/CoRN/ftc/Composition/Maps_into_Compacts/Part_Funct/F.var
59 cic:/CoRN/ftc/Composition/Maps_into_Compacts/Part_Funct/G.var
63 cic:/CoRN/ftc/Composition/Maps_into_Compacts/Part_Funct/a.var
67 cic:/CoRN/ftc/Composition/Maps_into_Compacts/Part_Funct/b.var
71 cic:/CoRN/ftc/Composition/Maps_into_Compacts/Part_Funct/Hab.var
75 cic:/CoRN/ftc/Composition/Maps_into_Compacts/Part_Funct/c.var
79 cic:/CoRN/ftc/Composition/Maps_into_Compacts/Part_Funct/d.var
83 cic:/CoRN/ftc/Composition/Maps_into_Compacts/Part_Funct/Hcd.var
88 inline procedural "cic:/CoRN/ftc/Composition/Maps_into_Compacts/Part_Funct/I.con" "Maps_into_Compacts__Part_Funct__" as definition.
95 cic:/CoRN/ftc/Composition/Maps_into_Compacts/Part_Funct/Hf.var
100 inline procedural "cic:/CoRN/ftc/Composition/maps_into_compacts.con" as definition.
105 cic:/CoRN/ftc/Composition/Maps_into_Compacts/Part_Funct/maps.var
110 inline procedural "cic:/CoRN/ftc/Composition/maps_lemma'.con" as lemma.
112 inline procedural "cic:/CoRN/ftc/Composition/maps_lemma.con" as lemma.
114 inline procedural "cic:/CoRN/ftc/Composition/maps_lemma_less.con" as lemma.
116 inline procedural "cic:/CoRN/ftc/Composition/maps_lemma_inc.con" as lemma.
123 End Maps_into_Compacts
131 As was the case for division of partial functions, this condition
132 completely characterizes the domain of the composite function.
136 cic:/CoRN/ftc/Composition/Mapping/F.var
140 cic:/CoRN/ftc/Composition/Mapping/G.var
144 cic:/CoRN/ftc/Composition/Mapping/a.var
148 cic:/CoRN/ftc/Composition/Mapping/b.var
152 cic:/CoRN/ftc/Composition/Mapping/Hab.var
156 cic:/CoRN/ftc/Composition/Mapping/c.var
160 cic:/CoRN/ftc/Composition/Mapping/d.var
164 cic:/CoRN/ftc/Composition/Mapping/Hcd.var
170 cic:/CoRN/ftc/Composition/Mapping/Hf.var
174 cic:/CoRN/ftc/Composition/Mapping/Hg.var
178 cic:/CoRN/ftc/Composition/Mapping/maps.var
183 inline procedural "cic:/CoRN/ftc/Composition/included_comp.con" as lemma.
190 Section Interval_Continuity
195 We now prove that the composition of two continuous partial functions is continuous.
199 cic:/CoRN/ftc/Composition/Interval_Continuity/a.var
203 cic:/CoRN/ftc/Composition/Interval_Continuity/b.var
207 cic:/CoRN/ftc/Composition/Interval_Continuity/Hab.var
212 inline procedural "cic:/CoRN/ftc/Composition/Interval_Continuity/I.con" "Interval_Continuity__" as definition.
217 cic:/CoRN/ftc/Composition/Interval_Continuity/c.var
221 cic:/CoRN/ftc/Composition/Interval_Continuity/d.var
225 cic:/CoRN/ftc/Composition/Interval_Continuity/Hcd.var
229 cic:/CoRN/ftc/Composition/Interval_Continuity/F.var
233 cic:/CoRN/ftc/Composition/Interval_Continuity/G.var
239 cic:/CoRN/ftc/Composition/Interval_Continuity/contF.var
243 cic:/CoRN/ftc/Composition/Interval_Continuity/contG.var
247 cic:/CoRN/ftc/Composition/Interval_Continuity/Hmap.var
252 inline procedural "cic:/CoRN/ftc/Composition/Continuous_I_comp.con" as lemma.
255 End Interval_Continuity
264 We now work with the derivative relation and prove the chain rule for partial functions.
268 cic:/CoRN/ftc/Composition/Derivative/F.var
272 cic:/CoRN/ftc/Composition/Derivative/F'.var
276 cic:/CoRN/ftc/Composition/Derivative/G.var
280 cic:/CoRN/ftc/Composition/Derivative/G'.var
284 cic:/CoRN/ftc/Composition/Derivative/a.var
288 cic:/CoRN/ftc/Composition/Derivative/b.var
292 cic:/CoRN/ftc/Composition/Derivative/Hab'.var
296 cic:/CoRN/ftc/Composition/Derivative/c.var
300 cic:/CoRN/ftc/Composition/Derivative/d.var
304 cic:/CoRN/ftc/Composition/Derivative/Hcd'.var
309 inline procedural "cic:/CoRN/ftc/Composition/Derivative/Hab.con" "Derivative__" as definition.
311 inline procedural "cic:/CoRN/ftc/Composition/Derivative/Hcd.con" "Derivative__" as definition.
313 inline procedural "cic:/CoRN/ftc/Composition/Derivative/I.con" "Derivative__" as definition.
320 cic:/CoRN/ftc/Composition/Derivative/derF.var
324 cic:/CoRN/ftc/Composition/Derivative/derG.var
328 cic:/CoRN/ftc/Composition/Derivative/Hmap.var
333 inline procedural "cic:/CoRN/ftc/Composition/included_comp'.con" as lemma.
335 inline procedural "cic:/CoRN/ftc/Composition/maps'.con" as lemma.
337 inline procedural "cic:/CoRN/ftc/Composition/Derivative_I_comp.con" as lemma.
340 The next lemma will be useful when we move on to differentiability.
343 inline procedural "cic:/CoRN/ftc/Composition/Diffble_I_comp_aux.con" as lemma.
350 Section Differentiability
353 (*#* **Differentiability
355 Finally, we move on to differentiability.
359 cic:/CoRN/ftc/Composition/Differentiability/F.var
363 cic:/CoRN/ftc/Composition/Differentiability/G.var
367 cic:/CoRN/ftc/Composition/Differentiability/a.var
371 cic:/CoRN/ftc/Composition/Differentiability/b.var
375 cic:/CoRN/ftc/Composition/Differentiability/Hab'.var
379 cic:/CoRN/ftc/Composition/Differentiability/c.var
383 cic:/CoRN/ftc/Composition/Differentiability/d.var
387 cic:/CoRN/ftc/Composition/Differentiability/Hcd'.var
392 inline procedural "cic:/CoRN/ftc/Composition/Differentiability/Hab.con" "Differentiability__" as definition.
394 inline procedural "cic:/CoRN/ftc/Composition/Differentiability/Hcd.con" "Differentiability__" as definition.
396 inline procedural "cic:/CoRN/ftc/Composition/Differentiability/I.con" "Differentiability__" as definition.
403 cic:/CoRN/ftc/Composition/Differentiability/diffF.var
407 cic:/CoRN/ftc/Composition/Differentiability/diffG.var
411 cic:/CoRN/ftc/Composition/Differentiability/Hmap.var
416 inline procedural "cic:/CoRN/ftc/Composition/Diffble_I_comp.con" as lemma.
419 End Differentiability
423 Section Generalized_Intervals
426 (*#* **Generalizations
428 We now generalize this results to arbitrary intervals. We begin by generalizing the notion of mapping compacts into compacts.
430 %\begin{convention}% We assume [I,J] to be proper intervals.
435 cic:/CoRN/ftc/Composition/Generalized_Intervals/I.var
439 cic:/CoRN/ftc/Composition/Generalized_Intervals/J.var
443 cic:/CoRN/ftc/Composition/Generalized_Intervals/pI.var
447 cic:/CoRN/ftc/Composition/Generalized_Intervals/pJ.var
450 inline procedural "cic:/CoRN/ftc/Composition/maps_compacts_into.con" as definition.
453 Now everything comes naturally:
456 inline procedural "cic:/CoRN/ftc/Composition/comp_inc_lemma.con" as lemma.
459 cic:/CoRN/ftc/Composition/Generalized_Intervals/F.var
463 cic:/CoRN/ftc/Composition/Generalized_Intervals/F'.var
467 cic:/CoRN/ftc/Composition/Generalized_Intervals/G.var
471 cic:/CoRN/ftc/Composition/Generalized_Intervals/G'.var
477 cic:/CoRN/ftc/Composition/Generalized_Intervals/Hmap.var
482 inline procedural "cic:/CoRN/ftc/Composition/Continuous_comp.con" as lemma.
487 cic:/CoRN/ftc/Composition/Generalized_Intervals/Hmap'.var
492 inline procedural "cic:/CoRN/ftc/Composition/Derivative_comp.con" as lemma.
495 End Generalized_Intervals
503 Finally, some criteria to prove that a function with a specific domain maps compacts into compacts:
506 inline procedural "cic:/CoRN/ftc/Composition/positive_fun.con" as definition.
508 inline procedural "cic:/CoRN/ftc/Composition/negative_fun.con" as definition.
510 inline procedural "cic:/CoRN/ftc/Composition/positive_imp_maps_compacts_into.con" as lemma.
512 inline procedural "cic:/CoRN/ftc/Composition/negative_imp_maps_compacts_into.con" as lemma.
514 inline procedural "cic:/CoRN/ftc/Composition/Continuous_imp_maps_compacts_into.con" as lemma.
517 As a corollary, we get the generalization of differentiability property.
520 inline procedural "cic:/CoRN/ftc/Composition/Diffble_comp.con" as lemma.
527 Hint Immediate included_comp: included.
531 Hint Immediate Continuous_I_comp Continuous_comp: continuous.