(**************************************************************************) (* ___ *) (* ||M|| *) (* ||A|| A project by Andrea Asperti *) (* ||T|| *) (* ||I|| Developers: *) (* ||T|| The HELM team. *) (* ||A|| http://helm.cs.unibo.it *) (* \ / *) (* \ / This file is distributed under the terms of the *) (* v GNU General Public License Version 2 *) (* *) (**************************************************************************) (* This file was automatically generated: do not edit *********************) include "CoRN.ma". (* $Id: Series.v,v 1.6 2004/04/23 10:01:05 lcf Exp $ *) (*#* printing seq_part_sum %\ensuremath{\sum^n}% #∑n# *) (*#* printing series_sum %\ensuremath{\sum_0^{\infty}}% #∑0# *) (*#* printing pi %\ensuremath{\pi}% #π *) include "reals/CSumsReals.ma". include "reals/NRootIR.ma". (* UNEXPORTED Section Definitions *) (*#* *Series of Real Numbers In this file we develop a theory of series of real numbers. ** Definitions A series is simply a sequence from the natural numbers into the reals. To each such sequence we can assign a sequence of partial sums. %\begin{convention}% Let [x:nat->IR]. %\end{convention}% *) (* UNEXPORTED cic:/CoRN/reals/Series/Definitions/x.var *) inline procedural "cic:/CoRN/reals/Series/seq_part_sum.con" as definition. (*#* For subsequent purposes it will be very useful to be able to write the difference between two arbitrary elements of the sequence of partial sums as a sum of elements of the original sequence. *) inline procedural "cic:/CoRN/reals/Series/seq_part_sum_n.con" as lemma. (*#* A series is convergent iff its sequence of partial Sums is a Cauchy sequence. To each convergent series we can assign a Sum. *) inline procedural "cic:/CoRN/reals/Series/convergent.con" as definition. inline procedural "cic:/CoRN/reals/Series/series_sum.con" as definition. (*#* Divergence can be characterized in a positive way, which will sometimes be useful. We thus define divergence of sequences and series and prove the obvious fact that no sequence can be both convergent and divergent, whether considered either as a sequence or as a series. *) inline procedural "cic:/CoRN/reals/Series/divergent_seq.con" as definition. inline procedural "cic:/CoRN/reals/Series/divergent.con" as definition. inline procedural "cic:/CoRN/reals/Series/conv_imp_not_div.con" as lemma. inline procedural "cic:/CoRN/reals/Series/div_imp_not_conv.con" as lemma. inline procedural "cic:/CoRN/reals/Series/convergent_imp_not_divergent.con" as lemma. inline procedural "cic:/CoRN/reals/Series/divergent_imp_not_convergent.con" as lemma. (*#* Finally we have the well known fact that every convergent series converges to zero as a sequence. *) inline procedural "cic:/CoRN/reals/Series/series_seq_Lim.con" as lemma. inline procedural "cic:/CoRN/reals/Series/series_seq_Lim'.con" as lemma. (* UNEXPORTED End Definitions *) (* UNEXPORTED Section More_Definitions *) (* UNEXPORTED cic:/CoRN/reals/Series/More_Definitions/x.var *) (*#* We also define absolute convergence. *) inline procedural "cic:/CoRN/reals/Series/abs_convergent.con" as definition. (* UNEXPORTED End More_Definitions *) (* UNEXPORTED Section Power_Series *) (*#* **Power Series Power series are an important special case. *) inline procedural "cic:/CoRN/reals/Series/power_series.con" as definition. (*#* Specially important is the case when [c] is a positive real number less than 1; in this case not only the power series is convergent, but we can also compute its sum. %\begin{convention}% Let [c] be a real number between 0 and 1. %\end{convention}% *) (* UNEXPORTED cic:/CoRN/reals/Series/Power_Series/c.var *) (* UNEXPORTED cic:/CoRN/reals/Series/Power_Series/H0c.var *) (* UNEXPORTED cic:/CoRN/reals/Series/Power_Series/Hc1.var *) inline procedural "cic:/CoRN/reals/Series/c_exp_Lim.con" as lemma. inline procedural "cic:/CoRN/reals/Series/power_series_Lim1.con" as lemma. inline procedural "cic:/CoRN/reals/Series/power_series_conv.con" as lemma. inline procedural "cic:/CoRN/reals/Series/power_series_sum.con" as lemma. (* UNEXPORTED End Power_Series *) (* UNEXPORTED Section Operations *) (*#* **Operations Some operations with series preserve convergence. We start by defining the series that is zero everywhere. *) inline procedural "cic:/CoRN/reals/Series/conv_zero_series.con" as lemma. inline procedural "cic:/CoRN/reals/Series/series_sum_zero.con" as lemma. (*#* Next we consider extensionality, as well as the sum and difference of two convergent series. %\begin{convention}% Let [x,y:nat->IR] be convergent series. %\end{convention}% *) (* UNEXPORTED cic:/CoRN/reals/Series/Operations/x.var *) (* UNEXPORTED cic:/CoRN/reals/Series/Operations/y.var *) (* UNEXPORTED cic:/CoRN/reals/Series/Operations/convX.var *) (* UNEXPORTED cic:/CoRN/reals/Series/Operations/convY.var *) inline procedural "cic:/CoRN/reals/Series/convergent_wd.con" as lemma. inline procedural "cic:/CoRN/reals/Series/series_sum_wd.con" as lemma. inline procedural "cic:/CoRN/reals/Series/conv_series_plus.con" as lemma. inline procedural "cic:/CoRN/reals/Series/series_sum_plus.con" as lemma. inline procedural "cic:/CoRN/reals/Series/conv_series_minus.con" as lemma. inline procedural "cic:/CoRN/reals/Series/series_sum_minus.con" as lemma. (*#* Multiplication by a scalar [c] is also permitted. *) (* UNEXPORTED cic:/CoRN/reals/Series/Operations/c.var *) inline procedural "cic:/CoRN/reals/Series/conv_series_mult_scal.con" as lemma. inline procedural "cic:/CoRN/reals/Series/series_sum_mult_scal.con" as lemma. (* UNEXPORTED End Operations *) (* UNEXPORTED Section More_Operations *) (* UNEXPORTED cic:/CoRN/reals/Series/More_Operations/x.var *) (* UNEXPORTED cic:/CoRN/reals/Series/More_Operations/convX.var *) (*#* As a corollary, we get the series of the inverses. *) inline procedural "cic:/CoRN/reals/Series/conv_series_inv.con" as lemma. inline procedural "cic:/CoRN/reals/Series/series_sum_inv.con" as lemma. (* UNEXPORTED End More_Operations *) (* UNEXPORTED Section Almost_Everywhere *) (*#* ** Almost Everywhere In this section we strengthen some of the convergence results for sequences and derive an important corollary for series. Let [x,y : nat->IR] be equal after some natural number. *) (* UNEXPORTED cic:/CoRN/reals/Series/Almost_Everywhere/x.var *) (* UNEXPORTED cic:/CoRN/reals/Series/Almost_Everywhere/y.var *) inline procedural "cic:/CoRN/reals/Series/aew_eq.con" as definition. (* UNEXPORTED cic:/CoRN/reals/Series/Almost_Everywhere/aew_equal.var *) inline procedural "cic:/CoRN/reals/Series/aew_Cauchy.con" as lemma. inline procedural "cic:/CoRN/reals/Series/aew_Cauchy2.con" as lemma. inline procedural "cic:/CoRN/reals/Series/aew_series_conv.con" as lemma. (* UNEXPORTED End Almost_Everywhere *) (* UNEXPORTED Section Cauchy_Almost_Everywhere *) (*#* Suppose furthermore that [x,y] are Cauchy sequences. *) (* UNEXPORTED cic:/CoRN/reals/Series/Cauchy_Almost_Everywhere/x.var *) (* UNEXPORTED cic:/CoRN/reals/Series/Cauchy_Almost_Everywhere/y.var *) (* UNEXPORTED cic:/CoRN/reals/Series/Cauchy_Almost_Everywhere/aew_equal.var *) inline procedural "cic:/CoRN/reals/Series/aew_Lim.con" as lemma. (* UNEXPORTED End Cauchy_Almost_Everywhere *) (* UNEXPORTED Section Convergence_Criteria *) (*#* **Convergence Criteria %\begin{convention}% Let [x:nat->IR]. %\end{convention}% *) (* UNEXPORTED cic:/CoRN/reals/Series/Convergence_Criteria/x.var *) (*#* We include the comparison test for series, both in a strong and in a less general (but simpler) form. *) inline procedural "cic:/CoRN/reals/Series/str_comparison.con" as lemma. inline procedural "cic:/CoRN/reals/Series/comparison.con" as lemma. (*#* As a corollary, we get that every absolutely convergent series converges. *) inline procedural "cic:/CoRN/reals/Series/abs_imp_conv.con" as lemma. (*#* Next we have the ratio test, both as a positive and negative result. *) inline procedural "cic:/CoRN/reals/Series/divergent_crit.con" as lemma. inline procedural "cic:/CoRN/reals/Series/tail_series.con" as lemma. inline procedural "cic:/CoRN/reals/Series/join_series.con" as lemma. (* UNEXPORTED End Convergence_Criteria *) (* UNEXPORTED Section More_CC *) (* UNEXPORTED cic:/CoRN/reals/Series/More_CC/x.var *) inline procedural "cic:/CoRN/reals/Series/ratio_test_conv.con" as lemma. inline procedural "cic:/CoRN/reals/Series/ratio_test_div.con" as lemma. (* UNEXPORTED End More_CC *) (* UNEXPORTED Section Alternate_Series *) (*#* **Alternate Series Alternate series are a special case. Suppose that [x] is nonnegative and decreasing convergent to 0. *) (* UNEXPORTED cic:/CoRN/reals/Series/Alternate_Series/x.var *) (* UNEXPORTED cic:/CoRN/reals/Series/Alternate_Series/pos_x.var *) (* UNEXPORTED cic:/CoRN/reals/Series/Alternate_Series/Lim_x.var *) (* UNEXPORTED cic:/CoRN/reals/Series/Alternate_Series/mon_x.var *) (* begin hide *) inline procedural "cic:/CoRN/reals/Series/Alternate_Series/y.con" "Alternate_Series__" as definition. inline procedural "cic:/CoRN/reals/Series/Alternate_Series/alternate_lemma1.con" "Alternate_Series__" as definition. inline procedural "cic:/CoRN/reals/Series/Alternate_Series/alternate_lemma2.con" "Alternate_Series__" as definition. inline procedural "cic:/CoRN/reals/Series/Alternate_Series/alternate_lemma3.con" "Alternate_Series__" as definition. inline procedural "cic:/CoRN/reals/Series/Alternate_Series/alternate_lemma4.con" "Alternate_Series__" as definition. (* end hide *) inline procedural "cic:/CoRN/reals/Series/alternate_series_conv.con" as lemma. (* UNEXPORTED End Alternate_Series *) (* UNEXPORTED Section Important_Numbers *) (*#* **Important Numbers We end this chapter by defining two important numbers in mathematics: [pi] and $e$#e#, both as sums of convergent series. *) inline procedural "cic:/CoRN/reals/Series/e_series.con" as definition. inline procedural "cic:/CoRN/reals/Series/e_series_conv.con" as lemma. inline procedural "cic:/CoRN/reals/Series/E.con" as definition. inline procedural "cic:/CoRN/reals/Series/pi_series.con" as definition. inline procedural "cic:/CoRN/reals/Series/pi_series_conv.con" as lemma. inline procedural "cic:/CoRN/reals/Series/pi.con" as definition. (* UNEXPORTED End Important_Numbers *)