/export/starexec/sandbox2/solver/bin/starexec_run_default /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES ******** General Schema criterion ******** Found constructors: 0, add, cons, mul, nil, s Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>OK Checking (1) fold(%Y.%X.F[%Y,%X],Y,nil) => Y (meta Y)[is acc in %Y.%X.F[%Y,%X],Y,nil] [is acc in Y] >>True Checking (2) fold(%U.%Z.G[%U,%Z],V,cons(W,P)) => G[W,fold(%W.%V.G[%W,%V],V,P)] (meta G)[is acc in %U.%Z.G[%U,%Z],V,cons(W,P)] [is acc in G[%U,%Z]] (meta W)[is acc in %U.%Z.G[%U,%Z],V,cons(W,P)] [is positive in cons(W,P)] [is acc in W] (fun fold=fold) subterm comparison of args w. LR LR (meta G)[is acc in %U.%Z.G[%U,%Z],V,cons(W,P)] [is acc in G[%U,%Z]] (meta V)[is acc in %U.%Z.G[%U,%Z],V,cons(W,P)] [is acc in V] (meta P)[is acc in %U.%Z.G[%U,%Z],V,cons(W,P)] [is positive in cons(W,P)] [is acc in P] >>True Checking (3) 0 + X1 => X1 (meta X1)[is acc in 0,X1] [is positive in 0] [is acc in X1] >>True Checking (4) s(Y1) + U1 => s(Y1 + U1) (fun plus>s) (fun plus=plus) subterm comparison of args w. LR LR (meta Y1)[is acc in s(Y1),U1] [is positive in s(Y1)] [is acc in Y1] (meta U1)[is acc in s(Y1),U1] [is positive in s(Y1)] [is acc in U1] >>True Checking (5) 0 * V1 => 0 (fun times>0) >>True Checking (6) s(W1) * P1 => (W1 * P1) + P1 (fun times>plus) (fun times=times) subterm comparison of args w. LR LR (meta W1)[is acc in s(W1),P1] [is positive in s(W1)] [is acc in W1] (meta P1)[is acc in s(W1),P1] [is positive in s(W1)] [is acc in P1] (meta P1)[is acc in s(W1),P1] [is positive in s(W1)] [is acc in P1] >>True Checking (7) sum(X2) => fold(%G.%F.add(%G,%F),0,X2) (fun sum>fold) (fun sum>add) (fun sum>0) (meta X2)[is acc in X2] [is acc in X2] >>True Checking (8) prod(Y2) => fold(%I.%H.mul(%I,%H),s(0),Y2) (fun prod>fold) (fun prod>mul) (fun prod>s) (fun prod>0) (meta Y2)[is acc in Y2] [is acc in Y2] >>True #SN! ******** Signature ******** 0 : c add : (a,c) -> c cons : (a,b) -> b fold : (((a,c) -> c),c,b) -> c mul : (a,c) -> c nil : b plus : (c,c) -> c prod : b -> c s : c -> c sum : b -> c times : (c,c) -> c ******** Computation Rules ******** (1) fold(%Y.%X.F[%Y,%X],Y,nil) => Y (2) fold(%U.%Z.G[%U,%Z],V,cons(W,P)) => G[W,fold(%W.%V.G[%W,%V],V,P)] (3) 0 + X1 => X1 (4) s(Y1) + U1 => s(Y1 + U1) (5) 0 * V1 => 0 (6) s(W1) * P1 => (W1 * P1) + P1 (7) sum(X2) => fold(%G.%F.add(%G,%F),0,X2) (8) prod(Y2) => fold(%I.%H.mul(%I,%H),s(0),Y2) YES