# recurrence(f(x)) find recurrence relation between f(x) and f(x-1) to compute f(x) from f(x-1); recurrence(a_+b_) := recurrence(a,x)+recurrence(b,x); recurrence(a_*b_) := If(isfree(a,x), a*recurrence(b,x)); recurrence(mittag(a_,b_,x_)) := mittag(a,b-a,x)/x-1/gamma(b-a)/x; recurrence(x_!) := x*(x-1)!; recurrence(gamma(x_)) := x*gamma(x-1); recurrence(harmonic(x_)) := harmonic(x-1)+1/x; recurrence(harmonic(r_,x_)) := if(isfree(r,x),harmonic(r,x-1)+1/x^r); recurrence(psi(x_)) := psi(x-1)+1/x; recurrence(fibonacci(x_)) := fibonacci(x-1)+fibonacci(x-2); recurrence(sin(x_)) := sin(x-1)+sin(1/2)*cos(x+1/2)/2; recurrence(cos(x_)) := cos(x-1)-sin(1/2)*sin(x+1/2)/2; recurrence(tan(x_)) := tan(x-1)+sin(1)/cos(x+1)/cos(x); recurrence(cot(x_)) := cot(x-1)-sin(1)/sin(x+1)/sin(x); recurrence(exp(x_)) := e*exp(x-1); recurrence(x_^n_) := If(n>1, (x-1)^n-sum((-1)^k*combination(n,k)*x^(n-k),k,1,n,1)); recurrence(a_^x_) := If(isfree(a,x),a*a^(x-1)); recurrence(e^x_) := e*e^(x-1);