/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, nil, node Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>OK Checking (1) map(F,nil) => nil (fun map>nil) >>True Checking (2) map(Z,cons(U,V)) => cons(Z[U],map(Z,V)) (fun map>cons) (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta U)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in U] (fun map=map) subterm comparison of args w. LR LR (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta V)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in V] >>True Checking (3) flatten(node(W,P)) => cons(W,concat(map(flatten,P))) (fun flatten>cons) (meta W)[is acc in node(W,P)] [is positive in node(W,P)] [is acc in W] (fun flatten>concat) (fun flatten>map) (fun flatten=flatten) subterm comparison of args w. LR LR >>False Try again using status RL Checking (1) map(F,nil) => nil (fun map>nil) >>True Checking (2) map(Z,cons(U,V)) => cons(Z[U],map(Z,V)) (fun map>cons) (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta U)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in U] (fun map=map) subterm comparison of args w. RL RL (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta V)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in V] >>True Checking (3) flatten(node(W,P)) => cons(W,concat(map(flatten,P))) (fun flatten>cons) (meta W)[is acc in node(W,P)] [is positive in node(W,P)] [is acc in W] (fun flatten>concat) (fun flatten>map) (fun flatten=flatten) subterm comparison of args w. RL RL >>False Try again using status Mul Checking (1) map(F,nil) => nil (fun map>nil) >>True Checking (2) map(Z,cons(U,V)) => cons(Z[U],map(Z,V)) (fun map>cons) (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta U)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in U] (fun map=map) subterm comparison of args w. Mul Mul (meta Z)[is acc in Z,cons(U,V)] [is acc in Z] (meta V)[is acc in Z,cons(U,V)] [is positive in cons(U,V)] [is acc in V] >>True Checking (3) flatten(node(W,P)) => cons(W,concat(map(flatten,P))) (fun flatten>cons) (meta W)[is acc in node(W,P)] [is positive in node(W,P)] [is acc in W] (fun flatten>concat) (fun flatten>map) (fun flatten=flatten) subterm comparison of args w. Mul Mul (meta P)[is acc in node(W,P)] [is positive in node(W,P)] [is acc in P] >>True Checking (4) concat(nil) => nil (fun concat>nil) >>True Checking (5) concat(cons(X1,Y1)) => append(X1,concat(Y1)) (fun concat>append) (meta X1)[is acc in cons(X1,Y1)] [is positive in cons(X1,Y1)] [is acc in X1] (fun concat=concat) subterm comparison of args w. Mul Mul (meta Y1)[is acc in cons(X1,Y1)] [is positive in cons(X1,Y1)] [is acc in Y1] >>True Checking (6) append(nil,U1) => U1 (meta U1)[is acc in nil,U1] [is positive in nil] [is acc in U1] >>True Checking (7) append(cons(V1,W1),P1) => cons(V1,append(W1,P1)) (fun append>cons) (meta V1)[is acc in cons(V1,W1),P1] [is positive in cons(V1,W1)] [is acc in V1] (fun append=append) subterm comparison of args w. Mul Mul (meta W1)[is acc in cons(V1,W1),P1] [is positive in cons(V1,W1)] [is acc in W1] (meta P1)[is acc in cons(V1,W1),P1] [is positive in cons(V1,W1)] [is acc in P1] >>True #SN! ******** Signature ******** append : (a,a) -> a concat : a -> a cons : (a,a) -> a flatten : a -> a map : ((a -> a),a) -> a nil : a node : (a,a) -> a ******** Computation Rules ******** (1) map(F,nil) => nil (2) map(Z,cons(U,V)) => cons(Z[U],map(Z,V)) (3) flatten(node(W,P)) => cons(W,concat(map(flatten,P))) (4) concat(nil) => nil (5) concat(cons(X1,Y1)) => append(X1,concat(Y1)) (6) append(nil,U1) => U1 (7) append(cons(V1,W1),P1) => cons(V1,append(W1,P1)) YES