/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, node, s Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>OK Checking (1) map(F,nil) => nil (fun map>nil) >>True Checking (2) map(Z,cons(U,V)) => cons(Z[U],map(Z,V)) (fun map>cons) (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta U)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in U] (fun map=map) subterm comparison of args w. LR LR (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta V)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in V] >>True Checking (3) sum(cons(W,P)) => W + sum(P) (fun sum>plus) (meta W)[is acc in cons(W,P)] [is positive in cons(W,P)] [is acc in W] (fun sum=sum) subterm comparison of args w. LR LR (meta P)[is acc in cons(W,P)] [is positive in cons(W,P)] [is acc in P] >>True Checking (4) size(node(X1,Y1)) => s(sum(map(size,Y1))) (fun size>s) (fun size>sum) (fun size>map) (fun size=size) subterm comparison of args w. LR LR >>False Try again using status RL Checking (1) map(F,nil) => nil (fun map>nil) >>True Checking (2) map(Z,cons(U,V)) => cons(Z[U],map(Z,V)) (fun map>cons) (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta U)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in U] (fun map=map) subterm comparison of args w. RL RL (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta V)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in V] >>True Checking (3) sum(cons(W,P)) => W + sum(P) (fun sum>plus) (meta W)[is acc in cons(W,P)] [is positive in cons(W,P)] [is acc in W] (fun sum=sum) subterm comparison of args w. RL RL (meta P)[is acc in cons(W,P)] [is positive in cons(W,P)] [is acc in P] >>True Checking (4) size(node(X1,Y1)) => s(sum(map(size,Y1))) (fun size>s) (fun size>sum) (fun size>map) (fun size=size) subterm comparison of args w. RL RL >>False Try again using status Mul Checking (1) map(F,nil) => nil (fun map>nil) >>True Checking (2) map(Z,cons(U,V)) => cons(Z[U],map(Z,V)) (fun map>cons) (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta U)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in U] (fun map=map) subterm comparison of args w. Mul Mul (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta V)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in V] >>True Checking (3) sum(cons(W,P)) => W + sum(P) (fun sum>plus) (meta W)[is acc in cons(W,P)] [is positive in cons(W,P)] [is acc in W] (fun sum=sum) subterm comparison of args w. Mul Mul (meta P)[is acc in cons(W,P)] [is positive in cons(W,P)] [is acc in P] >>True Checking (4) size(node(X1,Y1)) => s(sum(map(size,Y1))) (fun size>s) (fun size>sum) (fun size>map) (fun size=size) subterm comparison of args w. Mul Mul (meta Y1)[is acc in node(X1,Y1)] [is positive in node(X1,Y1)] [is acc in Y1] >>True Checking (5) 0 + U1 => 0 (fun plus>0) >>True Checking (6) s(V1) + W1 => s(V1 + W1) (fun plus>s) (fun plus=plus) subterm comparison of args w. Mul Mul (meta V1)[is acc in s(V1),W1] [is positive in s(V1)] [is acc in V1] (meta W1)[is acc in s(V1),W1] [is positive in s(V1)] [is acc in W1] >>True #SN! ******** Signature ******** 0 : c cons : (c,b) -> b map : ((c -> c),b) -> b nil : b node : (a,b) -> c plus : (c,c) -> c s : c -> c size : c -> c sum : b -> c ******** Computation Rules ******** (1) map(F,nil) => nil (2) map(Z,cons(U,V)) => cons(Z[U],map(Z,V)) (3) sum(cons(W,P)) => W + sum(P) (4) size(node(X1,Y1)) => s(sum(map(size,Y1))) (5) 0 + U1 => 0 (6) s(V1) + W1 => s(V1 + W1) YES