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 *********************)
17 set "baseuri" "cic:/matita/CoRN-Decl/ftc/DerivativeOps".
21 (* $Id: DerivativeOps.v,v 1.3 2004/04/23 10:00:58 lcf Exp $ *)
23 include "ftc/Derivative.ma".
29 (*#* **Algebraic Operations
31 We will now prove the main results about deriving functions built from
32 the algebraic operators#. #%\footnote{%Composition presents some
33 tricky questions, and is therefore discussed in a separated
36 [F'] and [G'] will be the derivatives, respectively, of [F] and [G].
38 We begin with some technical stuff that will be necessary for division.
41 alias id "a" = "cic:/CoRN/ftc/DerivativeOps/Lemmas/a.var".
43 alias id "b" = "cic:/CoRN/ftc/DerivativeOps/Lemmas/b.var".
45 alias id "Hab" = "cic:/CoRN/ftc/DerivativeOps/Lemmas/Hab.var".
49 inline "cic:/CoRN/ftc/DerivativeOps/Lemmas/I.con" "Lemmas__".
53 alias id "F" = "cic:/CoRN/ftc/DerivativeOps/Lemmas/F.var".
57 inline "cic:/CoRN/ftc/DerivativeOps/Lemmas/P.con" "Lemmas__".
63 alias id "Fbnd" = "cic:/CoRN/ftc/DerivativeOps/Lemmas/Fbnd.var".
67 inline "cic:/CoRN/ftc/DerivativeOps/bnd_away_zero_square.con".
74 Hint Resolve bnd_away_zero_square: included.
83 We can now derive all the usual rules for deriving constant and identity functions, sums, inverses and products of functions with a known derivative.
86 alias id "a" = "cic:/CoRN/ftc/DerivativeOps/Local_Results/a.var".
88 alias id "b" = "cic:/CoRN/ftc/DerivativeOps/Local_Results/b.var".
90 alias id "Hab'" = "cic:/CoRN/ftc/DerivativeOps/Local_Results/Hab'.var".
94 inline "cic:/CoRN/ftc/DerivativeOps/Local_Results/Hab.con" "Local_Results__".
96 inline "cic:/CoRN/ftc/DerivativeOps/Local_Results/I.con" "Local_Results__".
100 inline "cic:/CoRN/ftc/DerivativeOps/Derivative_I_const.con".
102 inline "cic:/CoRN/ftc/DerivativeOps/Derivative_I_id.con".
104 alias id "F" = "cic:/CoRN/ftc/DerivativeOps/Local_Results/F.var".
106 alias id "F'" = "cic:/CoRN/ftc/DerivativeOps/Local_Results/F'.var".
108 alias id "G" = "cic:/CoRN/ftc/DerivativeOps/Local_Results/G.var".
110 alias id "G'" = "cic:/CoRN/ftc/DerivativeOps/Local_Results/G'.var".
112 alias id "derF" = "cic:/CoRN/ftc/DerivativeOps/Local_Results/derF.var".
114 alias id "derG" = "cic:/CoRN/ftc/DerivativeOps/Local_Results/derG.var".
116 inline "cic:/CoRN/ftc/DerivativeOps/Derivative_I_plus.con".
118 inline "cic:/CoRN/ftc/DerivativeOps/Derivative_I_inv.con".
120 inline "cic:/CoRN/ftc/DerivativeOps/Derivative_I_mult.con".
123 As was the case for continuity, the rule for the reciprocal function has a side condition.
128 alias id "Fbnd" = "cic:/CoRN/ftc/DerivativeOps/Local_Results/Fbnd.var".
132 inline "cic:/CoRN/ftc/DerivativeOps/Derivative_I_recip.con".
139 Hint Immediate derivative_imp_inc derivative_imp_inc': included.
143 Hint Resolve Derivative_I_const Derivative_I_id Derivative_I_plus
144 Derivative_I_inv Derivative_I_mult Derivative_I_recip: derivate.
151 alias id "a" = "cic:/CoRN/ftc/DerivativeOps/Corolaries/a.var".
153 alias id "b" = "cic:/CoRN/ftc/DerivativeOps/Corolaries/b.var".
155 alias id "Hab'" = "cic:/CoRN/ftc/DerivativeOps/Corolaries/Hab'.var".
159 inline "cic:/CoRN/ftc/DerivativeOps/Corolaries/Hab.con" "Corolaries__".
161 inline "cic:/CoRN/ftc/DerivativeOps/Corolaries/I.con" "Corolaries__".
165 alias id "F" = "cic:/CoRN/ftc/DerivativeOps/Corolaries/F.var".
167 alias id "F'" = "cic:/CoRN/ftc/DerivativeOps/Corolaries/F'.var".
169 alias id "G" = "cic:/CoRN/ftc/DerivativeOps/Corolaries/G.var".
171 alias id "G'" = "cic:/CoRN/ftc/DerivativeOps/Corolaries/G'.var".
173 alias id "derF" = "cic:/CoRN/ftc/DerivativeOps/Corolaries/derF.var".
175 alias id "derG" = "cic:/CoRN/ftc/DerivativeOps/Corolaries/derG.var".
178 From this lemmas the rules for the other algebraic operations follow directly.
181 inline "cic:/CoRN/ftc/DerivativeOps/Derivative_I_minus.con".
183 inline "cic:/CoRN/ftc/DerivativeOps/Derivative_I_scal.con".
185 inline "cic:/CoRN/ftc/DerivativeOps/Derivative_I_nth.con".
187 alias id "Gbnd" = "cic:/CoRN/ftc/DerivativeOps/Corolaries/Gbnd.var".
189 inline "cic:/CoRN/ftc/DerivativeOps/Derivative_I_div.con".
196 Hint Resolve Derivative_I_minus Derivative_I_nth Derivative_I_scal
197 Derivative_I_div: derivate.
201 Section Derivative_Sums
204 (*#* The derivation rules for families of functions are easily proved by
205 induction using the constant and addition rules.
208 alias id "a" = "cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/a.var".
210 alias id "b" = "cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/b.var".
212 alias id "Hab" = "cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/Hab.var".
214 alias id "Hab'" = "cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/Hab'.var".
218 inline "cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/I.con" "Derivative_Sums__".
222 inline "cic:/CoRN/ftc/DerivativeOps/Derivative_I_Sum0.con".
224 inline "cic:/CoRN/ftc/DerivativeOps/Derivative_I_Sumx.con".
226 inline "cic:/CoRN/ftc/DerivativeOps/Derivative_I_Sum.con".
233 Hint Resolve Derivative_I_Sum0 Derivative_I_Sum Derivative_I_Sumx: derivate.