For comparison with other CAS choose from: Derive Macsyma Maple Mathematica Reduce
(cos(x)*cos(y) == (cos(x+y) + cos(x-y))/2; _
cos(x)*sin(y) == (sin(x+y) - sin(x-y))/2; _
sin(x)*sin(y) == (cos(x-y) - cos(x+y))/2; _
cos(x)**2 == (1 + cos(2*x))/2; _
sin(x)**2 == (1 - cos(2*x))/2 )
sincosRules:= rule _
%X cos(y + x) + %X cos(- y + x) {%X cos(x)cos(y) == -------------------------------, 2 %Y sin(y + x) - %Y sin(- y + x) %Y cos(x)sin(y) == -------------------------------, 2 - %Z cos(y + x) + %Z cos(- y + x) %Z sin(x)sin(y) == ---------------------------------, 2 2 cos(2x) + 1 2 - cos(2x) + 1 cos(x) == -----------, sin(x) == -------------} 2 2 Type: Ruleset(Integer,Integer,Expression Integer)
sincosRules (a1*cos(wt) + a3*cos(3*wt) + b1*sin(wt) + b3*sin(3*wt))**3
3 3 2 2 2 2 b3 sin(3wt) + (3b1 b3 sin(wt) + 3a3 b3 cos(3wt) + 3a1 b3 cos(wt))sin(3wt) + 2 2 3b1 b3 sin(wt) + (6a3 b1 b3 cos(3wt) + 6a1 b1 b3 cos(wt))sin(wt) + 2 2 2 2 3a3 b3 cos(3wt) + 6a1 a3 b3 cos(wt)cos(3wt) + 3a1 b3 cos(wt) * sin(3wt) + 3 3 2 2 2 b1 sin(wt) + (3a3 b1 cos(3wt) + 3a1 b1 cos(wt))sin(wt) + 2 2 2 2 (3a3 b1 cos(3wt) + 6a1 a3 b1 cos(wt)cos(3wt) + 3a1 b1 cos(wt) )sin(wt) + 3 3 2 2 2 2 a3 cos(3wt) + 3a1 a3 cos(wt)cos(3wt) + 3a1 a3 cos(wt) cos(3wt) + 3 3 a1 cos(wt) Type: Expression Integer
int:= operator('int);
Type: BasicOperator
intRules:= rule _
(int(x + :y, z) == int(x, z) + int(y, z); _
int(k*x | freeOf?(k, z), z) == k*int(x, z); _
int(y | integer? y, z) == y*z; _
int(x**(?p | D(p, x) = 0), x) == x**(p+1)/(p+1) )
{int(y + x,z) == 'int(y,z) + 'int(x,z), int(k x,z) == k'int(x,z), p + 1 p x int(y,z) == y z, int(x ,x) == ------} p + 1 Type: Ruleset(Integer,Integer,Expression Integer)
intRules int(a**2*b+a**b+3*a-5, a)
b + 1 2 2 2 2 a + (a b + a )int(b,a) + (3a - 5a)b + 3a - 5a ---------------------------------------------------- b + 1 Type: Expression Integer
intRules int(a**(a+1), a)
a + 2 a ------ a + 2 Type: Expression Integer