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: Rolle.v,v 1.6 2004/04/23 10:01:01 lcf Exp $ *)
21 include "tactics/DiffTactics2.ma".
23 include "ftc/MoreFunctions.ma".
31 We now begin to work with partial functions. We begin by stating and proving Rolle's theorem in various forms and some of its corollaries.
33 %\begin{convention}% Assume that:
34 - [a,b:IR] with [a [<] b] and denote by [I] the interval [[a,b]];
35 - [F,F'] are partial functions such that [F'] is the derivative of [F] in [I];
36 - [e] is a positive real number.
43 alias id "a" = "cic:/CoRN/ftc/Rolle/Rolle/a.var".
45 alias id "b" = "cic:/CoRN/ftc/Rolle/Rolle/b.var".
47 alias id "Hab'" = "cic:/CoRN/ftc/Rolle/Rolle/Hab'.var".
49 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Hab.con" "Rolle__".
51 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/I.con" "Rolle__".
53 alias id "F" = "cic:/CoRN/ftc/Rolle/Rolle/F.var".
55 alias id "F'" = "cic:/CoRN/ftc/Rolle/Rolle/F'.var".
57 alias id "derF" = "cic:/CoRN/ftc/Rolle/Rolle/derF.var".
59 alias id "Ha" = "cic:/CoRN/ftc/Rolle/Rolle/Ha.var".
61 alias id "Hb" = "cic:/CoRN/ftc/Rolle/Rolle/Hb.var".
67 alias id "Fab" = "cic:/CoRN/ftc/Rolle/Rolle/Fab.var".
73 alias id "e" = "cic:/CoRN/ftc/Rolle/Rolle/e.var".
75 alias id "He" = "cic:/CoRN/ftc/Rolle/Rolle/He.var".
77 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/contF'.con" "Rolle__".
79 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/derivF.con" "Rolle__".
81 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Rolle_lemma2.con" "Rolle__".
83 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/df.con" "Rolle__".
85 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Hdf.con" "Rolle__".
87 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Hf.con" "Rolle__".
89 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Rolle_lemma3.con" "Rolle__".
91 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/df'.con" "Rolle__".
93 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Hdf'.con" "Rolle__".
95 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Hf'.con" "Rolle__".
97 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/d.con" "Rolle__".
99 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Hd.con" "Rolle__".
101 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/incF.con" "Rolle__".
103 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/n.con" "Rolle__".
105 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/fcp.con" "Rolle__".
107 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Rolle_lemma1.con" "Rolle__".
109 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/incF'.con" "Rolle__".
111 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/fcp'.con" "Rolle__".
114 Notation cp := (compact_part a b Hab' d Hd).
117 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Rolle_lemma4.con" "Rolle__".
119 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Rolle_lemma5.con" "Rolle__".
121 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Rolle_lemma6.con" "Rolle__".
123 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Rolle_lemma7.con" "Rolle__".
125 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/j.con" "Rolle__".
127 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Hj.con" "Rolle__".
129 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Hj'.con" "Rolle__".
131 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/k.con" "Rolle__".
133 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Hk.con" "Rolle__".
135 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Hk'.con" "Rolle__".
137 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Rolle_lemma8.con" "Rolle__".
139 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Rolle_lemma9.con" "Rolle__".
141 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Rolle_lemma10.con" "Rolle__".
143 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Rolle_lemma11.con" "Rolle__".
145 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Rolle_lemma12.con" "Rolle__".
147 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Rolle_lemma13.con" "Rolle__".
149 inline procedural "cic:/CoRN/ftc/Rolle/Rolle/Rolle_lemma15.con" "Rolle__".
153 inline procedural "cic:/CoRN/ftc/Rolle/Rolle.con".
160 Section Law_of_the_Mean
164 The following is a simple corollary:
167 alias id "a" = "cic:/CoRN/ftc/Rolle/Law_of_the_Mean/a.var".
169 alias id "b" = "cic:/CoRN/ftc/Rolle/Law_of_the_Mean/b.var".
171 alias id "Hab'" = "cic:/CoRN/ftc/Rolle/Law_of_the_Mean/Hab'.var".
175 inline procedural "cic:/CoRN/ftc/Rolle/Law_of_the_Mean/Hab.con" "Law_of_the_Mean__".
177 inline procedural "cic:/CoRN/ftc/Rolle/Law_of_the_Mean/I.con" "Law_of_the_Mean__".
181 alias id "F" = "cic:/CoRN/ftc/Rolle/Law_of_the_Mean/F.var".
183 alias id "F'" = "cic:/CoRN/ftc/Rolle/Law_of_the_Mean/F'.var".
185 alias id "HF" = "cic:/CoRN/ftc/Rolle/Law_of_the_Mean/HF.var".
189 alias id "HA" = "cic:/CoRN/ftc/Rolle/Law_of_the_Mean/HA.var".
191 alias id "HB" = "cic:/CoRN/ftc/Rolle/Law_of_the_Mean/HB.var".
195 inline procedural "cic:/CoRN/ftc/Rolle/Law_of_the_Mean_I.con".
206 We can also state these theorems without expliciting the derivative of [F].
209 alias id "a" = "cic:/CoRN/ftc/Rolle/Corollaries/a.var".
211 alias id "b" = "cic:/CoRN/ftc/Rolle/Corollaries/b.var".
213 alias id "Hab'" = "cic:/CoRN/ftc/Rolle/Corollaries/Hab'.var".
217 inline procedural "cic:/CoRN/ftc/Rolle/Corollaries/Hab.con" "Corollaries__".
221 alias id "F" = "cic:/CoRN/ftc/Rolle/Corollaries/F.var".
225 alias id "HF" = "cic:/CoRN/ftc/Rolle/Corollaries/HF.var".
229 inline procedural "cic:/CoRN/ftc/Rolle/Rolle'.con".
231 inline procedural "cic:/CoRN/ftc/Rolle/Law_of_the_Mean'_I.con".
238 Section Generalizations
242 The mean law is more useful if we abstract [a] and [b] from the
243 context---allowing them in particular to be equal. In the case where
244 [F(a) [=] F(b)] we get Rolle's theorem again, so there is no need to
245 state it also in this form.
247 %\begin{convention}% Assume [I] is a proper interval, [F,F':PartIR].
251 alias id "I" = "cic:/CoRN/ftc/Rolle/Generalizations/I.var".
253 alias id "pI" = "cic:/CoRN/ftc/Rolle/Generalizations/pI.var".
255 alias id "F" = "cic:/CoRN/ftc/Rolle/Generalizations/F.var".
257 alias id "F'" = "cic:/CoRN/ftc/Rolle/Generalizations/F'.var".
261 alias id "derF" = "cic:/CoRN/ftc/Rolle/Generalizations/derF.var".
267 inline procedural "cic:/CoRN/ftc/Rolle/Generalizations/incF.con" "Generalizations__".
269 inline procedural "cic:/CoRN/ftc/Rolle/Generalizations/incF'.con" "Generalizations__".
273 inline procedural "cic:/CoRN/ftc/Rolle/Law_of_the_Mean.con".
276 We further generalize the mean law by writing as an explicit bound.
279 inline procedural "cic:/CoRN/ftc/Rolle/Law_of_the_Mean_ineq.con".