/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) max(0,X) => X (meta X)[is acc in 0,X] [is positive in 0] [is acc in X] >>True Checking (2) max(Y,0) => Y (meta Y)[is acc in Y,0] [is acc in Y] >>True Checking (3) max(s(U),s(V)) => max(U,V) (fun max=max) 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) min(0,W) => 0 (fun min>0) >>True Checking (5) min(P,0) => 0 (fun min>0) >>True Checking (6) min(s(X1),s(Y1)) => min(X1,Y1) (fun min=min) subterm comparison of args w. LR LR (meta X1)[is acc in s(X1),s(Y1)] [is positive in s(X1)] [is acc in X1] (meta Y1)[is acc in s(X1),s(Y1)] [is positive in s(X1)] [is positive in s(Y1)] [is acc in Y1] >>True Checking (7) insert(G1,H1,nil,W1) => cons(W1,nil) (fun insert>cons) (meta W1)[is acc in G1,H1,nil,W1] [is positive in nil] [is acc in W1] (fun insert>nil) >>True Checking (8) insert(J1,F2,cons(Y2,U2),V2) => cons(J1[V2,Y2],insert(J1,F2,U2,F2[V2,Y2])) (fun insert>cons) (meta J1)[is acc in J1,F2,cons(Y2,U2),V2] [is acc in J1] (meta V2)[is acc in J1,F2,cons(Y2,U2),V2] [is positive in cons(Y2,U2)] [is acc in V2] (meta Y2)[is acc in J1,F2,cons(Y2,U2),V2] [is positive in cons(Y2,U2)] [is acc in Y2] (fun insert=insert) subterm comparison of args w. LR LR (meta J1)[is acc in J1,F2,cons(Y2,U2),V2] [is acc in J1] (meta F2)[is acc in J1,F2,cons(Y2,U2),V2] [is acc in F2] (meta U2)[is acc in J1,F2,cons(Y2,U2),V2] [is positive in cons(Y2,U2)] [is acc in U2] (meta F2)[is acc in J1,F2,cons(Y2,U2),V2] [is acc in F2] (meta V2)[is acc in J1,F2,cons(Y2,U2),V2] [is positive in cons(Y2,U2)] [is acc in V2] (meta Y2)[is acc in J1,F2,cons(Y2,U2),V2] [is positive in cons(Y2,U2)] [is acc in Y2] >>True Checking (9) sort(I2,J2,nil) => nil (fun sort>nil) >>True Checking (10) sort(F3,Z3,cons(U3,V3)) => insert(F3,Z3,sort(F3,Z3,V3),U3) (fun sort>insert) (meta F3)[is acc in F3,Z3,cons(U3,V3)] [is acc in F3] (meta Z3)[is acc in F3,Z3,cons(U3,V3)] [is acc in Z3] (fun sort=sort) subterm comparison of args w. LR LR (meta F3)[is acc in F3,Z3,cons(U3,V3)] [is acc in F3] (meta Z3)[is acc in F3,Z3,cons(U3,V3)] [is acc in Z3] (meta V3)[is acc in F3,Z3,cons(U3,V3)] [is positive in cons(U3,V3)] [is acc in V3] (meta U3)[is acc in F3,Z3,cons(U3,V3)] [is positive in cons(U3,V3)] [is acc in U3] >>True Checking (11) ascendingxb6220sort(W3) => sort(min,max,W3) (fun ascendingxb6220sort>sort) (fun ascendingxb6220sort>min) (fun ascendingxb6220sort>max) (meta W3)[is acc in W3] [is acc in W3] >>True Checking (12) descendingxb6220sort(P3) => sort(max,min,P3) (fun descendingxb6220sort>sort) (fun descendingxb6220sort>max) (fun descendingxb6220sort>min) (meta P3)[is acc in P3] [is acc in P3] >>True #SN! ******** Signature ******** 0 : a ascendingxb6220sort : b -> b cons : (a,b) -> b descendingxb6220sort : b -> b insert : (((a,a) -> a),((a,a) -> a),b,a) -> b max : (a,a) -> a min : (a,a) -> a nil : b s : a -> a sort : (((a,a) -> a),((a,a) -> a),b) -> b ******** Computation Rules ******** (1) max(0,X) => X (2) max(Y,0) => Y (3) max(s(U),s(V)) => max(U,V) (4) min(0,W) => 0 (5) min(P,0) => 0 (6) min(s(X1),s(Y1)) => min(X1,Y1) (7) insert(G1,H1,nil,W1) => cons(W1,nil) (8) insert(J1,F2,cons(Y2,U2),V2) => cons(J1[V2,Y2],insert(J1,F2,U2,F2[V2,Y2])) (9) sort(I2,J2,nil) => nil (10) sort(F3,Z3,cons(U3,V3)) => insert(F3,Z3,sort(F3,Z3,V3),U3) (11) ascendingxb6220sort(W3) => sort(min,max,W3) (12) descendingxb6220sort(P3) => sort(max,min,P3) YES