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: NRootIR.v,v 1.5 2004/04/23 10:01:05 lcf Exp $ *)
21 (*#* printing NRoot %\ensuremath{\sqrt[n]{\cdot}}% *)
23 (*#* printing sqrt %\ensuremath{\sqrt{\cdot}}% *)
25 include "reals/OddPolyRootIR.ma".
27 (*#* * Roots of Real Numbers *)
33 (*#* ** Existence of roots
35 %\begin{convention}% Let [n] be a natural number and [c] a nonnegative real.
36 [p] is the auxiliary polynomial [_X_[^]n[-] (_C_ c)].
40 alias id "n" = "cic:/CoRN/reals/NRootIR/NRoot/n.var".
42 alias id "n_pos" = "cic:/CoRN/reals/NRootIR/NRoot/n_pos.var".
44 alias id "c" = "cic:/CoRN/reals/NRootIR/NRoot/c.var".
46 alias id "c_nonneg" = "cic:/CoRN/reals/NRootIR/NRoot/c_nonneg.var".
50 inline procedural "cic:/CoRN/reals/NRootIR/NRoot/p.con" "NRoot__".
54 inline procedural "cic:/CoRN/reals/NRootIR/CnrootIR.con".
60 (*#* We define the root of order [n] for any nonnegative real number and
61 prove its main properties:
62 - $\left(\sqrt[n]x\right)^n=x$#(sqrt(n) x)^n =x#;
63 - $0\leq\sqrt[n]x$#0≤sqrt(n)x#;
64 - if [Zero [<] x] then $0<\sqrt[n]x$#0<sqrt(n)x#;
65 - $\sqrt[n]{x^n}=x$#sqrt(n) x^n =x#;
66 - the nth root is monotonous;
67 - in particular, if [x [<] One] then $\sqrt[n]x<1$#sqrt(n) x<1#.
69 [(nroot ??)] will be written as [NRoot].
76 inline procedural "cic:/CoRN/reals/NRootIR/nroot.con".
78 inline procedural "cic:/CoRN/reals/NRootIR/NRoot.con".
80 inline procedural "cic:/CoRN/reals/NRootIR/NRoot_power.con".
83 Hint Resolve NRoot_power: algebra.
86 inline procedural "cic:/CoRN/reals/NRootIR/NRoot_nonneg.con".
88 inline procedural "cic:/CoRN/reals/NRootIR/NRoot_pos.con".
90 inline procedural "cic:/CoRN/reals/NRootIR/NRoot_power'.con".
92 inline procedural "cic:/CoRN/reals/NRootIR/NRoot_pres_less.con".
94 inline procedural "cic:/CoRN/reals/NRootIR/NRoot_less_one.con".
96 inline procedural "cic:/CoRN/reals/NRootIR/NRoot_cancel.con".
98 (*#* %\begin{convention}% Let [x,y] be nonnegative real numbers.
101 alias id "x" = "cic:/CoRN/reals/NRootIR/Nth_Root/x.var".
103 alias id "y" = "cic:/CoRN/reals/NRootIR/Nth_Root/y.var".
105 alias id "Hx" = "cic:/CoRN/reals/NRootIR/Nth_Root/Hx.var".
107 alias id "Hy" = "cic:/CoRN/reals/NRootIR/Nth_Root/Hy.var".
109 inline procedural "cic:/CoRN/reals/NRootIR/NRoot_wd.con".
111 inline procedural "cic:/CoRN/reals/NRootIR/NRoot_unique.con".
118 Implicit Arguments NRoot [x n].
122 Hint Resolve NRoot_power NRoot_power': algebra.
125 inline procedural "cic:/CoRN/reals/NRootIR/NRoot_resp_leEq.con".
127 (*#**********************************)
133 (*#**********************************)
135 (*#* ** Square root *)
137 inline procedural "cic:/CoRN/reals/NRootIR/sqrt.con".
139 inline procedural "cic:/CoRN/reals/NRootIR/sqrt_sqr.con".
142 Hint Resolve sqrt_sqr: algebra.
145 inline procedural "cic:/CoRN/reals/NRootIR/sqrt_nonneg.con".
147 inline procedural "cic:/CoRN/reals/NRootIR/sqrt_wd.con".
150 Hint Resolve sqrt_wd: algebra_c.
153 inline procedural "cic:/CoRN/reals/NRootIR/sqrt_to_nonneg.con".
155 inline procedural "cic:/CoRN/reals/NRootIR/sqrt_to_nonpos.con".
157 inline procedural "cic:/CoRN/reals/NRootIR/sqrt_mult.con".
160 Hint Resolve sqrt_mult: algebra.
163 inline procedural "cic:/CoRN/reals/NRootIR/sqrt_mult_wd.con".
165 inline procedural "cic:/CoRN/reals/NRootIR/sqrt_less.con".
167 inline procedural "cic:/CoRN/reals/NRootIR/sqrt_less'.con".
169 inline procedural "cic:/CoRN/reals/NRootIR/sqrt_resp_leEq.con".
171 inline procedural "cic:/CoRN/reals/NRootIR/sqrt_resp_less.con".
178 Hint Resolve sqrt_wd: algebra_c.
182 Hint Resolve sqrt_sqr sqrt_mult: algebra.
186 Section Absolute_Props
189 (*#* ** More on absolute value
191 With the help of square roots, we can prove some more properties of absolute
195 inline procedural "cic:/CoRN/reals/NRootIR/AbsIR_sqrt_sqr.con".
198 Hint Resolve AbsIR_sqrt_sqr: algebra.
201 inline procedural "cic:/CoRN/reals/NRootIR/AbsIR_resp_mult.con".
203 inline procedural "cic:/CoRN/reals/NRootIR/AbsIR_mult_pos.con".
205 inline procedural "cic:/CoRN/reals/NRootIR/AbsIR_mult_pos'.con".
207 inline procedural "cic:/CoRN/reals/NRootIR/AbsIR_nexp.con".
209 inline procedural "cic:/CoRN/reals/NRootIR/AbsIR_nexp_op.con".
211 inline procedural "cic:/CoRN/reals/NRootIR/AbsIR_less_square.con".
213 inline procedural "cic:/CoRN/reals/NRootIR/AbsIR_leEq_square.con".
215 inline procedural "cic:/CoRN/reals/NRootIR/AbsIR_division.con".
217 (*#* Some special cases. *)
219 inline procedural "cic:/CoRN/reals/NRootIR/AbsIR_recip.con".
221 inline procedural "cic:/CoRN/reals/NRootIR/AbsIR_div_two.con".
223 (*#* Cauchy-Schwartz for IR and variants on that subject. *)
225 inline procedural "cic:/CoRN/reals/NRootIR/triangle_IR.con".
227 inline procedural "cic:/CoRN/reals/NRootIR/triangle_SumIR.con".
229 inline procedural "cic:/CoRN/reals/NRootIR/triangle_IR_minus.con".
231 inline procedural "cic:/CoRN/reals/NRootIR/weird_triangleIR.con".
233 inline procedural "cic:/CoRN/reals/NRootIR/triangle_IR_minus'.con".
235 inline procedural "cic:/CoRN/reals/NRootIR/triangle_SumxIR.con".
237 inline procedural "cic:/CoRN/reals/NRootIR/triangle_Sum2IR.con".
239 inline procedural "cic:/CoRN/reals/NRootIR/AbsIR_str_bnd_AbsIR.con".
241 inline procedural "cic:/CoRN/reals/NRootIR/AbsIR_bnd_AbsIR.con".
251 (*#* **Cauchy sequences
253 With these results, we can also prove that the sequence of reciprocals of a
254 Cauchy sequence that is never zero and whose Limit is not zero is also a
258 inline procedural "cic:/CoRN/reals/NRootIR/Cauchy_Lim_recip.con".
260 inline procedural "cic:/CoRN/reals/NRootIR/Cauchy_recip.con".
262 inline procedural "cic:/CoRN/reals/NRootIR/Lim_recip.con".