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