/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, cons, nil, s Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>OK Checking (1) 0 + X => X (meta X)[is acc in 0,X] [is positive in 0] [is acc in X] >>True Checking (2) s(Y) + U => s(Y + U) (fun plus>s) (fun plus=plus) subterm comparison of args w. LR LR (meta Y)[is acc in s(Y),U] [is positive in s(Y)] [is acc in Y] (meta U)[is acc in s(Y),U] [is positive in s(Y)] [is acc in U] >>True Checking (3) 0 * V => 0 (fun times>0) >>True Checking (4) s(W) * P => (W * P) + P (fun times>plus) (fun times=times) subterm comparison of args w. LR LR (meta W)[is acc in s(W),P] [is positive in s(W)] [is acc in W] (meta P)[is acc in s(W),P] [is positive in s(W)] [is acc in P] (meta P)[is acc in s(W),P] [is positive in s(W)] [is acc in P] >>True Checking (5) inc(X1) => map(plus(s(0)),X1) (fun inc>map) (fun inc>plus) (fun inc>s) (fun inc>0) (meta X1)[is acc in X1] [is acc in X1] >>True Checking (6) double(Y1) => map(times(s(s(0))),Y1) (fun double>map) (fun double>times) (fun double>s) (fun double>s) (fun double>0) (meta Y1)[is acc in Y1] [is acc in Y1] >>True Checking (7) map(G1,nil) => nil (fun map>nil) >>True Checking (8) map(H1,cons(W1,P1)) => cons(H1[W1],map(H1,P1)) (fun map>cons) (meta H1)[is acc in H1,cons(W1,P1)] [is acc in H1] (meta W1)[is acc in H1,cons(W1,P1)] [is positive in cons(W1,P1)] [is acc in W1] (fun map=map) subterm comparison of args w. LR LR (meta H1)[is acc in H1,cons(W1,P1)] [is acc in H1] (meta P1)[is acc in H1,cons(W1,P1)] [is positive in cons(W1,P1)] [is acc in P1] >>True #SN! ******** Signature ******** 0 : a cons : (a,b) -> b double : b -> b inc : b -> b map : ((a -> a),b) -> b nil : b plus : (a,a) -> a s : a -> a times : (a,a) -> a ******** Computation Rules ******** (1) 0 + X => X (2) s(Y) + U => s(Y + U) (3) 0 * V => 0 (4) s(W) * P => (W * P) + P (5) inc(X1) => map(plus(s(0)),X1) (6) double(Y1) => map(times(s(s(0))),Y1) (7) map(G1,nil) => nil (8) map(H1,cons(W1,P1)) => cons(H1[W1],map(H1,P1)) YES