/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Uncurrying transformation.. done ******** 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(%X.%Y.F[%X,%Y],Y,nil) => Y (meta Y)[is acc in %X.%Y.F[%X,%Y],Y,nil] [is acc in Y] >>True Checking (2) fold(%Z.%U.G[%Z,%U],V,cons(W,P)) => G[W,fold(%V.%W.G[%V,%W],V,P)] (meta G)[is acc in %Z.%U.G[%Z,%U],V,cons(W,P)] [is acc in G[%Z,%U]] (meta W)[is acc in %Z.%U.G[%Z,%U],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 %Z.%U.G[%Z,%U],V,cons(W,P)] [is acc in G[%Z,%U]] (meta V)[is acc in %Z.%U.G[%Z,%U],V,cons(W,P)] [is acc in V] (meta P)[is acc in %Z.%U.G[%Z,%U],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 => fold(%F.%G.add(%F,%G),0) (fun sum>fold) (fun sum>add) (fun sum>0) >>True Checking (8) prod => fold(%H.%I.mul(%H,%I),s(0)) (fun prod>fold) (fun prod>mul) (fun prod>s) (fun prod>0) >>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(%X.%Y.F[%X,%Y],Y,nil) => Y (2) fold(%Z.%U.G[%Z,%U],V,cons(W,P)) => G[W,fold(%V.%W.G[%V,%W],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 => fold(%F.%G.add(%F,%G),0) (8) prod => fold(%H.%I.mul(%H,%I),s(0)) YES