			/**  XSumOE **/

/*K: Evenp, Oddp, Summation */ 
/*A: K McIsaac*/
/*S: University of Western Australia, Nedlands 6009, Australia*/
/*D: May 1985*/

_Sum[Smp] : Inf

/* Rules to reduce sums that have even or odd terms only. Note that evenp and 
oddp are used to avoid the problem with Evenp and Oddp that if $j is a symbol
then Evenp[$j] : Oddp [$j] : 0 */

evenp[0] : 1
evenp[$j_=Numbp[$j]] :: Evenp[$j]

oddp[0] : 0
oddp[$j_=Numbp[$j]] :: Oddp[$j]



/* The following substitutions are to be used after the substitution 
   SSuminit in XSumM is applied */

SSumOE[1,1] :: Sum[evenp[$i] $$a,{$i,$a,$b}] ->\
			Sum[S[$$a,$i-> 2$i],{$i,$a/2,$b/2}]
SSumOE[1,2] :: Sum[evenp[$i]/$$a,{$i,$a,$b}] ->\
			Sum[1/S[$$a,$i->2$i],{$i,$a/2,$b/2}]
SSumOE[1,3] :: Sum[evenp[$i] $$a/$d,{$i,$a,$b}] ->\
			Sum[S[$$a/$d,$i->2$i],{$i,$a/2,$b/2}]

SSumOE[2,1] :: Sum[oddp[$i] $$a,{$i,$a,$b}] ->\
			Sum[S[$$a,$i->2$i+1],{$i,($a-1)/2,($b-1)/2}]
SSumOE[2,2] :: Sum[oddp[$i]/$$a,{$i,$a,$b}] ->\
			Sum[1/S[$$a,$i->2$i+1],{$i,($a-1)/2,($b-1)/2}]
SSumOE[2,3] :: Sum[oddp[$i] $$a/$d,{$i,$a,$b}] ->\
			Sum[S[$$a/$d,$i->2$i+1],{$i,($a-1)/2,($b-1)/2}]

/*W: Redefines Sum*/
/*These canonicalizations should be part of the definitions for Sum*/
Sum[$a,{$i,$s,Inf/2}] : Sum[$a,{$i,$s,Inf}]
Sum[$a,{$i,$s,(Inf-1)/2}] : Sum[$a,{$i,$s,Inf}]
Sum[$a,{$i,$s_=Oddp[2$s],$e}] : Sum[$a,{$i,$s+1/2,$e}]
Sum[$a,{$i,$s,$e_=Oddp[2$e]}] : Sum[$a,{$i,$s,$e-1/2}]


/*E:

SMP 1.5.0
Mon Dec 23 19:57:18 1985


#I[1]::  <XSumOE

#I[2]::  <XSumM;<XSumPR;

#I[3]::  Sum[oddp[i] i,{i,3,Inf}]

	 Inf
	 ---
#O[3]:*  >   (i oddp[i])
	 ---
	 i=3

#I[4]::  S[%,SSumOE]

	 Inf
	 ---
#O[4]:*  >   (1 + 2i)
	 ---
	 i=1

#I[5]::  Sum[evenp[i] a^i/(i!),{i,3,Inf}]

	 Inf
	 ---   i
#O[5]:*  >    a  evenp[i]
	 --- (-----------)
	 i=3      i!

#I[6]::  S[%,SSumOE]

	 Inf
	 ---    2i
#O[6]:*  >     a
	 --- (-----)
	 i=2  (2i)!

#I[7]::  f[$j] :: evenp[$j] 1/$j + oddp[$j] 1/($j-1)

		     1  	     1
#O[7]:   ' evenp[$j] -- + oddp[$j] ------
		     $j 	   $j - 1

#I[8]::  S[S[Sum[f[j],{j,a,22}],SSumM[3]],SSumOE]

		      10
	 11           ---
	 ---    1     > 	1
#O[8]:*  >     (--) + ---      (--)
	 ---    2j      -1 + a  2j
	 j=a/2        j=------
			  2

#I[9]::  <end>
*/
/*W: Due to Evenp and Oddp defining Oddp[$j] : Evenp[$j] : 0 when $j
is a symbol (unlike Natp, say) evenp and oddp are used. One would prefer
to use Evenp and Oddp with the reductions in XEvenOdd, ie
Evenp[i+3] : Oddp[i] etc.*/
