/export/starexec/sandbox2/solver/bin/starexec_run_default /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES Uncurrying transformation.. done ******** General Schema criterion ******** Found constructors: 0, cons, nil, s Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>OK Checking (1) foldr(%X.%Y.F[%X,%Y],Y,nil) => Y (meta Y)[is acc in %X.%Y.F[%X,%Y],Y,nil] [is acc in Y] >>True Checking (2) foldr(%Z.%U.G[%Z,%U],V,cons(W,P)) => G[W,foldr(%V.%W.G[%V,%W],V,P)] (meta G)[is acc in %Z.%U.G[%Z,%U],V,cons(W,P)] [is acc in G[%Z,%U]] (meta W)[is acc in %Z.%U.G[%Z,%U],V,cons(W,P)] [is positive in cons(W,P)] [is acc in W] (fun foldr=foldr) subterm comparison of args w. LR LR (meta G)[is acc in %Z.%U.G[%Z,%U],V,cons(W,P)] [is acc in G[%Z,%U]] (meta V)[is acc in %Z.%U.G[%Z,%U],V,cons(W,P)] [is acc in V] (meta P)[is acc in %Z.%U.G[%Z,%U],V,cons(W,P)] [is positive in cons(W,P)] [is acc in P] >>True Checking (3) succ(X1,Y1) => s(Y1) (fun succ>s) (meta Y1)[is acc in X1,Y1] [is acc in Y1] >>True Checking (4) length(U1) => foldr(%F.%G.succ(%F,%G),0,U1) (fun length>foldr) (fun length>succ) (fun length>0) (meta U1)[is acc in U1] [is acc in U1] >>True #SN! ******** Signature ******** 0 : nat cons : (nat,list) -> list foldr : (((nat,nat) -> nat),nat,list) -> nat length : list -> nat nil : list s : nat -> nat succ : (nat,nat) -> nat ******** Computation Rules ******** (1) foldr(%X.%Y.F[%X,%Y],Y,nil) => Y (2) foldr(%Z.%U.G[%Z,%U],V,cons(W,P)) => G[W,foldr(%V.%W.G[%V,%W],V,P)] (3) succ(X1,Y1) => s(Y1) (4) length(U1) => foldr(%F.%G.succ(%F,%G),0,U1) YES