/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE We split firstr-order part and higher-order part, and do modular checking by a general modularity. ******** FO SN check ******** Check SN using NaTT (Nagoya Termination Tool) Input TRS: 1: avg(s(X),Y) -> avg(X,s(Y)) 2: avg(U,s(s(s(V)))) -> s(avg(s(U),V)) 3: avg(0(),0()) -> 0() 4: avg(0(),s(0())) -> 0() 5: avg(0(),s(s(0()))) -> s(0()) 6: check(s(X1)) -> s(check(X1)) 7: check(0()) -> 0() 8: _(X1,X2) -> X1 9: _(X1,X2) -> X2 Number of strict rules: 9 Direct POLO(bPol) ... removes: 4 8 1 3 5 7 9 6 s w: x1 + 975 _ w: 2 * x1 + 2 * x2 + 1 check w: 2 * x1 + 1 0 w: 1143 avg w: 2 * x1 + x2 + 8456 Number of strict rules: 1 Direct POLO(bPol) ... removes: 2 s w: x1 + 975 _ w: 2 * x1 + 2 * x2 + 1 check w: 2 * x1 + 1 0 w: 1143 avg w: 2 * x1 + 2 * x2 + 8456 Number of strict rules: 0 ... Input TRS: 1: avg(s(X),Y) -> avg(X,s(Y)) 2: avg(U,s(s(s(V)))) -> s(avg(s(U),V)) 3: avg(0(),0()) -> 0() 4: avg(0(),s(0())) -> 0() 5: avg(0(),s(s(0()))) -> s(0()) 6: check(s(X1)) -> s(check(X1)) 7: check(0()) -> 0() 8: _(X1,X2) -> X1 9: _(X1,X2) -> X2 Number of strict rules: 9 Direct POLO(bPol) ... removes: 4 8 1 3 5 7 9 6 s w: x1 + 975 _ w: 2 * x1 + 2 * x2 + 1 check w: 2 * x1 + 1 0 w: 1143 avg w: 2 * x1 + x2 + 8456 Number of strict rules: 1 Direct POLO(bPol) ... removes: 2 s w: x1 + 975 _ w: 2 * x1 + 2 * x2 + 1 check w: 2 * x1 + 1 0 w: 1143 avg w: 2 * x1 + 2 * x2 + 8456 Number of strict rules: 0 >>YES ******** Signature ******** apply : (nat,nat) -> nat fun : (nat -> nat) -> nat check : nat -> nat ******** Computation rules ******** (6) apply(fun(I),P) => I[check(P)] ******** General Schema criterion ******** Found constructors: 0, fun, s Checking type order >>OK Checking positivity of constructors >>NO Checking (1) avg(s(X),Y) => avg(X,s(Y)) (fun avg=avg) subterm comparison of args w. LR LR (meta X)[is acc in s(X),Y] [is positive in s(X)] [is acc in X] (fun avg>s) (meta Y)[is acc in s(X),Y] [is positive in s(X)] [is acc in Y] >>True Checking (2) avg(U,s(s(s(V)))) => s(avg(s(U),V)) (fun avg>s) (fun avg=avg) subterm comparison of args w. LR LR >>False Found constructors: fun, check Checking type order >>OK Checking positivity of constructors >>NO #No idea.. ******** Signature ******** 0 : nat apply : (nat,nat) -> nat avg : (nat,nat) -> nat check : nat -> nat fun : (nat -> nat) -> nat s : nat -> nat ******** Computation Rules ******** (1) avg(s(X),Y) => avg(X,s(Y)) (2) avg(U,s(s(s(V)))) => s(avg(s(U),V)) (3) avg(0,0) => 0 (4) avg(0,s(0)) => 0 (5) avg(0,s(s(0))) => s(0) (6) apply(fun(I),P) => I[check(P)] (7) check(s(X1)) => s(check(X1)) (8) check(0) => 0 MAYBE