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.
44 cic:/CoRN/algebra/CSums/Sums/G.var
47 (* Sum1 and Sum use subtraction *)
49 inline procedural "cic:/CoRN/algebra/CSums/Sumlist.con" as definition.
51 inline procedural "cic:/CoRN/algebra/CSums/Sumx.con" as definition.
54 It is sometimes useful to view a function defined on $\{0,\ldots,i-1\}$
55 #{0, ... i-1}# as a function on the natural numbers which evaluates to
56 [Zero] when the input is greater than or equal to [i].
59 inline procedural "cic:/CoRN/algebra/CSums/part_tot_nat_fun.con" as definition.
61 inline procedural "cic:/CoRN/algebra/CSums/part_tot_nat_fun_ch1.con" as lemma.
63 inline procedural "cic:/CoRN/algebra/CSums/part_tot_nat_fun_ch2.con" as lemma.
65 (*#* [Sum0] defines the sum for [i=0..(n-1)] *)
67 inline procedural "cic:/CoRN/algebra/CSums/Sum0.con" as definition.
69 (*#* [Sum1] defines the sum for [i=m..(n-1)] *)
71 inline procedural "cic:/CoRN/algebra/CSums/Sum1.con" as definition.
73 inline procedural "cic:/CoRN/algebra/CSums/Sum.con" as definition.
77 (*#* [Sum2] is similar to [Sum1], but does not require the summand to be
78 defined outside where it is being added. *)
80 inline procedural "cic:/CoRN/algebra/CSums/Sum2.con" as definition.
82 inline procedural "cic:/CoRN/algebra/CSums/Sum_one.con" as lemma.
85 Hint Resolve Sum_one: algebra.
88 inline procedural "cic:/CoRN/algebra/CSums/Sum_empty.con" as lemma.
91 Hint Resolve Sum_empty: algebra.
94 inline procedural "cic:/CoRN/algebra/CSums/Sum_Sum.con" as lemma.
97 Hint Resolve Sum_Sum: algebra.
100 inline procedural "cic:/CoRN/algebra/CSums/Sum_first.con" as lemma.
102 inline procedural "cic:/CoRN/algebra/CSums/Sum_last.con" as lemma.
105 Hint Resolve Sum_last: algebra.
108 inline procedural "cic:/CoRN/algebra/CSums/Sum_last'.con" as lemma.
111 We add some extensionality results which will be quite useful
112 when working with integration.
115 inline procedural "cic:/CoRN/algebra/CSums/Sum0_strext.con" as lemma.
117 inline procedural "cic:/CoRN/algebra/CSums/Sum_strext.con" as lemma.
119 inline procedural "cic:/CoRN/algebra/CSums/Sumx_strext.con" as lemma.
121 inline procedural "cic:/CoRN/algebra/CSums/Sum0_strext'.con" as lemma.
123 inline procedural "cic:/CoRN/algebra/CSums/Sum_strext'.con" as lemma.
125 inline procedural "cic:/CoRN/algebra/CSums/Sum0_wd.con" as lemma.
127 inline procedural "cic:/CoRN/algebra/CSums/Sum_wd.con" as lemma.
129 inline procedural "cic:/CoRN/algebra/CSums/Sumx_wd.con" as lemma.
131 inline procedural "cic:/CoRN/algebra/CSums/Sum_wd'.con" as lemma.
133 inline procedural "cic:/CoRN/algebra/CSums/Sum2_wd.con" as lemma.
135 inline procedural "cic:/CoRN/algebra/CSums/Sum0_plus_Sum0.con" as lemma.
138 Hint Resolve Sum0_plus_Sum0: algebra.
141 inline procedural "cic:/CoRN/algebra/CSums/Sum_plus_Sum.con" as lemma.
143 inline procedural "cic:/CoRN/algebra/CSums/Sumx_plus_Sumx.con" as lemma.
145 inline procedural "cic:/CoRN/algebra/CSums/Sum2_plus_Sum2.con" as lemma.
147 inline procedural "cic:/CoRN/algebra/CSums/inv_Sum0.con" as lemma.
150 Hint Resolve inv_Sum0: algebra.
153 inline procedural "cic:/CoRN/algebra/CSums/inv_Sum.con" as lemma.
156 Hint Resolve inv_Sum: algebra.
159 inline procedural "cic:/CoRN/algebra/CSums/inv_Sumx.con" as lemma.
161 inline procedural "cic:/CoRN/algebra/CSums/inv_Sum2.con" as lemma.
163 inline procedural "cic:/CoRN/algebra/CSums/Sum_minus_Sum.con" as lemma.
166 Hint Resolve Sum_minus_Sum: algebra.
169 inline procedural "cic:/CoRN/algebra/CSums/Sumx_minus_Sumx.con" as lemma.
171 inline procedural "cic:/CoRN/algebra/CSums/Sum2_minus_Sum2.con" as lemma.
173 inline procedural "cic:/CoRN/algebra/CSums/Sum_apzero.con" as lemma.
175 inline procedural "cic:/CoRN/algebra/CSums/Sum_zero.con" as lemma.
177 inline procedural "cic:/CoRN/algebra/CSums/Sum_term.con" as lemma.
179 inline procedural "cic:/CoRN/algebra/CSums/Sum0_shift.con" as lemma.
182 Hint Resolve Sum0_shift: algebra.
185 inline procedural "cic:/CoRN/algebra/CSums/Sum_shift.con" as lemma.
187 inline procedural "cic:/CoRN/algebra/CSums/Sum_big_shift.con" as lemma.
189 inline procedural "cic:/CoRN/algebra/CSums/Sumx_Sum0.con" as lemma.
196 Implicit Arguments Sum [G].
200 Implicit Arguments Sum0 [G].
204 Implicit Arguments Sumx [G n].
208 Implicit Arguments Sum2 [G m n].
212 The next results are useful for calculating some special sums,
213 often referred to as ``Mengolli Sums''.
214 %\begin{convention}% Let [G] be an abelian group.
223 cic:/CoRN/algebra/CSums/More_Sums/G.var
226 inline procedural "cic:/CoRN/algebra/CSums/Mengolli_Sum.con" as lemma.
228 inline procedural "cic:/CoRN/algebra/CSums/Mengolli_Sum_gen.con" as lemma.
230 inline procedural "cic:/CoRN/algebra/CSums/str_Mengolli_Sum_gen.con" as lemma.
232 inline procedural "cic:/CoRN/algebra/CSums/Sumx_to_Sum.con" as lemma.
239 Hint Resolve Sum_one Sum_Sum Sum_first Sum_last Sum_last' Sum_wd
240 Sum_plus_Sum: algebra.
244 Hint Resolve Sum_minus_Sum inv_Sum inv_Sum0: algebra.