/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/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) map(F1,nil) => nil (fun map>nil) >>True Checking (6) map(Z1,cons(U1,V1)) => cons(Z1[U1],map(Z1,V1)) (fun map>cons) (meta Z1)[is acc in Z1,cons(U1,V1)] [is acc in Z1] (meta U1)[is acc in Z1,cons(U1,V1)] [is positive in cons(U1,V1)] [is acc in U1] (fun map=map) subterm comparison of args w. LR LR (meta Z1)[is acc in Z1,cons(U1,V1)] [is acc in Z1] (meta V1)[is acc in Z1,cons(U1,V1)] [is positive in cons(U1,V1)] [is acc in V1] >>True Checking (7) inc => map(plus(s(0))) (fun inc>map) (fun inc>plus) (fun inc>s) (fun inc>0) >>True Checking (8) double => map(times(s(s(0)))) (fun double>map) (fun double>times) (fun double>s) (fun double>s) (fun double>0) >>True #SN! ******** Signature ******** 0 : b cons : (b,a) -> a double : a -> a inc : a -> a map : ((b -> b),a) -> a nil : a plus : (b,b) -> b s : b -> b times : (b,b) -> b ******** 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) map(F1,nil) => nil (6) map(Z1,cons(U1,V1)) => cons(Z1[U1],map(Z1,V1)) (7) inc => map(plus(s(0))) (8) double => map(times(s(s(0)))) YES