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: Exponential.v,v 1.7 2004/04/23 10:01:07 lcf Exp $ *)
21 include "transc/TaylorSeries.ma".
27 (*#* *Exponential and Logarithmic Functions
29 The main properties of the exponential and logarithmic functions.
31 **Properties of Exponential
33 Exponential is strongly extensional and well defined.
36 inline procedural "cic:/CoRN/transc/Exponential/Exp_strext.con" as lemma.
38 inline procedural "cic:/CoRN/transc/Exponential/Exp_wd.con" as lemma.
41 Hint Resolve Exp_wd: algebra.
44 inline procedural "cic:/CoRN/transc/Exponential/Exp_zero.con" as lemma.
46 (*#* $e^1=e$#e<sup>1</sup>=e#, where [e] was defined a long time ago.
49 inline procedural "cic:/CoRN/transc/Exponential/Exp_one.con" as lemma.
52 Hint Resolve Exp_zero Exp_one: algebra.
56 The exponential function is its own derivative, and continuous.
59 inline procedural "cic:/CoRN/transc/Exponential/Derivative_Exp.con" as lemma.
62 Hint Resolve Derivative_Exp: derivate.
65 inline procedural "cic:/CoRN/transc/Exponential/Continuous_Exp.con" as lemma.
68 Hint Resolve Continuous_Exp: continuous.
72 Negative numbers are projected into the interval [[0,1]].
75 inline procedural "cic:/CoRN/transc/Exponential/One_less_Exp.con" as lemma.
77 inline procedural "cic:/CoRN/transc/Exponential/One_leEq_Exp.con" as lemma.
79 inline procedural "cic:/CoRN/transc/Exponential/Exp_pos'.con" as lemma.
82 Exponential is the unique function which evaluates to 1 at 0 and is
86 inline procedural "cic:/CoRN/transc/Exponential/Exp_unique_lemma.con" as lemma.
88 inline procedural "cic:/CoRN/transc/Exponential/Exp_bnd.con" as lemma.
98 inline procedural "cic:/CoRN/transc/Exponential/Exp_unique.con" as lemma.
104 inline procedural "cic:/CoRN/transc/Exponential/Exp_plus_pos.con" as lemma.
106 (*#* The usual rules for computing the exponential of a sum. *)
108 inline procedural "cic:/CoRN/transc/Exponential/Exp_plus.con" as lemma.
111 Hint Resolve Exp_plus: algebra.
114 inline procedural "cic:/CoRN/transc/Exponential/Exp_plus'.con" as lemma.
116 inline procedural "cic:/CoRN/transc/Exponential/Exp_inv_char.con" as lemma.
119 Hint Resolve Exp_inv_char: algebra.
122 (*#* The exponential of any number is always positive---and thus apart
126 inline procedural "cic:/CoRN/transc/Exponential/Exp_pos.con" as lemma.
128 inline procedural "cic:/CoRN/transc/Exponential/Exp_ap_zero.con" as lemma.
131 And the rules for the exponential of differences.
134 inline procedural "cic:/CoRN/transc/Exponential/Exp_inv.con" as lemma.
137 Hint Resolve Exp_inv: algebra.
140 inline procedural "cic:/CoRN/transc/Exponential/Exp_minus.con" as lemma.
143 Hint Resolve Exp_minus: algebra.
146 inline procedural "cic:/CoRN/transc/Exponential/Exp_inv'.con" as lemma.
148 inline procedural "cic:/CoRN/transc/Exponential/Exp_minus'.con" as lemma.
150 (*#* Exponential is a monotonous function. *)
152 inline procedural "cic:/CoRN/transc/Exponential/Exp_less_One.con" as lemma.
154 inline procedural "cic:/CoRN/transc/Exponential/Exp_leEq_One.con" as lemma.
156 inline procedural "cic:/CoRN/transc/Exponential/Exp_resp_less.con" as lemma.
158 inline procedural "cic:/CoRN/transc/Exponential/Exp_resp_leEq.con" as lemma.
160 (*#* **Properties of Logarithm
162 The logarithm is a continuous function with derivative [One[/]x].
165 inline procedural "cic:/CoRN/transc/Exponential/Derivative_Log.con" as lemma.
168 Hint Resolve Derivative_Log: derivate.
171 inline procedural "cic:/CoRN/transc/Exponential/Continuous_Log.con" as lemma.
174 Hint Resolve Continuous_Log: continuous.
177 (*#* Logarithm of [One]. *)
179 inline procedural "cic:/CoRN/transc/Exponential/Log_one.con" as lemma.
182 Hint Resolve Log_one: algebra.
185 (*#* The logarithm is (strongly) extensional. *)
187 inline procedural "cic:/CoRN/transc/Exponential/Log_strext.con" as lemma.
189 inline procedural "cic:/CoRN/transc/Exponential/Log_wd.con" as lemma.
192 Hint Resolve Log_wd: algebra.
195 (*#* The rule for the logarithm of the product. *)
202 Transparent Logarithm.
205 inline procedural "cic:/CoRN/transc/Exponential/Log_mult.con" as lemma.
208 Hint Resolve Log_mult: algebra.
211 inline procedural "cic:/CoRN/transc/Exponential/Log_mult'.con" as lemma.
213 (*#* A characterization of the domain of the logarithm. *)
215 inline procedural "cic:/CoRN/transc/Exponential/Log_domain.con" as lemma.
218 Opaque Expon Logarithm.
221 (*#* $\log(e^x)=x$#log(e<sup>x</sup>)=x# for all [x], both as a
222 numerical and as a functional equation.
225 inline procedural "cic:/CoRN/transc/Exponential/Log_Exp_inv.con" as lemma.
227 inline procedural "cic:/CoRN/transc/Exponential/Log_Exp.con" as lemma.
230 Transparent Logarithm.
234 Hint Resolve Log_Exp: algebra.
237 inline procedural "cic:/CoRN/transc/Exponential/Exp_Log_lemma.con" as lemma.
239 (*#* The converse expression. *)
241 inline procedural "cic:/CoRN/transc/Exponential/Exp_Log.con" as lemma.
244 Hint Resolve Exp_Log: algebra.
247 (*#* Exponential and logarithm are injective. *)
249 inline procedural "cic:/CoRN/transc/Exponential/Exp_cancel.con" as lemma.
251 inline procedural "cic:/CoRN/transc/Exponential/Log_cancel.con" as lemma.
257 (*#* And the final characterization as inverse functions. *)
259 inline procedural "cic:/CoRN/transc/Exponential/Exp_Log_inv.con" as lemma.
261 inline procedural "cic:/CoRN/transc/Exponential/Log_E.con" as lemma.
264 Hint Resolve Log_E: algebra.
267 (*#* Several rules regarding inequalities. *)
269 inline procedural "cic:/CoRN/transc/Exponential/Log_cancel_less.con" as lemma.
271 inline procedural "cic:/CoRN/transc/Exponential/Log_cancel_leEq.con" as lemma.
273 inline procedural "cic:/CoRN/transc/Exponential/Log_resp_less.con" as lemma.
275 inline procedural "cic:/CoRN/transc/Exponential/Log_resp_leEq.con" as lemma.
277 inline procedural "cic:/CoRN/transc/Exponential/Exp_cancel_less.con" as lemma.
279 inline procedural "cic:/CoRN/transc/Exponential/Exp_cancel_leEq.con" as lemma.
281 inline procedural "cic:/CoRN/transc/Exponential/Log_less_Zero.con" as lemma.
283 inline procedural "cic:/CoRN/transc/Exponential/Log_leEq_Zero.con" as lemma.
285 inline procedural "cic:/CoRN/transc/Exponential/Zero_less_Log.con" as lemma.
287 inline procedural "cic:/CoRN/transc/Exponential/Zero_leEq_Log.con" as lemma.
289 (*#* Finally, rules for logarithm of quotients. *)
291 inline procedural "cic:/CoRN/transc/Exponential/Log_recip_char.con" as lemma.
293 inline procedural "cic:/CoRN/transc/Exponential/Log_recip.con" as lemma.
296 Hint Resolve Log_recip: algebra.
299 inline procedural "cic:/CoRN/transc/Exponential/Log_recip'.con" as lemma.
301 inline procedural "cic:/CoRN/transc/Exponential/Log_div.con" as lemma.
304 Hint Resolve Log_div: algebra.
307 inline procedural "cic:/CoRN/transc/Exponential/Log_div'.con" as lemma.