/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) le(0,X) => true (fun le>true) >>True Checking (2) le(s(Y),0) => false (fun le>false) >>True Checking (3) le(s(U),s(V)) => le(U,V) (fun le=le) subterm comparison of args w. LR LR (meta U)[is acc in s(U),s(V)] [is positive in s(U)] [is acc in U] (meta V)[is acc in s(U),s(V)] [is positive in s(U)] [is positive in s(V)] [is acc in V] >>True Checking (4) pred(s(W)) => W (meta W)[is acc in s(W)] [is positive in s(W)] [is acc in W] >>True Checking (5) minus(P,0) => P (meta P)[is acc in P,0] [is acc in P] >>True Checking (6) minus(X1,s(Y1)) => pred(minus(X1,Y1)) (fun minus>pred) (fun minus=minus) subterm comparison of args w. LR LR (meta X1)[is acc in X1,s(Y1)] [is acc in X1] (meta Y1)[is acc in X1,s(Y1)] [is positive in s(Y1)] [is acc in Y1] >>True Checking (7) gcd(0,U1) => U1 (meta U1)[is acc in 0,U1] [is positive in 0] [is acc in U1] >>True Checking (8) gcd(s(V1),0) => s(V1) (fun gcd>s) (meta V1)[is acc in s(V1),0] [is positive in s(V1)] [is acc in V1] >>True Checking (9) gcd(s(W1),s(P1)) => ifxb6220gcd(le(P1,W1),s(W1),s(P1)) (fun gcd>ifxb6220gcd) (fun gcd>le) (meta P1)[is acc in s(W1),s(P1)] [is positive in s(W1)] [is positive in s(P1)] [is acc in P1] (meta W1)[is acc in s(W1),s(P1)] [is positive in s(W1)] [is acc in W1] (fun gcd>s) (meta W1)[is acc in s(W1),s(P1)] [is positive in s(W1)] [is acc in W1] (fun gcd>s) (meta P1)[is acc in s(W1),s(P1)] [is positive in s(W1)] [is positive in s(P1)] [is acc in P1] >>True Checking (10) ifxb6220gcd(true,s(X2),s(Y2)) => gcd(minus(X2,Y2),s(Y2)) (fun ifxb6220gcd>gcd) (fun ifxb6220gcd>minus) (meta X2)[is acc in true,s(X2),s(Y2)] [is positive in true] [is positive in s(X2)] [is acc in X2] (meta Y2)[is acc in true,s(X2),s(Y2)] [is positive in true] [is positive in s(X2)] [is positive in s(Y2)] [is acc in Y2] (fun ifxb6220gcd>s) (meta Y2)[is acc in true,s(X2),s(Y2)] [is positive in true] [is positive in s(X2)] [is positive in s(Y2)] [is acc in Y2] >>True Checking (11) ifxb6220gcd(false,s(U2),s(V2)) => gcd(minus(V2,U2),s(U2)) (fun ifxb6220gcd>gcd) (fun ifxb6220gcd>minus) (meta V2)[is acc in false,s(U2),s(V2)] [is positive in false] [is positive in s(U2)] [is positive in s(V2)] [is acc in V2] (meta U2)[is acc in false,s(U2),s(V2)] [is positive in false] [is positive in s(U2)] [is acc in U2] (fun ifxb6220gcd>s) (meta U2)[is acc in false,s(U2),s(V2)] [is positive in false] [is positive in s(U2)] [is acc in U2] >>True Checking (12) map(I2,nil) => nil (fun map>nil) >>True Checking (13) map(J2,cons(X3,Y3)) => cons(J2[X3],map(J2,Y3)) (fun map>cons) (meta J2)[is acc in J2,cons(X3,Y3)] [is acc in J2] (meta X3)[is acc in J2,cons(X3,Y3)] [is positive in cons(X3,Y3)] [is acc in X3] (fun map=map) subterm comparison of args w. LR LR (meta J2)[is acc in J2,cons(X3,Y3)] [is acc in J2] (meta Y3)[is acc in J2,cons(X3,Y3)] [is positive in cons(X3,Y3)] [is acc in Y3] >>True Checking (14) filter(G3,nil) => nil (fun filter>nil) >>True Checking (15) filter(H3,cons(W3,P3)) => filter2(H3[W3],H3,W3,P3) (fun filter=filter2) subterm comparison of args w. Arg [1,2] Arg [2,4,3,1] (meta H3)[is acc in H3,cons(W3,P3)] [is acc in H3] (meta W3)[is acc in H3,cons(W3,P3)] [is positive in cons(W3,P3)] [is acc in W3] (meta H3)[is acc in H3,cons(W3,P3)] [is acc in H3] (meta W3)[is acc in H3,cons(W3,P3)] [is positive in cons(W3,P3)] [is acc in W3] (meta P3)[is acc in H3,cons(W3,P3)] [is positive in cons(W3,P3)] [is acc in P3] >>True Checking (16) filter2(true,F4,Y4,U4) => cons(Y4,filter(F4,U4)) (fun filter2>cons) (meta Y4)[is acc in true,F4,Y4,U4] [is positive in true] [is acc in Y4] (fun filter2=filter) subterm comparison of args w. Arg [2,4,3,1] Arg [1,2] (meta F4)[is acc in true,F4,Y4,U4] [is positive in true] [is acc in F4] (meta U4)[is acc in true,F4,Y4,U4] [is positive in true] [is acc in U4] >>True Checking (17) filter2(false,H4,W4,P4) => filter(H4,P4) (fun filter2=filter) subterm comparison of args w. Arg [2,4,3,1] Arg [1,2] (meta H4)[is acc in false,H4,W4,P4] [is positive in false] [is acc in H4] (meta P4)[is acc in false,H4,W4,P4] [is positive in false] [is acc in P4] >>True #SN! ******** Signature ******** 0 : b cons : (c,d) -> d false : a filter : ((c -> a),d) -> d filter2 : (a,(c -> a),c,d) -> d gcd : (b,b) -> b ifxb6220gcd : (a,b,b) -> b le : (b,b) -> a map : ((c -> c),d) -> d minus : (b,b) -> b nil : d pred : b -> b s : b -> b true : a ******** Computation Rules ******** (1) le(0,X) => true (2) le(s(Y),0) => false (3) le(s(U),s(V)) => le(U,V) (4) pred(s(W)) => W (5) minus(P,0) => P (6) minus(X1,s(Y1)) => pred(minus(X1,Y1)) (7) gcd(0,U1) => U1 (8) gcd(s(V1),0) => s(V1) (9) gcd(s(W1),s(P1)) => ifxb6220gcd(le(P1,W1),s(W1),s(P1)) (10) ifxb6220gcd(true,s(X2),s(Y2)) => gcd(minus(X2,Y2),s(Y2)) (11) ifxb6220gcd(false,s(U2),s(V2)) => gcd(minus(V2,U2),s(U2)) (12) map(I2,nil) => nil (13) map(J2,cons(X3,Y3)) => cons(J2[X3],map(J2,Y3)) (14) filter(G3,nil) => nil (15) filter(H3,cons(W3,P3)) => filter2(H3[W3],H3,W3,P3) (16) filter2(true,F4,Y4,U4) => cons(Y4,filter(F4,U4)) (17) filter2(false,H4,W4,P4) => filter(H4,P4) YES