/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- NO 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: f(0(),1(),g(X,Y),U) -> f(g(X,Y),g(X,Y),g(X,Y),h(X)) 2: g(0(),1()) -> 0() 3: g(0(),1()) -> 1() 4: h(g(V,W)) -> h(V) Number of strict rules: 4 Direct POLO(bPol) ... failed. Uncurrying ... failed. Dependency Pairs: #1: #f(0(),1(),g(X,Y),U) -> #f(g(X,Y),g(X,Y),g(X,Y),h(X)) #2: #f(0(),1(),g(X,Y),U) -> #h(X) #3: #h(g(V,W)) -> #h(V) Number of SCCs: 2, DPs: 2 SCC { #3 } POLO(Sum)... succeeded. h w: 0 1 w: 0 f w: 0 0 w: 0 #h w: x1 #f w: 0 #g w: 0 g w: x1 + 1 USABLE RULES: { } Removed DPs: #3 Number of SCCs: 1, DPs: 1 SCC { #1 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... Mat2b... failed. Finding a loop... found. #f(0(),1(),g(0(),1()),U) -#1-> #f(g(0(),1()),g(0(),1()),g(0(),1()),h(0())) --->* #f(0(),1(),g(0(),1()),h(0())) Looping with: [ U := h(0()); ] ... Input TRS: 1: f(0(),1(),g(X,Y),U) -> f(g(X,Y),g(X,Y),g(X,Y),h(X)) 2: g(0(),1()) -> 0() 3: g(0(),1()) -> 1() 4: h(g(V,W)) -> h(V) Number of strict rules: 4 Direct POLO(bPol) ... failed. Uncurrying ... failed. Dependency Pairs: #1: #f(0(),1(),g(X,Y),U) -> #f(g(X,Y),g(X,Y),g(X,Y),h(X)) #2: #f(0(),1(),g(X,Y),U) -> #h(X) #3: #h(g(V,W)) -> #h(V) Number of SCCs: 2, DPs: 2 SCC { #3 } POLO(Sum)... succeeded. h w: 0 1 w: 0 f w: 0 0 w: 0 #h w: x1 #f w: 0 #g w: 0 g w: x1 + 1 USABLE RULES: { } Removed DPs: #3 Number of SCCs: 1, DPs: 1 SCC { #1 } POLO(Sum)... POLO(max)... QLPOS... POLO(mSum)... QWPOpS(mSum)... Mat2b... failed. Finding a loop... found. #f(0(),1(),g(0(),1()),U) -#1-> #f(g(0(),1()),g(0(),1()),g(0(),1()),h(0())) --->* #f(0(),1(),g(0(),1()),h(0())) Looping with: [ U := h(0()); ] >>NO ******** Signature ******** 0 : b 1 : b cons : (e,f) -> f f : (b,b,b,c) -> a false : d filter : ((e -> d),f) -> f filter2 : (d,(e -> d),e,f) -> f g : (b,b) -> b h : b -> c map : ((e -> e),f) -> f nil : f true : d ******** Computation Rules ******** (1) f(0,1,g(X,Y),U) => f(g(X,Y),g(X,Y),g(X,Y),h(X)) (2) g(0,1) => 0 (3) g(0,1) => 1 (4) h(g(V,W)) => h(V) (5) map(J,nil) => nil (6) map(F1,cons(Y1,U1)) => cons(F1[Y1],map(F1,U1)) (7) filter(H1,nil) => nil (8) filter(I1,cons(P1,X2)) => filter2(I1[P1],I1,P1,X2) (9) filter2(true,Z2,U2,V2) => cons(U2,filter(Z2,V2)) (10) filter2(false,I2,P2,X3) => filter(I2,X3) NO