/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, false, nil, s, true Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>Regared as equal: filter2, filter Checking (1) X * 0 => 0 (fun times>0) >>True Checking (2) Y * s(U) => (Y * U) + Y (fun times>plus) (fun times=times) subterm comparison of args w. LR LR (meta Y)[is acc in Y,s(U)] [is acc in Y] (meta U)[is acc in Y,s(U)] [is positive in s(U)] [is acc in U] (meta Y)[is acc in Y,s(U)] [is acc in Y] >>True Checking (3) V + 0 => V (meta V)[is acc in V,0] [is acc in V] >>True Checking (4) 0 + W => W (meta W)[is acc in 0,W] [is positive in 0] [is acc in W] >>True Checking (5) P + s(X1) => s(P + X1) (fun plus>s) (fun plus=plus) subterm comparison of args w. LR LR (meta P)[is acc in P,s(X1)] [is acc in P] (meta X1)[is acc in P,s(X1)] [is positive in s(X1)] [is acc in X1] >>True Checking (6) 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 (7) map(H1,nil) => nil (fun map>nil) >>True Checking (8) map(I1,cons(P1,X2)) => cons(I1[P1],map(I1,X2)) (fun map>cons) (meta I1)[is acc in I1,cons(P1,X2)] [is acc in I1] (meta P1)[is acc in I1,cons(P1,X2)] [is positive in cons(P1,X2)] [is acc in P1] (fun map=map) subterm comparison of args w. LR LR (meta I1)[is acc in I1,cons(P1,X2)] [is acc in I1] (meta X2)[is acc in I1,cons(P1,X2)] [is positive in cons(P1,X2)] [is acc in X2] >>True Checking (9) filter(Z2,nil) => nil (fun filter>nil) >>True Checking (10) filter(G2,cons(V2,W2)) => filter2(G2[V2],G2,V2,W2) (fun filter=filter2) subterm comparison of args w. Arg [1,2] Arg [2,4,3,1] (meta G2)[is acc in G2,cons(V2,W2)] [is acc in G2] (meta V2)[is acc in G2,cons(V2,W2)] [is positive in cons(V2,W2)] [is acc in V2] (meta G2)[is acc in G2,cons(V2,W2)] [is acc in G2] (meta V2)[is acc in G2,cons(V2,W2)] [is positive in cons(V2,W2)] [is acc in V2] (meta W2)[is acc in G2,cons(V2,W2)] [is positive in cons(V2,W2)] [is acc in W2] >>True Checking (11) filter2(true,J2,X3,Y3) => cons(X3,filter(J2,Y3)) (fun filter2>cons) (meta X3)[is acc in true,J2,X3,Y3] [is positive in true] [is acc in X3] (fun filter2=filter) subterm comparison of args w. Arg [2,4,3,1] Arg [1,2] (meta J2)[is acc in true,J2,X3,Y3] [is positive in true] [is acc in J2] (meta Y3)[is acc in true,J2,X3,Y3] [is positive in true] [is acc in Y3] >>True Checking (12) filter2(false,G3,V3,W3) => filter(G3,W3) (fun filter2=filter) subterm comparison of args w. Arg [2,4,3,1] Arg [1,2] (meta G3)[is acc in false,G3,V3,W3] [is positive in false] [is acc in G3] (meta W3)[is acc in false,G3,V3,W3] [is positive in false] [is acc in W3] >>True #SN! ******** Signature ******** 0 : a cons : (c,d) -> d false : b filter : ((c -> b),d) -> d filter2 : (b,(c -> b),c,d) -> d map : ((c -> c),d) -> d nil : d plus : (a,a) -> a s : a -> a times : (a,a) -> a true : b ******** Computation Rules ******** (1) X * 0 => 0 (2) Y * s(U) => (Y * U) + Y (3) V + 0 => V (4) 0 + W => W (5) P + s(X1) => s(P + X1) (6) s(Y1) + U1 => s(Y1 + U1) (7) map(H1,nil) => nil (8) map(I1,cons(P1,X2)) => cons(I1[P1],map(I1,X2)) (9) filter(Z2,nil) => nil (10) filter(G2,cons(V2,W2)) => filter2(G2[V2],G2,V2,W2) (11) filter2(true,J2,X3,Y3) => cons(X3,filter(J2,Y3)) (12) filter2(false,G3,V3,W3) => filter(G3,W3) YES