# lim(y, x=x0) ; #lim(k_*y_,x_=c_,d_) := If(isfree(k,x), k*lim(y,x=c,d)); #lim(k_+y_,x_=c_,d_) := If(isfree(k,x), k+lim(y,x=c,d)); #lim(y_, x_=oo) := replace(y,x=oo); lim(y_,x_,c_):=lim(y,x=c); #lim(a_^b_, x_=c_) := If(isfree(b,x), lim(a,x=c)^b, exp(lim(b*ln(a),x=c))); lim(a_^b_, x_=c_) := block(f:=lim(a,x=c),g:=lim(b,x=c),if((f<>0 or f<>oo) and g<>0 or (f<>1 and g<>oo), f^g,exp(lim(b*ln(a),x=c)) )); #lim(a_+b_, x_=c_) := block(f:=lim(a,x=c),g:=lim(b,x=c),if(f<>oo and g<> -oo, f+g )); #lim(a_*b_, x_=c_) := block(f:=lim(a,x=c),g:=lim(b,x=c),if((f<>0 and g<>oo) or (f<>oo and g<>0), f*g )); lim(a_*b_, x_=c_) := If(isfree(a,x), a*lim(b,x=c), If(isfree(b,x), b*lim(a,x=c), block(f:=lim(a,x=c),g:=lim(a,x=c),if((f<>0 and g<>oo) or (f<>oo and g<>0), f*g )))); lim(a_/b_, x_=c_) := If(isfree(a,x), a/lim(b,x=c), If(isfree(b,x), lim(a,x=c)/b, block(f:=lim(d(a,x),x=c),g:=lim(d(b,x),x=c),if((f<>0 and g<>0) or (f<>oo and g<>oo), f/g,lim(d(a,x,2),x=c)/lim(d(b,x,2),x=c) )))); lim(1/a_*b_, x_=c_) := If(isfree(a,x), lim(b,x=c)/a, If(isfree(b,x), b/lim(a,x=c), block(f:=lim(d(a,x),x=c),g:=lim(d(b,x),x=c),if((f<>0 and g<>0) or (f<>oo and g<>oo), g/f,lim(d(b,x,2),x=c)/lim(d(a,x,2),x=c) )))); lim(x_^n_*y_, x_=0) := if(n<0, d(y,x=0,-n)/(-n)!); lim(a_*x_^n_, x_=0) := if(n<0, d(a,x=0,-n)/(-n)!); lim((f(x_+h_)-f(x_))/h_, h_=0) := d(f(x)); lim(sum(y_,k_,a_,n_),n_=oo):=sum(y,k,a,oo); lim(sums(y_,k_,a_,n_),n_=oo):=sum(y,k,a,oo); #lim(x_*infsums(y_,k_),k_=oo):= If(isatom(x),x*sum(y,k,oo)); #lim(infsums(y_,k_)/x_,k_=oo):= 1/x*sum(y,k,oo); #lim(infsums(y_,k_),k_=oo):= infsum(y,k); #lim(infsums((-1)^(k_-1)*x_^k_/k_),k_=oo) := log(1+x); #lim(infsums(k_*x_^(k_-1),k_),k_=oo):=1/(x-1)^2; lim(x_^n_,x_=0,left) := If(n<0, If(iseven(n), oo, If(isodd(n), -inf )), If(n>0, 0)); lim(x_^n_,x_=0,right) := If(n<0,oo, If(n>0, 0)); lim(a_/x_,x_=0,left) := If(a>0,-oo,if(a<0,oo)); lim(a_/x_,x_=0,right) := If(a>0,oo,if(a<0,-oo)); lim(1/x_,x_=0) := NaN; lim(x_/(1+x_),x_=0) := 0; lim(1/x_*(1+x_),x_=oo) := 1; lim(x_^x_,x_=0) :=1; lim(x_^x_,x_=-inf):=0; lim(x_^sin(x_),x_=0):=1; lim((1+1/k_)^k_,k_=0,left) :=oo; lim((1+1/k_)^k_,k_=0,right) :=1; lim((1+k_)^(a_/k_),k_=0) :=exp(a); lim((1+k_)^(1/k_),k_=0) :=e; lim((1+1/k_)^k_,k_=oo) :=e; lim((1+1/k_)^(k_*a_),k_=oo) :=exp(a); lim((1+1/k_)^(k_*x_),k_=oo) :=exp(x); lim((1+1/k_*x_)^(k_*a_),k_=oo) :=exp(a*x); lim((1+x_/k_)^k_,k_=oo) :=exp(x); lim((1+a_/k_)^k_,k_=oo) :=exp(a); lim((1+a_/k_*x_)^k_,k_=oo) :=exp(a*x); lim(sin(x_)/x_,x_=oo):=0; lim(sin(1/x_)*x_,x_=oo):=1; lim(sin(1/x_)*x_,x_=-oo):=1; lim(sin(a_*x_)/x_,x_=0):=if(hasnot(a,x),a); lim(sin(a_*x_)/sin(b_*x_),x_=0):=if(hasnot(a,b,x),a/b); lim(cos(x_)/x_,x_=0,right) := oo; lim(cos(x_)/x_,x_=0,left) := -inifity; lim(tan(x_)/x_,x_=pi/2,right) :=-oo; lim(tan(x_)/x_,x_=pi/2,left) :=oo; lim(sin(x_)/x_,x_=0):=1; lim(tan(x_)/x_,x_=0) :=1; lim(asin(x_)/x_,x_=0):=1; lim(atan(x_)/x_,x_=0):=1; lim(sinh(x_)/x_,x_=0):=1; lim(tanh(x_)/x_,x_=0):=1; lim(asinh(x_)/x_,x_=0):=1; lim(atanh(x_)/x_,x_=0):=1; lim(x_*log(x_),x_=0,right) :=0; lim(log(x_)/x_,x_=0,right) :=-oo; lim(log(x_)/x_,x_=oo) :=0; lim(log(1+x_)/x_,x_=0) :=1; lim(log(1+x_)/x_,x_=oo) :=0; lim(log(1+x_)/x_,x_=(-1),right) :=oo; lim(log(x_),x_=0,right) := -oo; lim(log(x_),x_=0,left) := -oo; lim(log(x_),x_=0) := -oo; lim(exp(x_)/x_,x_=0,right) := oo; lim(exp(x_)/x_,x_=0,left) := -oo; lim(exp(1/x_),x_=0,right) := oo; lim(exp(1/x_),x_=0,left) := 0; lim(x_*exp(1/x_),x_=0,right) := oo; lim(x_*exp(1/x_),x_=0,left) := 0; lim((exp(x_)-1)/x_,x_=0):=1; lim(sin(x_),x_=c_):=sin(c); lim(x_,x_=c_):=c; lim(y_):=lim(y,x=0);