/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, nil, or, true Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>Regared as equal: filter2, filter Checking (1) not(not(X)) => X (meta X)[is acc in not(X)] [is positive in not(X)] [is acc in X] >>True Checking (2) not(or(Y,U)) => and(not(Y),not(U)) (fun not>and) (fun not=not) subterm comparison of args w. LR LR (meta Y)[is acc in or(Y,U)] [is positive in or(Y,U)] [is acc in Y] (fun not=not) subterm comparison of args w. LR LR (meta U)[is acc in or(Y,U)] [is positive in or(Y,U)] [is acc in U] >>True Checking (3) not(and(V,W)) => or(not(V),not(W)) (fun not>or) (fun not=not) subterm comparison of args w. LR LR (meta V)[is acc in and(V,W)] [is positive in and(V,W)] [is acc in V] (fun not=not) subterm comparison of args w. LR LR (meta W)[is acc in and(V,W)] [is positive in and(V,W)] [is acc in W] >>True Checking (4) and(P,or(X1,Y1)) => or(and(P,X1),and(P,Y1)) (fun and>or) (fun and=and) subterm comparison of args w. LR LR (meta P)[is acc in P,or(X1,Y1)] [is acc in P] (meta X1)[is acc in P,or(X1,Y1)] [is positive in or(X1,Y1)] [is acc in X1] (fun and=and) subterm comparison of args w. LR LR (meta P)[is acc in P,or(X1,Y1)] [is acc in P] (meta Y1)[is acc in P,or(X1,Y1)] [is positive in or(X1,Y1)] [is acc in Y1] >>True Checking (5) and(or(V1,W1),U1) => or(and(U1,V1),and(U1,W1)) (fun and>or) (fun and=and) subterm comparison of args w. LR LR >>False Try again using status RL Checking (1) not(not(X)) => X (meta X)[is acc in not(X)] [is positive in not(X)] [is acc in X] >>True Checking (2) not(or(Y,U)) => and(not(Y),not(U)) (fun not>and) (fun not=not) subterm comparison of args w. RL RL (meta Y)[is acc in or(Y,U)] [is positive in or(Y,U)] [is acc in Y] (fun not=not) subterm comparison of args w. RL RL (meta U)[is acc in or(Y,U)] [is positive in or(Y,U)] [is acc in U] >>True Checking (3) not(and(V,W)) => or(not(V),not(W)) (fun not>or) (fun not=not) subterm comparison of args w. RL RL (meta V)[is acc in and(V,W)] [is positive in and(V,W)] [is acc in V] (fun not=not) subterm comparison of args w. RL RL (meta W)[is acc in and(V,W)] [is positive in and(V,W)] [is acc in W] >>True Checking (4) and(P,or(X1,Y1)) => or(and(P,X1),and(P,Y1)) (fun and>or) (fun and=and) subterm comparison of args w. RL RL (meta P)[is acc in P,or(X1,Y1)] [is acc in P] (meta X1)[is acc in P,or(X1,Y1)] [is positive in or(X1,Y1)] [is acc in X1] (fun and=and) subterm comparison of args w. RL RL (meta P)[is acc in P,or(X1,Y1)] [is acc in P] (meta Y1)[is acc in P,or(X1,Y1)] [is positive in or(X1,Y1)] [is acc in Y1] >>True Checking (5) and(or(V1,W1),U1) => or(and(U1,V1),and(U1,W1)) (fun and>or) (fun and=and) subterm comparison of args w. RL RL >>False Try again using status Mul Checking (1) not(not(X)) => X (meta X)[is acc in not(X)] [is positive in not(X)] [is acc in X] >>True Checking (2) not(or(Y,U)) => and(not(Y),not(U)) (fun not>and) (fun not=not) subterm comparison of args w. Mul Mul (meta Y)[is acc in or(Y,U)] [is positive in or(Y,U)] [is acc in Y] (fun not=not) subterm comparison of args w. Mul Mul (meta U)[is acc in or(Y,U)] [is positive in or(Y,U)] [is acc in U] >>True Checking (3) not(and(V,W)) => or(not(V),not(W)) (fun not>or) (fun not=not) subterm comparison of args w. Mul Mul (meta V)[is acc in and(V,W)] [is positive in and(V,W)] [is acc in V] (fun not=not) subterm comparison of args w. Mul Mul (meta W)[is acc in and(V,W)] [is positive in and(V,W)] [is acc in W] >>True Checking (4) and(P,or(X1,Y1)) => or(and(P,X1),and(P,Y1)) (fun and>or) (fun and=and) subterm comparison of args w. Mul Mul (meta P)[is acc in P,or(X1,Y1)] [is acc in P] (meta X1)[is acc in P,or(X1,Y1)] [is positive in or(X1,Y1)] [is acc in X1] (fun and=and) subterm comparison of args w. Mul Mul (meta P)[is acc in P,or(X1,Y1)] [is acc in P] (meta Y1)[is acc in P,or(X1,Y1)] [is positive in or(X1,Y1)] [is acc in Y1] >>True Checking (5) and(or(V1,W1),U1) => or(and(U1,V1),and(U1,W1)) (fun and>or) (fun and=and) subterm comparison of args w. Mul Mul (meta U1)[is acc in or(V1,W1),U1] [is positive in or(V1,W1)] [is acc in U1] (meta V1)[is acc in or(V1,W1),U1] [is positive in or(V1,W1)] [is acc in V1] (fun and=and) subterm comparison of args w. Mul Mul (meta U1)[is acc in or(V1,W1),U1] [is positive in or(V1,W1)] [is acc in U1] (meta W1)[is acc in or(V1,W1),U1] [is positive in or(V1,W1)] [is acc in W1] >>True Checking (6) map(J1,nil) => nil (fun map>nil) >>True Checking (7) map(F2,cons(Y2,U2)) => cons(F2[Y2],map(F2,U2)) (fun map>cons) (meta F2)[is acc in F2,cons(Y2,U2)] [is acc in F2] (meta Y2)[is acc in F2,cons(Y2,U2)] [is positive in cons(Y2,U2)] [is acc in Y2] (fun map=map) subterm comparison of args w. Mul Mul (meta F2)[is acc in F2,cons(Y2,U2)] [is acc in F2] (meta U2)[is acc in F2,cons(Y2,U2)] [is positive in cons(Y2,U2)] [is acc in U2] >>True Checking (8) filter(H2,nil) => nil (fun filter>nil) >>True Checking (9) filter(I2,cons(P2,X3)) => filter2(I2[P2],I2,P2,X3) (fun filter=filter2) subterm comparison of args w. Arg [1,2] Arg [2,4,3,1] (meta I2)[is acc in I2,cons(P2,X3)] [is acc in I2] (meta P2)[is acc in I2,cons(P2,X3)] [is positive in cons(P2,X3)] [is acc in P2] (meta I2)[is acc in I2,cons(P2,X3)] [is acc in I2] (meta P2)[is acc in I2,cons(P2,X3)] [is positive in cons(P2,X3)] [is acc in P2] (meta X3)[is acc in I2,cons(P2,X3)] [is positive in cons(P2,X3)] [is acc in X3] >>True Checking (10) filter2(true,Z3,U3,V3) => cons(U3,filter(Z3,V3)) (fun filter2>cons) (meta U3)[is acc in true,Z3,U3,V3] [is positive in true] [is acc in U3] (fun filter2=filter) subterm comparison of args w. Arg [2,4,3,1] Arg [1,2] (meta Z3)[is acc in true,Z3,U3,V3] [is positive in true] [is acc in Z3] (meta V3)[is acc in true,Z3,U3,V3] [is positive in true] [is acc in V3] >>True Checking (11) filter2(false,I3,P3,X4) => filter(I3,X4) (fun filter2=filter) subterm comparison of args w. Arg [2,4,3,1] Arg [1,2] (meta I3)[is acc in false,I3,P3,X4] [is positive in false] [is acc in I3] (meta X4)[is acc in false,I3,P3,X4] [is positive in false] [is acc in X4] >>True #SN! ******** Signature ******** and : (a,a) -> 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 not : a -> a or : (a,a) -> a true : b ******** Computation Rules ******** (1) not(not(X)) => X (2) not(or(Y,U)) => and(not(Y),not(U)) (3) not(and(V,W)) => or(not(V),not(W)) (4) and(P,or(X1,Y1)) => or(and(P,X1),and(P,Y1)) (5) and(or(V1,W1),U1) => or(and(U1,V1),and(U1,W1)) (6) map(J1,nil) => nil (7) map(F2,cons(Y2,U2)) => cons(F2[Y2],map(F2,U2)) (8) filter(H2,nil) => nil (9) filter(I2,cons(P2,X3)) => filter2(I2[P2],I2,P2,X3) (10) filter2(true,Z3,U3,V3) => cons(U3,filter(Z3,V3)) (11) filter2(false,I3,P3,X4) => filter(I3,X4) YES