/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: 0, s Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>OK Checking (1) rec(0,X,%Y.%X.Z[%Y,%X]) => X (meta X)[is acc in 0,X,%Y.%X.Z[%Y,%X]] [is positive in 0] [is acc in X] >>True Checking (2) rec(s(U),V,%U.%Z.I[%U,%Z]) => I[U,rec(U,V,%W.%V.I[%W,%V])] (meta I)[is acc in s(U),V,%U.%Z.I[%U,%Z]] [is positive in s(U)] [is acc in I[%U,%Z]] (meta U)[is acc in s(U),V,%U.%Z.I[%U,%Z]] [is positive in s(U)] [is acc in U] (fun rec=rec) subterm comparison of args w. LR LR (meta U)[is acc in s(U),V,%U.%Z.I[%U,%Z]] [is positive in s(U)] [is acc in U] (meta V)[is acc in s(U),V,%U.%Z.I[%U,%Z]] [is positive in s(U)] [is acc in V] (meta I)[is acc in s(U),V,%U.%Z.I[%U,%Z]] [is positive in s(U)] [is acc in I[%U,%Z]] >>True Checking (3) succ2(P,X1) => s(X1) (fun succ2>s) (meta X1)[is acc in P,X1] [is acc in X1] >>True Checking (4) Y1 + U1 => rec(Y1,U1,%G.%F.succ2(%G,%F)) (fun plus>rec) (meta Y1)[is acc in Y1,U1] [is acc in Y1] (meta U1)[is acc in Y1,U1] [is acc in U1] (fun plus>succ2) >>True Checking (5) plus3(V1,W1,P1) => V1 + (W1 + P1) (fun plus3>plus) (meta V1)[is acc in V1,W1,P1] [is acc in V1] (fun plus3>plus) (meta W1)[is acc in V1,W1,P1] [is acc in W1] (meta P1)[is acc in V1,W1,P1] [is acc in P1] >>True Checking (6) mult(X2,Y2) => rec(X2,0,%I.%H.plus3(Y2,%I,%H)) (fun mult>rec) (meta X2)[is acc in X2,Y2] [is acc in X2] (fun mult>0) (fun mult>plus3) (meta Y2)[is acc in X2,Y2] [is acc in Y2] >>True #SN! ******** Signature ******** 0 : nat mult : (nat,nat) -> nat plus : (nat,nat) -> nat plus3 : (nat,nat,nat) -> nat rec : (nat,nat,((nat,nat) -> nat)) -> nat s : nat -> nat succ2 : (nat,nat) -> nat ******** Computation Rules ******** (1) rec(0,X,%Y.%X.Z[%Y,%X]) => X (2) rec(s(U),V,%U.%Z.I[%U,%Z]) => I[U,rec(U,V,%W.%V.I[%W,%V])] (3) succ2(P,X1) => s(X1) (4) Y1 + U1 => rec(Y1,U1,%G.%F.succ2(%G,%F)) (5) plus3(V1,W1,P1) => V1 + (W1 + P1) (6) mult(X2,Y2) => rec(X2,0,%I.%H.plus3(Y2,%I,%H)) YES