ArticlePDF Available

# RUBI and integration as term re-writing

Authors:

## Abstract

We describe the development of a term-rewriting system for indenite integration; it is also called a rule-based evaluation system. The development is separated into modules, and we describe the module for a wide class of integrands containing the tangent function.
f(x)
F(x)
F(x) = f(x)
Æ
2 tan x dx =1
2ln 22 tan x22 tan x
arctan 2 tan x1
+1
2ln 22 tan x+ 22 tan x
arctan 2 tan x+ 1,
2 tan x dx =
[x]
2[x]212[x]
+2 1 + 2[x]
+12[x] + [x]
1 + 2[x] + [x] ,
= ln cos x+ ln(1 + 2 tan xtan x)
+ arctan 1 + tan x
2 tan x,
=arctan 2 tan x
1 + tan x+ arctanh 2 tan x
1tan x,
= arctan 1 + tan x
2 tan x+ arctanh 1tan x
2 tan x.
f F
F=f
dx
x=ln x ,
ln |x|,
(nπ, nπ +π/2) nZ
F=f
2 tan x x =+π/2
x=
x= (n+
1/2)π
tan x=±1
x=+π/2
x2+ 2
x43x2+ 4 dx = arctan x
2x2,
= arctan 2x+7+ arctan 2x7.
Æ
2 tan x dx =tan xcos xarccos (cos xsin x)
cos xsin x
ln cos x+2tan xcos x+ sin x.
x→ −x
f(ax +b)dx
y=ax +b y
(m+n+ 1)
m+n+ 1 ̸= 0
T1= tan(c+dx)m m 1
m1
m+n+ 1 = 0
C= 0
tanm(c+dx)(a+btan(c+dx))n
(A+Btan(c+dx) + Ctan2(c+dx)) ,
a, b, c, d, A, B, C Cm, n R
m n
B=C= 0
a2+b2= 0
u= tan(c+dx)
u
u= tan((c+dx)/2)
tan(1 + i+x)
412 tan(1 + i+x) + 9 tan(1 + i+x)2
(2 3 tan(1 + i+x))3/2dx .
m= 1 n=3/2n≤ −1
Ab2abB +
a2C= 0
1
13 tan(1 + i+x)(26 + 39 tan(1 + i+x))
23 tan(1 + i+x)dx .
tan(1 + i+x)23 tan(1 + i+x)dx .
dn T1Tn
2dx Tn
2dn Tn1
2T3(b, a, 0) dx
3 + 2 tan(1 + i+x)
23 tan(1 + i+x)dx + 223 tan(1 + i+x).
A2+B2̸= 0 a2+b2̸= 0
A+Btan(c+dx)
a+btan(c+dx)dx
1
2(ABi)1 + itan(c+dx)
a+btan(c+dx)dx+
1
2(A+Bi)1itan(c+dx)
a+btan(c+dx)dx
A2+B2= 0 bA +aB ̸= 0
A+Btan(c+dx)
a+btan(c+dx)dx
2Barctanh a+btan(c+dx)
a+bA
B
da+bA
B
+ 223 tan(1 + i+x)
23iarctanh 23 tan(1 + i+x)
23i
2 + 3iarctanh 23 tan(1 + i+x)
2+3i
(sin(c+dx))1
csc(c+dx) tan(c+dx)1
cot(c+dx)
T1= tan(c+dx), T2=a+btan(c+dx),
T3(A, B, C ) = A+Btan(c+dx) + Ctan2(c+dx).
A, B, C C
d(m+ 1) Tm
1Tn
2T3(A, B, C )dx =
AT m+1
1Tn
2+dTm+1
1Tn1
2T3(ˆ
A, ˆ
B, ˆ
C)dx ,
ˆ
A=aB(m+ 1) Abn ,
ˆ
B= (bB aA +aC)(m+ 1) ,
ˆ
C=bC(m+ 1) Ab(m+n+ 1) .
d(m+n+ 1) Tm
1Tn
2T3(A, B, C )dx =
CT m+1
1Tn
2+dTm
1Tn1
2T3(ˆ
A, ˆ
B, ˆ
C)dx ,
ˆ
A=Aa(m+n+ 1) C(m+ 1)a ,
ˆ
B= (aB +bA bC)(m+n+ 1) ,
ˆ
C=aCn +bB(m+n+ 1) .
bd(n+ 1) a2+b2Tm
1Tn
2T3dx =
Ab2abB +a2CTm
1Tn+1
2+dTm1
1Tn+1
2ˆ
T3dx ,
ˆ
A=Ab2abB +a2Cm ,
ˆ
B=b(bB +aA aC)(n+ 1) ,
ˆ
C= (m+n+ 1)(aB Ab)bma2C+ (n+ 1)b2C .
1Tn
2T3dx =
Ab2abB +a2CTm+1
1Tn+1
2+dTm
1Tn+1
2ˆ
T3dx
ˆ
A=Aa2(n+ 1) + b2(m+n+ 2)
a(bB aC)(m+ 1) ,ˆ
B=a(aB bA +bC)(n+ 1),
ˆ
C=Ab2abB +a2C(m+n+ 2) .
bd(m+n+ 1) Tm
1Tn
2T3(A, B, C )dx =
CT m
1Tn+1
2dTm1
1Tn
2ˆ
T3dx ,
ˆ
A=aCm , ˆ
B=b(CA)(m+n+ 1) ,
ˆ
C=aCm bB(m+n+ 1) .
1Tn
2T3(A, B, C )dx =
AT m+1
1Tn+1
2+dTm+1
1Tn
2ˆ
T3dx ,
ˆ
A=aB(m+ 1) Ab(m+n+ 2) ,
ˆ
B=a(AC)(m+ 1) ,ˆ
C=Ab(m+n+ 2) .
a2+b2= 0
T3
d(m+ 1) Tm
1Tn
2T3(A, B, 0) dx =
AaT m+1
1Tn1
2dTm+1
1Tn1
2T3(ˆ
A, ˆ
B, 0) dx ,
ˆ
A=Ab(n1) (Ab +Ba)(m+ 1) ,
ˆ
B=Aa(m+n)Bb(m+ 1) .
d(m+n)Tm
1Tn
2T3(A, B, 0) dx =
BbT m+1
1Tn1
2+dTm
1Tn1
2T3(ˆ
A, ˆ
B, 0) dx ,
ˆ
A=Aa(n+m)Bb(m+ 1) ,
ˆ
B=Ba(n1) + (Ab +Ba)(m+n).
2a2nd Tm
1Tn
2T3(A, B, 0) dx =
BbT m
1Tn
2+dTm1
1Tn+1
2T3(ˆ
A, ˆ
B, 0) dx ,
ˆ
A= (Ab Ba)m , ˆ
B=Bb(mn) + Aa(m+n).
2a2nd Tm
1Tn
2T3(A, B, 0) dx =
a(aA +bB)Tm+1
1Tn
2+dTm
1Tn+1
2ˆ
T3(ˆ
A, ˆ
B, 0) dx ,
ˆ
A=bB(m+ 1) + aA(m+ 2n+ 1) ,
ˆ
B= (aB Ab)(m+n+ 1) .
1Tn
2T3(A, B, 0) dx =
aBT m
1Tn
2+dTm1
1Tn
2ˆ
T3(ˆ
A, ˆ
B, 0) dx ,
ˆ
A=aBm , ˆ
B=Aam + (Aa Bb)n .
1Tn
2T3(A, B, 0) dx =
aAT m+1
1Tn
2+dTm+1
1Tn
2ˆ
T3(ˆ
A, ˆ
B, 0) dx ,
ˆ
A=Abn Ba(m+ 1) ,ˆ
B=Aa(m+n+ 1) .
ResearchGate has not been able to resolve any citations for this publication.
Book
Full-text available
Article
Full-text available
The kernel of the Mathematica language is a higher-order conditional rewrite language with sequence variables. This fact is little known. We derive some conclusions from this for the use of Mathematica as a research tool in the area of rewriting and related areas.
Conference Paper
Full-text available
Taking the specific problem domain of indefinite integration, we describe the on-going development of a repository of mathematical knowledge based on transformation rules. It is important that the repository be not confused with a look-up table. The database of transformation rules is at present encoded in Mathematica, but this is only one convenient form of the repository, and it could be readily translated into other formats. The principles upon which the set of rules is compiled is described. One important principle is minimality. The benefits of the approach are illustrated with examples, and with the results of comparisons with other approaches.
Article
An elementary function is (roughly speaking) a function of a real or complex variable which can be built up using such operations as sine, exponentiation, log, 1/tan and algebraic operations. The problem of integration in finite terms asks whether we can tell, for a given elementary function, f, whether or not the integral of f is again an elementary function. If it is elementary, then one should be able to find it in a systematic manner. In this paper, the problem is formulated precisely, the underlying theory is discussed and finally the problem is solved for those elementary functions in the subclass built up without using irrational algebraic operations
Article
This work has been supported in part by the following: the National Science Foundation under grant numbers CCR-8812843 and CDS-8922788, through the Center for Pure and Applied Mathematics and the Electronics Research Laboratory (ERL) at the University of California at Berkeley; the Defense Advanced Research Projects Agency (DoD) ARPA order #4871, monitored by Space & Naval Warfare Systems Command under contract N00039-84-C-0089, through ERL; and grants from the IBM Corporation, the State of California MICRO program, and Sun Microsystems.
Book