/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: h(0()) -> a(0()) 2: h(s(Y)) -> a(h(Y)) 3: i(0()) -> 0() 4: i(a(Y)) -> s(i(Y)) 5: _(X1,X2) -> X1 6: _(X1,X2) -> X2 Number of strict rules: 6 Direct POLO(bPol) ... removes: 4 1 3 5 6 2 a w: 2 * x1 + 3 h w: 2 * x1 + 4 s w: 2 * x1 + 4 _ w: 2 * x1 + 2 * x2 + 1 0 w: 2438 i w: 2 * x1 + 1 Number of strict rules: 0 ... Input TRS: 1: h(0()) -> a(0()) 2: h(s(Y)) -> a(h(Y)) 3: i(0()) -> 0() 4: i(a(Y)) -> s(i(Y)) 5: _(X1,X2) -> X1 6: _(X1,X2) -> X2 Number of strict rules: 6 Direct POLO(bPol) ... removes: 4 1 3 5 6 2 a w: 2 * x1 + 3 h w: 2 * x1 + 4 s w: 2 * x1 + 4 _ w: 2 * x1 + 2 * x2 + 1 0 w: 2438 i w: 2 * x1 + 1 Number of strict rules: 0 >>YES ******** Signature ******** f : ((nat -> nat),nat,nat) -> nat g : (nat,nat,(nat -> nat),nat) -> nat s : nat -> nat 0 : nat h : nat -> nat ******** Computation rules ******** (1) f(F,Y,U) => g(Y,U,F,Y) (2) g(s(Y),s(U),F,V) => g(Y,U,F,V) (3) g(0,0,F,V) => f(F,s(V),F[h(V)]) ******** General Schema criterion ******** Found constructors: 0, a, s Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>Regared as equal: g, f, h Checking (1) f(F,Y,U) => g(Y,U,F,Y) (fun f=g) subterm comparison of args w. LR LR >>False Try again using status RL Checking (1) f(F,Y,U) => g(Y,U,F,Y) (fun f=g) subterm comparison of args w. RL RL >>False Try again using status Mul Checking (1) f(F,Y,U) => g(Y,U,F,Y) (fun f=g) subterm comparison of args w. Mul Mul >>False Found constructors: s, 0, h Checking type order >>OK Checking positivity of constructors >>OK Checking function dependency >>Regared as equal: g, f Checking (1) f(F,Y,U) => g(Y,U,F,Y) (fun f=g) subterm comparison of args w. LR LR >>False Try again using status RL Checking (1) f(F,Y,U) => g(Y,U,F,Y) (fun f=g) subterm comparison of args w. RL RL >>False Try again using status Mul Checking (1) f(F,Y,U) => g(Y,U,F,Y) (fun f=g) subterm comparison of args w. Mul Mul >>False #No idea.. ******** Signature ******** 0 : nat a : nat -> nat f : ((nat -> nat),nat,nat) -> nat g : (nat,nat,(nat -> nat),nat) -> nat h : nat -> nat i : nat -> nat s : nat -> nat ******** Computation Rules ******** (1) f(F,Y,U) => g(Y,U,F,Y) (2) g(s(Y),s(U),F,V) => g(Y,U,F,V) (3) g(0,0,F,V) => f(F,s(V),F[h(V)]) (4) h(0) => a(0) (5) h(s(Y)) => a(h(Y)) (6) i(0) => 0 (7) i(a(Y)) => s(i(Y)) MAYBE