/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 Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>OK Checking (1) compose(F,Z,U) => Z[F[U]] (meta Z)[is acc in F,Z,U] [is acc in Z] (meta F)[is acc in F,Z,U] [is acc in F] (meta U)[is acc in F,Z,U] [is acc in U] >>True Checking (2) reverse(V) => reverse2(V,nil) (fun reverse>reverse2) (meta V)[is acc in V] [is acc in V] (fun reverse>nil) >>True Checking (3) reverse2(nil,W) => W (meta W)[is acc in nil,W] [is positive in nil] [is acc in W] >>True Checking (4) reverse2(cons(X1,Y1),P) => reverse2(Y1,cons(X1,P)) (fun reverse2=reverse2) subterm comparison of args w. LR LR (meta Y1)[is acc in cons(X1,Y1),P] [is positive in cons(X1,Y1)] [is acc in Y1] (fun reverse2>cons) (meta X1)[is acc in cons(X1,Y1),P] [is positive in cons(X1,Y1)] [is acc in X1] (meta P)[is acc in cons(X1,Y1),P] [is positive in cons(X1,Y1)] [is acc in P] >>True Checking (5) hd(cons(U1,V1)) => U1 (meta U1)[is acc in cons(U1,V1)] [is positive in cons(U1,V1)] [is acc in U1] >>True Checking (6) tl(cons(W1,P1)) => P1 (meta P1)[is acc in cons(W1,P1)] [is positive in cons(W1,P1)] [is acc in P1] >>True Checking (7) last => compose(hd,reverse) (fun last>compose) (fun last>hd) (fun last>reverse) >>True Checking (8) init => compose(reverse,compose(tl,reverse)) (fun init>compose) (fun init>reverse) (fun init>compose) (fun init>tl) (fun init>reverse) >>True #SN! ******** Signature ******** compose : ((a -> a),(a -> a),a) -> a cons : (a,a) -> a hd : a -> a init : a -> a last : a -> a nil : a reverse : a -> a reverse2 : (a,a) -> a tl : a -> a ******** Computation Rules ******** (1) compose(F,Z,U) => Z[F[U]] (2) reverse(V) => reverse2(V,nil) (3) reverse2(nil,W) => W (4) reverse2(cons(X1,Y1),P) => reverse2(Y1,cons(X1,P)) (5) hd(cons(U1,V1)) => U1 (6) tl(cons(W1,P1)) => P1 (7) last => compose(hd,reverse) (8) init => compose(reverse,compose(tl,reverse)) YES