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: CSums.v,v 1.8 2004/04/23 10:00:54 lcf Exp $ *)
21 (*#* printing Sum0 %\ensuremath{\sum_0}% #∑<sub>0</sub># *)
23 (*#* printing Sum1 %\ensuremath{\sum_1}% #∑<sub>1</sub># *)
25 (*#* printing Sum2 %\ensuremath{\sum_2}% #∑<sub>2</sub># *)
27 (*#* printing Sum %\ensuremath{\sum}% #∑# *)
29 (*#* printing Sumx %\ensuremath{\sum'}% #∑'&*)
31 include "algebra/CAbGroups.ma".
35 %\begin{convention}% Let [G] be an abelian group.
43 alias id "G" = "cic:/CoRN/algebra/CSums/Sums/G.var".
45 (* Sum1 and Sum use subtraction *)
47 inline procedural "cic:/CoRN/algebra/CSums/Sumlist.con".
49 inline procedural "cic:/CoRN/algebra/CSums/Sumx.con".
52 It is sometimes useful to view a function defined on $\{0,\ldots,i-1\}$
53 #{0, ... i-1}# as a function on the natural numbers which evaluates to
54 [Zero] when the input is greater than or equal to [i].
57 inline procedural "cic:/CoRN/algebra/CSums/part_tot_nat_fun.con".
59 inline procedural "cic:/CoRN/algebra/CSums/part_tot_nat_fun_ch1.con".
61 inline procedural "cic:/CoRN/algebra/CSums/part_tot_nat_fun_ch2.con".
63 (*#* [Sum0] defines the sum for [i=0..(n-1)] *)
65 inline procedural "cic:/CoRN/algebra/CSums/Sum0.con".
67 (*#* [Sum1] defines the sum for [i=m..(n-1)] *)
69 inline procedural "cic:/CoRN/algebra/CSums/Sum1.con".
71 inline procedural "cic:/CoRN/algebra/CSums/Sum.con".
75 (*#* [Sum2] is similar to [Sum1], but does not require the summand to be
76 defined outside where it is being added. *)
78 inline procedural "cic:/CoRN/algebra/CSums/Sum2.con".
80 inline procedural "cic:/CoRN/algebra/CSums/Sum_one.con".
83 Hint Resolve Sum_one: algebra.
86 inline procedural "cic:/CoRN/algebra/CSums/Sum_empty.con".
89 Hint Resolve Sum_empty: algebra.
92 inline procedural "cic:/CoRN/algebra/CSums/Sum_Sum.con".
95 Hint Resolve Sum_Sum: algebra.
98 inline procedural "cic:/CoRN/algebra/CSums/Sum_first.con".
100 inline procedural "cic:/CoRN/algebra/CSums/Sum_last.con".
103 Hint Resolve Sum_last: algebra.
106 inline procedural "cic:/CoRN/algebra/CSums/Sum_last'.con".
109 We add some extensionality results which will be quite useful
110 when working with integration.
113 inline procedural "cic:/CoRN/algebra/CSums/Sum0_strext.con".
115 inline procedural "cic:/CoRN/algebra/CSums/Sum_strext.con".
117 inline procedural "cic:/CoRN/algebra/CSums/Sumx_strext.con".
119 inline procedural "cic:/CoRN/algebra/CSums/Sum0_strext'.con".
121 inline procedural "cic:/CoRN/algebra/CSums/Sum_strext'.con".
123 inline procedural "cic:/CoRN/algebra/CSums/Sum0_wd.con".
125 inline procedural "cic:/CoRN/algebra/CSums/Sum_wd.con".
127 inline procedural "cic:/CoRN/algebra/CSums/Sumx_wd.con".
129 inline procedural "cic:/CoRN/algebra/CSums/Sum_wd'.con".
131 inline procedural "cic:/CoRN/algebra/CSums/Sum2_wd.con".
133 inline procedural "cic:/CoRN/algebra/CSums/Sum0_plus_Sum0.con".
136 Hint Resolve Sum0_plus_Sum0: algebra.
139 inline procedural "cic:/CoRN/algebra/CSums/Sum_plus_Sum.con".
141 inline procedural "cic:/CoRN/algebra/CSums/Sumx_plus_Sumx.con".
143 inline procedural "cic:/CoRN/algebra/CSums/Sum2_plus_Sum2.con".
145 inline procedural "cic:/CoRN/algebra/CSums/inv_Sum0.con".
148 Hint Resolve inv_Sum0: algebra.
151 inline procedural "cic:/CoRN/algebra/CSums/inv_Sum.con".
154 Hint Resolve inv_Sum: algebra.
157 inline procedural "cic:/CoRN/algebra/CSums/inv_Sumx.con".
159 inline procedural "cic:/CoRN/algebra/CSums/inv_Sum2.con".
161 inline procedural "cic:/CoRN/algebra/CSums/Sum_minus_Sum.con".
164 Hint Resolve Sum_minus_Sum: algebra.
167 inline procedural "cic:/CoRN/algebra/CSums/Sumx_minus_Sumx.con".
169 inline procedural "cic:/CoRN/algebra/CSums/Sum2_minus_Sum2.con".
171 inline procedural "cic:/CoRN/algebra/CSums/Sum_apzero.con".
173 inline procedural "cic:/CoRN/algebra/CSums/Sum_zero.con".
175 inline procedural "cic:/CoRN/algebra/CSums/Sum_term.con".
177 inline procedural "cic:/CoRN/algebra/CSums/Sum0_shift.con".
180 Hint Resolve Sum0_shift: algebra.
183 inline procedural "cic:/CoRN/algebra/CSums/Sum_shift.con".
185 inline procedural "cic:/CoRN/algebra/CSums/Sum_big_shift.con".
187 inline procedural "cic:/CoRN/algebra/CSums/Sumx_Sum0.con".
194 Implicit Arguments Sum [G].
198 Implicit Arguments Sum0 [G].
202 Implicit Arguments Sumx [G n].
206 Implicit Arguments Sum2 [G m n].
210 The next results are useful for calculating some special sums,
211 often referred to as ``Mengolli Sums''.
212 %\begin{convention}% Let [G] be an abelian group.
220 alias id "G" = "cic:/CoRN/algebra/CSums/More_Sums/G.var".
222 inline procedural "cic:/CoRN/algebra/CSums/Mengolli_Sum.con".
224 inline procedural "cic:/CoRN/algebra/CSums/Mengolli_Sum_gen.con".
226 inline procedural "cic:/CoRN/algebra/CSums/str_Mengolli_Sum_gen.con".
228 inline procedural "cic:/CoRN/algebra/CSums/Sumx_to_Sum.con".
235 Hint Resolve Sum_one Sum_Sum Sum_first Sum_last Sum_last' Sum_wd
236 Sum_plus_Sum: algebra.
240 Hint Resolve Sum_minus_Sum inv_Sum inv_Sum0: algebra.