$ echo 'card [P,Q,R] -> {[a,b,c,d,e,f] : a,b,c,d,e,f >= 0 and a+d+e = P and b+d+e+f = Q and c+e+f = R};' | ./iscc [P, Q, R] -> { (((1 + 2/3 * P - 1/2 * P^2 - 1/6 * P^3) + (1/3 + P + 1/2 * P^2) * Q + (-1/2 - 1/2 * P) * Q^2 + 1/6 * Q^3) + ((5/6 + 1/2 * P - 1/2 * P^2) + (1 + P) * Q - 1/2 * Q^2) * R + (-1/2 + 1/2 * Q) * R^2 - 1/3 * R^3) : R >= -P + Q and R <= P and Q >= 1 + P; ((1 + P) + (7/6 + 3/2 * P) * R + 1/2 * P * R^2 - 1/6 * R^3) : R <= P and R <= -1 - P + Q and R >= 0; ((1 + 5/6 * P - 1/2 * P^2 - 1/3 * P^3) + (1 + 3/2 * P + 1/2 * P^2) * Q) : P >= 0 and Q >= 1 + P and R >= 1 + Q; (((1 + 5/6 * P - 1/2 * P^2 - 1/3 * P^3) + (1/3 + P + 1/2 * P^2) * Q + (-1/2 - 1/2 * P) * Q^2 + 1/6 * Q^3) + ((2/3 + 1/2 * P) + (1 + P) * Q - 1/2 * Q^2) * R + ((-1/2 - 1/2 * P) + 1/2 * Q) * R^2 - 1/6 * R^3) : R >= -P + Q and R >= 1 + P and R <= Q; ((1 + 7/6 * P - 1/6 * P^3) + (1 + 3/2 * P + 1/2 * P^2) * R) : P >= 0 and R <= -1 - P + Q and R >= 1 + P; ((1 + Q) + (5/6 + 3/2 * Q) * R + (-1/2 + 1/2 * Q) * R^2 - 1/3 * R^3) : Q <= P and R >= 0 and R <= Q; (1 + 11/6 * Q + Q^2 + 1/6 * Q^3) : Q <= P and Q >= 0 and R >= 1 + Q } # below is the same in the old interface bash-3.00$ cat A3 # nr_constraints nr_columns 9 11 # first column: 0: equality; 1: inequality # "variables" first; then the "parameters"; finally the constant 0 1 0 0 1 1 0 -1 0 0 0 0 0 1 0 1 1 1 0 -1 0 0 0 0 0 1 0 1 1 0 0 -1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 # 5 = 1 + 3 + 1 => 3 parameters 0 5 bash-3.00$ ~/obj/barvinok/barvinok_enumerate < A3 POLYHEDRON Dimension:9 Constraints:10 Equations:3 Rays:7 Lines:0 Constraints 10 11 Equality: [ 1 0 0 1 1 0 -1 0 0 0 ] Equality: [ 0 1 0 1 1 1 0 -1 0 0 ] Equality: [ 0 0 1 0 1 1 0 0 -1 0 ] Inequality: [ 0 0 0 -1 -1 0 1 0 0 0 ] Inequality: [ 0 0 0 -1 -1 -1 0 1 0 0 ] Inequality: [ 0 0 0 0 -1 -1 0 0 1 0 ] Inequality: [ 0 0 0 1 0 0 0 0 0 0 ] Inequality: [ 0 0 0 0 1 0 0 0 0 0 ] Inequality: [ 0 0 0 0 0 1 0 0 0 0 ] Inequality: [ 0 0 0 0 0 0 0 0 0 1 ] Rays 7 11 Ray: [ 0 0 0 0 0 1 0 1 1 ] Ray: [ 0 0 0 0 1 0 1 1 1 ] Ray: [ 0 0 0 1 0 0 1 1 0 ] Ray: [ 0 0 1 0 0 0 0 0 1 ] Ray: [ 0 1 0 0 0 0 0 1 0 ] Ray: [ 1 0 0 0 0 0 1 0 0 ] Vertex: [ 0 0 0 0 0 0 0 0 0 ]/1 POLYHEDRON Dimension:3 Constraints:1 Equations:0 Rays:4 Lines:3 Constraints 1 5 Inequality: [ 0 0 0 1 ] Rays 4 5 Line: [ 1 0 0 ] Line: [ 0 1 0 ] Line: [ 0 0 1 ] Vertex: [ 0 0 0 ]/1 P - Q + R -1 >= 0 Q - R -1 >= 0 - P + R -1 >= 0 1 >= 0 ( -1/3 * P^3 + ( 1/2 * Q + -1/2 ) * P^2 + ( -1/2 * Q^2 + ( 1 * R + 1 ) * Q + ( -1/2 * R^2 + 1/2 * R + 5/6 ) ) * P + ( 1/6 * Q^3 + ( -1/2 * R + -1/2 ) * Q^2 + ( 1/2 * R^2 + 1 * R + 1/3 ) * Q + ( -1/6 * R^3 + -1/2 * R^2 + 2/3 * R + 1 ) ) ) P - R >= 0 P - Q + R -1 >= 0 - P + Q -1 >= 0 1 >= 0 ( -1/6 * P^3 + ( 1/2 * Q + ( -1/2 * R + -1/2 ) ) * P^2 + ( -1/2 * Q^2 + ( 1 * R + 1 ) * Q + ( 1/2 * R + 2/3 ) ) * P + ( 1/6 * Q^3 + ( -1/2 * R + -1/2 ) * Q^2 + ( 1/2 * R^2 + 1 * R + 1/3 ) * Q + ( -1/3 * R^3 + -1/2 * R^2 + 5/6 * R + 1 ) ) ) P - Q >= 0 R >= 0 Q - R -1 >= 0 1 >= 0 ( ( 1/2 * R^2 + 3/2 * R + 1 ) * Q + ( -1/3 * R^3 + -1/2 * R^2 + 5/6 * R + 1 ) ) - Q + R >= 0 P >= 0 - P + Q -1 >= 0 1 >= 0 ( -1/3 * P^3 + ( 1/2 * Q + -1/2 ) * P^2 + ( 3/2 * Q + 5/6 ) * P + ( 1 * Q + 1 ) ) - Q + R >= 0 P - Q >= 0 Q >= 0 1 >= 0 ( 1/6 * Q^3 + 1 * Q^2 + 11/6 * Q + 1 ) - P + Q - R >= 0 P >= 0 - P + R -1 >= 0 1 >= 0 ( -1/6 * P^3 + ( 1/2 * R + 0 ) * P^2 + ( 3/2 * R + 7/6 ) * P + ( 1 * R + 1 ) ) - P + Q - R >= 0 P - R >= 0 R >= 0 1 >= 0 ( ( 1/2 * R^2 + 3/2 * R + 1 ) * P + ( -1/6 * R^3 + 0 * R^2 + 7/6 * R + 1 ) )