]> matita.cs.unibo.it Git - helm.git/blobdiff - matitaB/matita/contribs/procedural/CoRN/ftc/DerivativeOps.mma
fork for Matita version B
[helm.git] / matitaB / matita / contribs / procedural / CoRN / ftc / DerivativeOps.mma
diff --git a/matitaB/matita/contribs/procedural/CoRN/ftc/DerivativeOps.mma b/matitaB/matita/contribs/procedural/CoRN/ftc/DerivativeOps.mma
new file mode 100644 (file)
index 0000000..84ded64
--- /dev/null
@@ -0,0 +1,291 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||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: DerivativeOps.v,v 1.3 2004/04/23 10:00:58 lcf Exp $ *)
+
+include "ftc/Derivative.ma".
+
+(* UNEXPORTED
+Section Lemmas
+*)
+
+(*#* **Algebraic Operations
+
+We will now prove the main results about deriving functions built from
+the algebraic operators#. #%\footnote{%Composition presents some
+tricky questions, and is therefore discussed in a separated
+context.%}.%
+
+[F'] and [G'] will be the derivatives, respectively, of [F] and [G].
+
+We begin with some technical stuff that will be necessary for division.
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Lemmas/a.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Lemmas/b.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Lemmas/Hab.var
+*)
+
+(* begin hide *)
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Lemmas/I.con" "Lemmas__" as definition.
+
+(* end hide *)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Lemmas/F.var
+*)
+
+(* begin hide *)
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Lemmas/P.con" "Lemmas__" as definition.
+
+(* end hide *)
+
+(* begin show *)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Lemmas/Fbnd.var
+*)
+
+(* end show *)
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/bnd_away_zero_square.con" as lemma.
+
+(* UNEXPORTED
+End Lemmas
+*)
+
+(* UNEXPORTED
+Hint Resolve bnd_away_zero_square: included.
+*)
+
+(* UNEXPORTED
+Section Local_Results
+*)
+
+(*#* **Local Results
+
+We can now derive all the usual rules for deriving constant and identity functions, sums, inverses and products of functions with a known derivative.
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Local_Results/a.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Local_Results/b.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Local_Results/Hab'.var
+*)
+
+(* begin hide *)
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Local_Results/Hab.con" "Local_Results__" as definition.
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Local_Results/I.con" "Local_Results__" as definition.
+
+(* end hide *)
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_const.con" as lemma.
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_id.con" as lemma.
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Local_Results/F.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Local_Results/F'.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Local_Results/G.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Local_Results/G'.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Local_Results/derF.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Local_Results/derG.var
+*)
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_plus.con" as lemma.
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_inv.con" as lemma.
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_mult.con" as lemma.
+
+(*#*
+As was the case for continuity, the rule for the reciprocal function has a side condition.
+*)
+
+(* begin show *)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Local_Results/Fbnd.var
+*)
+
+(* end show *)
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_recip.con" as lemma.
+
+(* UNEXPORTED
+End Local_Results
+*)
+
+(* UNEXPORTED
+Hint Immediate derivative_imp_inc derivative_imp_inc': included.
+*)
+
+(* UNEXPORTED
+Hint Resolve Derivative_I_const Derivative_I_id Derivative_I_plus
+  Derivative_I_inv Derivative_I_mult Derivative_I_recip: derivate.
+*)
+
+(* UNEXPORTED
+Section Corolaries
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Corolaries/a.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Corolaries/b.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Corolaries/Hab'.var
+*)
+
+(* begin hide *)
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Corolaries/Hab.con" "Corolaries__" as definition.
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Corolaries/I.con" "Corolaries__" as definition.
+
+(* end hide *)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Corolaries/F.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Corolaries/F'.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Corolaries/G.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Corolaries/G'.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Corolaries/derF.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Corolaries/derG.var
+*)
+
+(*#*
+From this lemmas the rules for the other algebraic operations follow directly.
+*)
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_minus.con" as lemma.
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_scal.con" as lemma.
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_nth.con" as lemma.
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Corolaries/Gbnd.var
+*)
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_div.con" as lemma.
+
+(* UNEXPORTED
+End Corolaries
+*)
+
+(* UNEXPORTED
+Hint Resolve Derivative_I_minus Derivative_I_nth Derivative_I_scal
+  Derivative_I_div: derivate.
+*)
+
+(* UNEXPORTED
+Section Derivative_Sums
+*)
+
+(*#* The derivation rules for families of functions are easily proved by
+induction using the constant and addition rules.
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/a.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/b.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/Hab.var
+*)
+
+(* UNEXPORTED
+cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/Hab'.var
+*)
+
+(* begin hide *)
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_Sums/I.con" "Derivative_Sums__" as definition.
+
+(* end hide *)
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_Sum0.con" as lemma.
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_Sumx.con" as lemma.
+
+inline procedural "cic:/CoRN/ftc/DerivativeOps/Derivative_I_Sum.con" as lemma.
+
+(* UNEXPORTED
+End Derivative_Sums
+*)
+
+(* UNEXPORTED
+Hint Resolve Derivative_I_Sum0 Derivative_I_Sum Derivative_I_Sumx: derivate.
+*)
+