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: DerivativeOps.v,v 1.3 2004/04/23 10:00:58 lcf Exp $ *)
21 include "ftc/Derivative.ma".
27 (*#* **Algebraic Operations
29 We will now prove the main results about deriving functions built from
30 the algebraic operators#. #%\footnote{%Composition presents some
31 tricky questions, and is therefore discussed in a separated
34 [F'] and [G'] will be the derivatives, respectively, of [F] and [G].
36 We begin with some technical stuff that will be necessary for division.
40 cic:/CoRN/ftc/DerivativeOps/Lemmas/a.var
44 cic:/CoRN/ftc/DerivativeOps/Lemmas/b.var
48 cic:/CoRN/ftc/DerivativeOps/Lemmas/Hab.var
53 inline procedural "cic:/CoRN/ftc/DerivativeOps/Lemmas/I.con" "Lemmas__" as definition.
58 cic:/CoRN/ftc/DerivativeOps/Lemmas/F.var
63 inline procedural "cic:/CoRN/ftc/DerivativeOps/Lemmas/P.con" "Lemmas__" as definition.
70 cic:/CoRN/ftc/DerivativeOps/Lemmas/Fbnd.var
75 inline procedural "cic:/CoRN/ftc/DerivativeOps/bnd_away_zero_square.con" as lemma.
82 Hint Resolve bnd_away_zero_square: included.
91 We can now derive all the usual rules for deriving constant and identity functions, sums, inverses and products of functions with a known derivative.
95 cic:/CoRN/ftc/DerivativeOps/Local_Results/a.var
99 cic:/CoRN/ftc/DerivativeOps/Local_Results/b.var
103 cic:/CoRN/ftc/DerivativeOps/Local_Results/Hab'.var
108 inline procedural "cic:/CoRN/ftc/DerivativeOps/Local_Results/Hab.con" "Local_Results__" as definition.
110 inline procedural "cic:/CoRN/ftc/DerivativeOps/Local_Results/I.con" "Local_Results__" as definition.
114 inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_const.con" as lemma.
116 inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_id.con" as lemma.
119 cic:/CoRN/ftc/DerivativeOps/Local_Results/F.var
123 cic:/CoRN/ftc/DerivativeOps/Local_Results/F'.var
127 cic:/CoRN/ftc/DerivativeOps/Local_Results/G.var
131 cic:/CoRN/ftc/DerivativeOps/Local_Results/G'.var
135 cic:/CoRN/ftc/DerivativeOps/Local_Results/derF.var
139 cic:/CoRN/ftc/DerivativeOps/Local_Results/derG.var
142 inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_plus.con" as lemma.
144 inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_inv.con" as lemma.
146 inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_mult.con" as lemma.
149 As was the case for continuity, the rule for the reciprocal function has a side condition.
155 cic:/CoRN/ftc/DerivativeOps/Local_Results/Fbnd.var
160 inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_recip.con" as lemma.
167 Hint Immediate derivative_imp_inc derivative_imp_inc': included.
171 Hint Resolve Derivative_I_const Derivative_I_id Derivative_I_plus
172 Derivative_I_inv Derivative_I_mult Derivative_I_recip: derivate.
180 cic:/CoRN/ftc/DerivativeOps/Corolaries/a.var
184 cic:/CoRN/ftc/DerivativeOps/Corolaries/b.var
188 cic:/CoRN/ftc/DerivativeOps/Corolaries/Hab'.var
193 inline procedural "cic:/CoRN/ftc/DerivativeOps/Corolaries/Hab.con" "Corolaries__" as definition.
195 inline procedural "cic:/CoRN/ftc/DerivativeOps/Corolaries/I.con" "Corolaries__" as definition.
200 cic:/CoRN/ftc/DerivativeOps/Corolaries/F.var
204 cic:/CoRN/ftc/DerivativeOps/Corolaries/F'.var
208 cic:/CoRN/ftc/DerivativeOps/Corolaries/G.var
212 cic:/CoRN/ftc/DerivativeOps/Corolaries/G'.var
216 cic:/CoRN/ftc/DerivativeOps/Corolaries/derF.var
220 cic:/CoRN/ftc/DerivativeOps/Corolaries/derG.var
224 From this lemmas the rules for the other algebraic operations follow directly.
227 inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_minus.con" as lemma.
229 inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_scal.con" as lemma.
231 inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_nth.con" as lemma.
234 cic:/CoRN/ftc/DerivativeOps/Corolaries/Gbnd.var
237 inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_div.con" as lemma.
244 Hint Resolve Derivative_I_minus Derivative_I_nth Derivative_I_scal
245 Derivative_I_div: derivate.
249 Section Derivative_Sums
252 (*#* The derivation rules for families of functions are easily proved by
253 induction using the constant and addition rules.
257 cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/a.var
261 cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/b.var
265 cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/Hab.var
269 cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/Hab'.var
274 inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/I.con" "Derivative_Sums__" as definition.
278 inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_Sum0.con" as lemma.
280 inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_Sumx.con" as lemma.
282 inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_Sum.con" as lemma.
289 Hint Resolve Derivative_I_Sum0 Derivative_I_Sum Derivative_I_Sumx: derivate.