1kill(all); 2done$ 3(load(zeilberger),done); 4done$ 5 6 7/* New regression tests are at end */ 8 9/*=================================================================*/ 10/* converted from testZeilberger.mac (mvdb) */ 11 12 13 14/* ------------------------------ */ 15/* Gosper's algorithm's Test File */ 16 17/* GOSPER_TEST */ 18g1:(-1)^k*k/(4*k^2-1); 19k*(-1)^k/(4*k^2-1)$ 20zb_prove(g1,k,n,parGosper(g1,k,n,0)); 21true$ 22 23g2:1/(4*k^2-1); 241/(4*k^2-1)$ 25zb_prove(g2,k,n,parGosper(g2,k,n,0)); 26true$ 27 28g3:x^k; 29x^k$ 30zb_prove(g3,k,n,parGosper(g3,k,n,0)); 31true$ 32 33g4:(-1)^k*a!/(k!*(a-k)!); 34(-1)^k*a!/(k!*(a-k)!)$ 35zb_prove(g4,k,n,parGosper(g4,k,n,0)); 36true$ 37 38g5:k*k!; 39k*k!$ 40zb_prove(g5,k,n,parGosper(g5,k,n,0)); 41true$ 42 43g6:(k+1)*k!/(k+1)!; 44(k+1)*k!/(k+1)!$ 45zb_prove(g6,k,n,parGosper(g6,k,n,0)); 46true$ 47 48 49/* --------------------------------- */ 50/* Zeiberger's Algorithm's Test File */ 51 52/* EASY_TEST */ 53f1 : binomial(n,k); 54binomial(n,k)$ 55zb_prove(f1,k,n,parGosper(f1,k,n,1)); 56true$ 57 58f2 : binomial(n,k)^2; 59binomial(n,k)^2$ 60zb_prove(f2,k,n,parGosper(f2,k,n,1)); 61true$ 62 63f3 : binomial(n,k)^3; 64binomial(n,k)^3$ 65zb_prove(f3,k,n,parGosper(f3,k,n,2)); 66true$ 67 68f4 : binomial(n,k)^4; 69 binomial(n,k)^4$ 70zb_prove(f4,k,n,parGosper(f4,k,n,2)); 71true$ 72 73/* Binomial theorem */ 74h1: binomial(n,k)*x^k; 75 binomial(n,k)*x^k$ 76zb_prove(h1,k,n,parGosper(h1,k,n,1)); 77true$ 78 79/* Vandermonde identity recurrence */ 80h2: binomial(a, k)* binomial(b, n-k); 81 binomial(a, k)* binomial(b, n-k); 82zb_prove(h2,k,n,parGosper(h2,k,n,1)); 83true$ 84 85/* Fibonacci-Recurrence */ 86h8: (-k+n)! / k! / (-2*k+n)!; 87(-k+n)! / k! / (-2*k+n)!$ 88zb_prove(h8,k,n,parGosper(h8,k,n,2)); 89true$ 90 91/* Trinomial coefficients */ 92h9: n! / k! / (k+m)! / (-2*k-m+n)!; 93n! / k! / (k+m)! / (-2*k-m+n)!$ 94zb_prove(h9,k,n,parGosper(h9,k,n,2)); 95true$ 96 97/* First special case of Strehl identity (MEMO, Feb 25, 1992) */ 98h10: binomial(n, k)^2 * binomial( 2*k, k); 99binomial(n, k)^2 * binomial( 2*k, k)$ 100zb_prove(h10,k,n,parGosper(h10,k,n,2)); 101true$ 102 103/* Fibonacci recurrence */ 104h13: (n+k)! * n! / k!^3 / (n-k)!^2; 105(n+k)! * n! / k!^3 / (n-k)!^2$ 106zb_prove(h13,k,n,parGosper(h13,k,n,2)); 107true$ 108 109/* Debugging artificial examples */ 110d1 : (2*n+k-1)!/(4*n+2*k)!; 111(2*n+k-1)!/(4*n+2*k)!$ 112zb_prove(d1,k,n,parGosper(d1,k,n,1)); 113true$ 114 115d2 : (3*n+k-1)!/(6*n+2*k)!; 116(3*n+k-1)!/(6*n+2*k)!$ 117zb_prove(d2,k,n,parGosper(d2,k,n,1)); 118true$ 119 120/* HARD_TEST */ 121/* Dixon's identity */ 122h3: binomial(n+b, n+k)* binomial(n+c, c+k)*binomial(b+c, b+k)*(-1)^k; 123 binomial(n+b, n+k)* binomial(n+c, c+k)*binomial(b+c, b+k)*(-1)^k$ 124zb_prove(h3,k,n,parGosper(h3,k,n,1)); 125true$ 126 127/* Karlsson-Gosper identity 1 */ 128h4: binomial(n,k)*(n-1/4)!/(n-k-1/4)!/(2*n+k + 1/4)!*9^(-k); 129binomial(n,k)*(n-1/4)!/(n-k-1/4)!/(2*n+k + 1/4)!*9^(-k)$ 130zb_prove(h4,k,n,parGosper(h4,k,n,1)); 131true$ 132 133/* Karlsson-Gosper identity 2 */ 134h5: binomial(n,k) * (n-1/4)! / (n-k-1/4)! / (2*n+k+5/4)! * 9^(-k); 135binomial(n,k) * (n-1/4)! / (n-k-1/4)! / (2*n+k+5/4)! * 9^(-k)$ 136zb_prove(h5,k,n,parGosper(h5,k,n,1)); 137true$ 138 139/* Laguerre-Orthogonality */ 140h7: (k+k2)! * (n1)! * (n2)! / (k)! / (n1-k)! / (k2)! / (n2-k2)! / 141 (k)! / (k2)! * (-1)^k; 142(k+k2)! * (n1)! * (n2)! / (k)! / (n1-k)! / (k2)! / (n2-k2)! / 143 (k)! / (k2)! * (-1)^k$ 144zb_prove(h7,k,n1,parGosper(h7,k,n1,1)); 145true$ 146 147/* Second special case of Strehl identity (MEMO, Feb 25, 1992) */ 148h11: binomial(n, k)^2 * binomial( 2*k, k+a); 149binomial(n, k)^2 * binomial( 2*k, k+a)$ 150zb_prove(h11,k,n,parGosper(h11,k,n,3)); 151true$ 152 153/* EXTREME_TEST */ 154/* See rtest_zeilberger_extreme.mac */ 155 156 157/* End of converted file */ 158/* ================================================== */ 159 160 161/* test for unary minus, currently failing, fixed by Andrej */ 162ratsimp(AntiDifference(-1/(k*(k+1)),k)); 1631/k$ 164 165/* suggested by Andrej */ 166AntiDifference(2^(k^2), k); 167NON_HYPERGEOMETRIC$ 168 169AntiDifference(k^k, k); 170NON_HYPERGEOMETRIC$ 171 172Zeilberger(binomial(n,i), i, n); 173[[i/(n-i+1), [2, -1]]]$ 174zb_prove(binomial(n,i),i,n,%); 175true$ 176