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: FTC.v,v 1.5 2004/04/23 10:00:58 lcf Exp $ *)
21 (*#* printing [-S-] %\ensuremath{\int}% #∫# *)
23 include "ftc/MoreIntegrals.ma".
25 include "ftc/CalculusTheorems.ma".
32 Section Indefinite_Integral
35 (*#* *The Fundamental Theorem of Calculus
37 Finally we can prove the fundamental theorem of calculus and its most
38 important corollaries, which are the main tools to formalize most of
41 **Indefinite Integrals
43 We define the indefinite integral of a function in a proper interval
44 in the obvious way; we just need to state a first lemma so that the
45 continuity proofs become unnecessary.
47 %\begin{convention}% Let [I : interval], [F : PartIR] be continuous in [I]
48 and [a] be a point in [I].
53 cic:/CoRN/ftc/FTC/Indefinite_Integral/I.var
57 cic:/CoRN/ftc/FTC/Indefinite_Integral/F.var
61 cic:/CoRN/ftc/FTC/Indefinite_Integral/contF.var
65 cic:/CoRN/ftc/FTC/Indefinite_Integral/a.var
69 cic:/CoRN/ftc/FTC/Indefinite_Integral/Ha.var
72 inline procedural "cic:/CoRN/ftc/FTC/prim_lemma.con" as lemma.
74 inline procedural "cic:/CoRN/ftc/FTC/Fprim_strext.con" as lemma.
76 inline procedural "cic:/CoRN/ftc/FTC/Fprim.con" as definition.
79 End Indefinite_Integral
83 Implicit Arguments Fprim [I F].
87 Notation "[-S-] F" := (Fprim F) (at level 20).
96 We can now prove our main theorem. We begin by remarking that the
97 primitive function is always continuous.
99 %\begin{convention}% Assume that [J : interval], [F : PartIR] is
100 continuous in [J] and [x0] is a point in [J]. Denote by [G] the
101 indefinite integral of [F] from [x0].
106 cic:/CoRN/ftc/FTC/FTC/J.var
110 cic:/CoRN/ftc/FTC/FTC/F.var
114 cic:/CoRN/ftc/FTC/FTC/contF.var
118 cic:/CoRN/ftc/FTC/FTC/x0.var
122 cic:/CoRN/ftc/FTC/FTC/Hx0.var
127 inline procedural "cic:/CoRN/ftc/FTC/FTC/G.con" "FTC__" as definition.
131 inline procedural "cic:/CoRN/ftc/FTC/Continuous_prim.con" as lemma.
134 The derivative of [G] is simply [F].
138 cic:/CoRN/ftc/FTC/FTC/pJ.var
141 inline procedural "cic:/CoRN/ftc/FTC/FTC1.con" as theorem.
144 Any other function [G0] with derivative [F] must differ from [G] by a constant.
148 cic:/CoRN/ftc/FTC/FTC/G0.var
152 cic:/CoRN/ftc/FTC/FTC/derG0.var
155 inline procedural "cic:/CoRN/ftc/FTC/FTC2.con" as theorem.
158 The following is another statement of the Fundamental Theorem of Calculus, also known as Barrow's rule.
163 inline procedural "cic:/CoRN/ftc/FTC/FTC/G0_inc.con" "FTC__" as definition.
171 inline procedural "cic:/CoRN/ftc/FTC/Barrow.con" as theorem.
180 Hint Resolve Continuous_prim: continuous.
184 Hint Resolve FTC1: derivate.
188 Section Limit_of_Integral_Seq
193 With these tools in our hand, we can prove several useful results.
195 %\begin{convention}% From this point onwards:
197 - [f : nat->PartIR] is a sequence of continuous functions (in [J]);
198 - [F : PartIR] is continuous in [J].
202 In the first place, if a sequence of continuous functions converges
203 then the sequence of their primitives also converges, and the limit
204 commutes with the indefinite integral.
208 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/J.var
212 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/f.var
216 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/F.var
220 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/contf.var
224 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/contF.var
232 We need to prove this result first for compact intervals.
234 %\begin{convention}% Assume that [a, b, x0 : IR] with [(f n)] and [F]
235 continuous in [[a,b]], $x0\in[a,b]$#x0∈[a,b]#; denote by
236 [(g n)] and [G] the indefinite integrals respectively of [(f n)] and
237 [F] with origin [x0].
242 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/Compact/a.var
246 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/Compact/b.var
250 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/Compact/Hab.var
254 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/Compact/contIf.var
258 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/Compact/contIF.var
264 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/Compact/convF.var
270 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/Compact/x0.var
274 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/Compact/Hx0.var
278 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/Compact/Hx0'.var
283 inline procedural "cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/Compact/g.con" "Limit_of_Integral_Seq__Compact__" as definition.
285 inline procedural "cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/Compact/G.con" "Limit_of_Integral_Seq__Compact__" as definition.
292 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/Compact/contg.var
296 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/Compact/contG.var
301 inline procedural "cic:/CoRN/ftc/FTC/fun_lim_seq_integral.con" as lemma.
308 And now we can generalize it step by step.
311 inline procedural "cic:/CoRN/ftc/FTC/limit_of_integral.con" as lemma.
313 inline procedural "cic:/CoRN/ftc/FTC/limit_of_Integral.con" as lemma.
320 Finally, with [x0, g, G] as before,
326 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/General/convF.var
332 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/General/x0.var
336 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/General/Hx0.var
341 inline procedural "cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/General/g.con" "Limit_of_Integral_Seq__General__" as definition.
343 inline procedural "cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/General/G.con" "Limit_of_Integral_Seq__General__" as definition.
348 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/General/contg.var
352 cic:/CoRN/ftc/FTC/Limit_of_Integral_Seq/General/contG.var
355 inline procedural "cic:/CoRN/ftc/FTC/fun_lim_seq_integral_IR.con" as lemma.
362 End Limit_of_Integral_Seq
366 Section Limit_of_Derivative_Seq
370 Similar results hold for the sequence of derivatives of a converging sequence; this time the proof is easier, as we can do it directly for any kind of interval.
372 %\begin{convention}% Let [g] be the sequence of derivatives of [f] and [G] be the derivative of [F].
377 cic:/CoRN/ftc/FTC/Limit_of_Derivative_Seq/J.var
381 cic:/CoRN/ftc/FTC/Limit_of_Derivative_Seq/pJ.var
385 cic:/CoRN/ftc/FTC/Limit_of_Derivative_Seq/f.var
389 cic:/CoRN/ftc/FTC/Limit_of_Derivative_Seq/g.var
393 cic:/CoRN/ftc/FTC/Limit_of_Derivative_Seq/F.var
397 cic:/CoRN/ftc/FTC/Limit_of_Derivative_Seq/G.var
401 cic:/CoRN/ftc/FTC/Limit_of_Derivative_Seq/contf.var
405 cic:/CoRN/ftc/FTC/Limit_of_Derivative_Seq/contF.var
409 cic:/CoRN/ftc/FTC/Limit_of_Derivative_Seq/convF.var
413 cic:/CoRN/ftc/FTC/Limit_of_Derivative_Seq/contg.var
417 cic:/CoRN/ftc/FTC/Limit_of_Derivative_Seq/contG.var
421 cic:/CoRN/ftc/FTC/Limit_of_Derivative_Seq/convG.var
425 cic:/CoRN/ftc/FTC/Limit_of_Derivative_Seq/derf.var
428 inline procedural "cic:/CoRN/ftc/FTC/fun_lim_seq_derivative.con" as lemma.
431 End Limit_of_Derivative_Seq
435 Section Derivative_Series
439 As a very important case of this result, we get a rule for deriving series.
443 cic:/CoRN/ftc/FTC/Derivative_Series/J.var
447 cic:/CoRN/ftc/FTC/Derivative_Series/pJ.var
451 cic:/CoRN/ftc/FTC/Derivative_Series/f.var
455 cic:/CoRN/ftc/FTC/Derivative_Series/g.var
461 cic:/CoRN/ftc/FTC/Derivative_Series/convF.var
465 cic:/CoRN/ftc/FTC/Derivative_Series/convG.var
471 cic:/CoRN/ftc/FTC/Derivative_Series/derF.var
474 inline procedural "cic:/CoRN/ftc/FTC/Derivative_FSeries.con" as lemma.
477 End Derivative_Series