/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: cons, false, g, nil, true Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>Regared as equal: filter2, filter Checking (1) f(g(X)) => g(g(f(X))) (fun f>g) (fun f>g) (fun f=f) subterm comparison of args w. LR LR (meta X)[is acc in g(X)] [is positive in g(X)] [is acc in X] >>True Checking (2) f(g(Y)) => g(g(g(Y))) (fun f>g) (fun f>g) (fun f>g) (meta Y)[is acc in g(Y)] [is positive in g(Y)] [is acc in Y] >>True Checking (3) map(G,nil) => nil (fun map>nil) >>True Checking (4) map(H,cons(W,P)) => cons(H[W],map(H,P)) (fun map>cons) (meta H)[is acc in H,cons(W,P)] [is acc in H] (meta W)[is acc in H,cons(W,P)] [is positive in cons(W,P)] [is acc in W] (fun map=map) subterm comparison of args w. LR LR (meta H)[is acc in H,cons(W,P)] [is acc in H] (meta P)[is acc in H,cons(W,P)] [is positive in cons(W,P)] [is acc in P] >>True Checking (5) filter(F1,nil) => nil (fun filter>nil) >>True Checking (6) filter(Z1,cons(U1,V1)) => filter2(Z1[U1],Z1,U1,V1) (fun filter=filter2) subterm comparison of args w. Arg [1,2] Arg [2,4,3,1] (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] (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] (meta V1)[is acc in Z1,cons(U1,V1)] [is positive in cons(U1,V1)] [is acc in V1] >>True Checking (7) filter2(true,I1,P1,X2) => cons(P1,filter(I1,X2)) (fun filter2>cons) (meta P1)[is acc in true,I1,P1,X2] [is positive in true] [is acc in P1] (fun filter2=filter) subterm comparison of args w. Arg [2,4,3,1] Arg [1,2] (meta I1)[is acc in true,I1,P1,X2] [is positive in true] [is acc in I1] (meta X2)[is acc in true,I1,P1,X2] [is positive in true] [is acc in X2] >>True Checking (8) filter2(false,Z2,U2,V2) => filter(Z2,V2) (fun filter2=filter) subterm comparison of args w. Arg [2,4,3,1] Arg [1,2] (meta Z2)[is acc in false,Z2,U2,V2] [is positive in false] [is acc in Z2] (meta V2)[is acc in false,Z2,U2,V2] [is positive in false] [is acc in V2] >>True #SN! ******** Signature ******** cons : (c,d) -> d f : a -> a false : b filter : ((c -> b),d) -> d filter2 : (b,(c -> b),c,d) -> d g : a -> a map : ((c -> c),d) -> d nil : d true : b ******** Computation Rules ******** (1) f(g(X)) => g(g(f(X))) (2) f(g(Y)) => g(g(g(Y))) (3) map(G,nil) => nil (4) map(H,cons(W,P)) => cons(H[W],map(H,P)) (5) filter(F1,nil) => nil (6) filter(Z1,cons(U1,V1)) => filter2(Z1[U1],Z1,U1,V1) (7) filter2(true,I1,P1,X2) => cons(P1,filter(I1,X2)) (8) filter2(false,Z2,U2,V2) => filter(Z2,V2) YES