]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/CoRN-Decl/tactics/DiffTactics3.ma
Concrete spaces do form a category, after all :-)
[helm.git] / helm / software / matita / contribs / CoRN-Decl / tactics / DiffTactics3.ma
1 (**************************************************************************)
2 (*       ___                                                              *)
3 (*      ||M||                                                             *)
4 (*      ||A||       A project by Andrea Asperti                           *)
5 (*      ||T||                                                             *)
6 (*      ||I||       Developers:                                           *)
7 (*      ||T||         The HELM team.                                      *)
8 (*      ||A||         http://helm.cs.unibo.it                             *)
9 (*      \   /                                                             *)
10 (*       \ /        This file is distributed under the terms of the       *)
11 (*        v         GNU General Public License Version 2                  *)
12 (*                                                                        *)
13 (**************************************************************************)
14
15 (* This file was automatically generated: do not edit *********************)
16
17 set "baseuri" "cic:/matita/CoRN-Decl/tactics/DiffTactics3".
18
19 include "CoRN.ma".
20
21 (* $Id: DiffTactics3.v,v 1.1.1.1 2004/02/05 16:25:44 lionelm Exp $ *)
22
23 (* begin hide *)
24
25 include "ftc/MoreFunSeries.ma".
26
27 include "ftc/Composition.ma".
28
29 include "tactics/DiffTactics2.ma".
30
31 (* UNEXPORTED
32 Ltac Deriv_substR :=
33   match goal with
34   |  |- (Derivative ?X1 _) =>
35       let t := derivative_of X1 in
36       apply Derivative_wdr with t
37   end.
38 *)
39
40 inline "cic:/CoRN/tactics/DiffTactics3/symbPF.ind".
41
42 (*
43   | ssum0     : nat->(nat->symbPF)->symbPF
44   | ssumx     : (n:nat)((i:nat)(lt i n)->symbPF)->symbPF
45   | ssum      : nat->nat->(nat->symbPF)->symbPF
46 *)
47
48 inline "cic:/CoRN/tactics/DiffTactics3/symb_to_PartIR.con".
49
50 inline "cic:/CoRN/tactics/DiffTactics3/symbPF_deriv.con".
51
52 (* UNEXPORTED
53 Ltac PartIR_to_symbPF f :=
54   match constr:f with
55   | ([-C-]?X3) => constr:(sconst X3)
56   | FId => constr:sid
57   | (?X3{+}?X4) =>
58       let t1 := PartIR_to_symbPF X3 with t2 := PartIR_to_symbPF X4 in
59       constr:(splus t1 t2)
60   | ({--}?X3) =>
61       let t1 := PartIR_to_symbPF X3 in
62       constr:(sinv t1)
63   | (?X3{-}?X4) =>
64       let t1 := PartIR_to_symbPF X3 with t2 := PartIR_to_symbPF X4 in
65       constr:(sminus t1 t2)
66   | (?X3{*}?X4) =>
67       let t1 := PartIR_to_symbPF X3 with t2 := PartIR_to_symbPF X4 in
68       constr:(smult t1 t2)
69   | (?X3{**}?X4) =>
70       let t := PartIR_to_symbPF X4 in
71       constr:(sscalmult X3 t)
72   | (?X3{^}?X4) =>
73       let t1 := PartIR_to_symbPF X3 in
74       constr:(snth t1 X4)
75   | ({1/}?X3) =>
76       let t1 := PartIR_to_symbPF X3 in
77       constr:(srecip t1)
78   | (?X3{/}?X4) =>
79       let t1 := PartIR_to_symbPF X3 with t2 := PartIR_to_symbPF X4 in
80       constr:(sdiv t1 t2)
81   | (?X3[o]?X4) =>
82       let t1 := PartIR_to_symbPF X3 with t2 := PartIR_to_symbPF X4 in
83       constr:(scomp t1 t2)
84   | ?X3 =>
85       let t := constr:X3 in
86       match goal with
87       | H:(Derivative ?X1 ?X2 t ?X4) |- _ =>
88           constr:(shyp X1 X2 t X4 H)
89       | H:(Diffble ?X1 ?X2 t) |- _ => constr:(shyp' X1 X2 t H)
90       end
91   end.
92 *)
93
94 (* UNEXPORTED
95 Ltac Derivative_Help :=
96   match goal with
97   |  |- (Derivative ?X1 ?X2 ?X3 ?X4) =>
98       let r := PartIR_to_symbPF X3 in
99       (apply Derivative_wdr with (symbPF_deriv r);
100         [ unfold symbPF_deriv, symb_to_PartIR in |- *
101         | simpl in |- *; Deriv ])
102   end.
103 *)
104
105 (* end hide *)
106