Input TRS: 1: a__fib(N) -> a__sel(mark(N),a__fib1(s(0()),s(0()))) 2: a__fib1(X,Y) -> cons(mark(X),fib1(Y,add(X,Y))) 3: a__add(0(),X) -> mark(X) 4: a__add(s(X),Y) -> s(a__add(mark(X),mark(Y))) 5: a__sel(0(),cons(X,XS)) -> mark(X) 6: a__sel(s(N),cons(X,XS)) -> a__sel(mark(N),mark(XS)) 7: mark(fib(X)) -> a__fib(mark(X)) 8: mark(sel(X1,X2)) -> a__sel(mark(X1),mark(X2)) 9: mark(fib1(X1,X2)) -> a__fib1(mark(X1),mark(X2)) 10: mark(add(X1,X2)) -> a__add(mark(X1),mark(X2)) 11: mark(s(X)) -> s(mark(X)) 12: mark(0()) -> 0() 13: mark(cons(X1,X2)) -> cons(mark(X1),X2) 14: a__fib(X) -> fib(X) 15: a__sel(X1,X2) -> sel(X1,X2) 16: a__fib1(X1,X2) -> fib1(X1,X2) 17: a__add(X1,X2) -> add(X1,X2) Number of strict rules: 17 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #a__fib1(X,Y) -> #mark(X) #2: #a__sel(s(N),cons(X,XS)) -> #a__sel(mark(N),mark(XS)) #3: #a__sel(s(N),cons(X,XS)) -> #mark(N) #4: #a__sel(s(N),cons(X,XS)) -> #mark(XS) #5: #mark(cons(X1,X2)) -> #mark(X1) #6: #mark(fib1(X1,X2)) -> #a__fib1(mark(X1),mark(X2)) #7: #mark(fib1(X1,X2)) -> #mark(X1) #8: #mark(fib1(X1,X2)) -> #mark(X2) #9: #mark(s(X)) -> #mark(X) #10: #mark(fib(X)) -> #a__fib(mark(X)) #11: #mark(fib(X)) -> #mark(X) #12: #mark(add(X1,X2)) -> #a__add(mark(X1),mark(X2)) #13: #mark(add(X1,X2)) -> #mark(X1) #14: #mark(add(X1,X2)) -> #mark(X2) #15: #a__sel(0(),cons(X,XS)) -> #mark(X) #16: #a__add(0(),X) -> #mark(X) #17: #a__fib(N) -> #a__sel(mark(N),a__fib1(s(0()),s(0()))) #18: #a__fib(N) -> #mark(N) #19: #a__fib(N) -> #a__fib1(s(0()),s(0())) #20: #mark(sel(X1,X2)) -> #a__sel(mark(X1),mark(X2)) #21: #mark(sel(X1,X2)) -> #mark(X1) #22: #mark(sel(X1,X2)) -> #mark(X2) #23: #a__add(s(X),Y) -> #a__add(mark(X),mark(Y)) #24: #a__add(s(X),Y) -> #mark(X) #25: #a__add(s(X),Y) -> #mark(Y) Number of SCCs: 1, DPs: 25, edges: 246 SCC { #1..25 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. s(x1) weight: x1 #a__add(x1,x2) weight: max{x2, x1} a__add(x1,x2) weight: max{x2, x1} #a__fib1(x1,x2) weight: max{(/ 1 8) + x2, (/ 1 8) + x1} fib1(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 4) + x1} fib(x1) weight: (/ 5 8) + x1 #mark(x1) weight: x1 0() weight: (/ 1 8) sel(x1,x2) weight: max{(/ 1 8) + x2, x1} #a__sel(x1,x2) weight: max{x2, x1} mark(x1) weight: x1 a__sel(x1,x2) weight: max{(/ 1 8) + x2, x1} #a__fib(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: max{x2, (/ 1 8) + x1} a__fib(x1) weight: (/ 5 8) + x1 add(x1,x2) weight: max{x2, x1} a__fib1(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 4) + x1} Usable rules: { 1..17 } Removed DPs: #1 #5..8 #10 #11 #15 #17..19 #22 Number of SCCs: 1, DPs: 13, edges: 68 SCC { #2..4 #9 #12..14 #16 #20 #21 #23..25 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. s(x1) weight: x1 #a__add(x1,x2) weight: max{(/ 1 8) + x2, (/ 1 8) + x1} a__add(x1,x2) weight: max{x2, x1} #a__fib1(x1,x2) weight: max{(/ 1 8) + x2, (/ 1 8) + x1} fib1(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 4) + x1} fib(x1) weight: (/ 5 8) + x1 #mark(x1) weight: (/ 1 8) + x1 0() weight: (/ 1 8) sel(x1,x2) weight: max{(/ 1 4) + x2, x1} #a__sel(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 8) + x1} mark(x1) weight: x1 a__sel(x1,x2) weight: max{(/ 1 4) + x2, x1} #a__fib(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: max{x2, (/ 1 8) + x1} a__fib(x1) weight: (/ 5 8) + x1 add(x1,x2) weight: max{x2, x1} a__fib1(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 4) + x1} Usable rules: { 1..17 } Removed DPs: #4 Number of SCCs: 1, DPs: 12, edges: 60 SCC { #2 #3 #9 #12..14 #16 #20 #21 #23..25 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. s(x1) weight: x1 #a__add(x1,x2) weight: max{(/ 1 8) + x2, (/ 1 8) + x1} a__add(x1,x2) weight: max{x2, x1} #a__fib1(x1,x2) weight: max{(/ 1 8) + x2, (/ 1 8) + x1} fib1(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 4) + x1} fib(x1) weight: (/ 3 4) + x1 #mark(x1) weight: (/ 1 8) + x1 0() weight: (/ 1 8) sel(x1,x2) weight: max{(/ 3 8) + x2, (/ 1 4) + x1} #a__sel(x1,x2) weight: max{(/ 1 4) + x2, (/ 3 8) + x1} mark(x1) weight: x1 a__sel(x1,x2) weight: max{(/ 3 8) + x2, (/ 1 4) + x1} #a__fib(x1) weight: (/ 1 2) + x1 cons(x1,x2) weight: max{x2, (/ 1 4) + x1} a__fib(x1) weight: (/ 3 4) + x1 add(x1,x2) weight: max{x2, x1} a__fib1(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 4) + x1} Usable rules: { 1..17 } Removed DPs: #3 #21 Number of SCCs: 2, DPs: 9, edges: 33 SCC { #2 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. s(x1) weight: x1 status: [x1] precedence above: #a__add(x1,x2) weight: max{0, (/ 1 4) + x2} status: [x2] precedence above: a__add(x1,x2) weight: max{x2, x1} status: [x1,x2] precedence above: s add #a__fib1(x1,x2) weight: x2 status: [] precedence above: fib1(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 4) + x1} status: [] precedence above: #a__sel cons a__fib1 fib(x1) weight: (/ 3 4) status: [] precedence above: s fib1 sel #a__sel a__sel cons a__fib a__fib1 #mark(x1) weight: (/ 1 4) status: [] precedence above: 0() weight: (/ 1 4) status: [] precedence above: s #a__sel mark cons sel(x1,x2) weight: x2 status: [] precedence above: a__sel #a__sel(x1,x2) weight: (/ 1 2) + x2 + x1 status: [x1] precedence above: mark(x1) weight: x1 status: x1 a__sel(x1,x2) weight: x2 status: [] precedence above: sel #a__fib(x1) weight: (/ 1 4) status: [] precedence above: cons(x1,x2) weight: max{x2, (/ 1 4) + x1} status: [] precedence above: #a__sel a__fib(x1) weight: (/ 3 4) status: [] precedence above: s fib1 fib sel #a__sel a__sel cons a__fib1 add(x1,x2) weight: max{x2, x1} status: [x1,x2] precedence above: s a__add a__fib1(x1,x2) weight: max{(/ 1 4) + x2, (/ 1 4) + x1} status: [] precedence above: fib1 #a__sel cons Usable rules: { 1..17 } Removed DPs: #2 Number of SCCs: 1, DPs: 8, edges: 32 SCC { #9 #12..14 #16 #23..25 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. s(x1) weight: x1 status: [x1] precedence above: #a__add #mark #a__add(x1,x2) weight: max{x2, x1} status: [x2,x1] precedence above: #mark a__add(x1,x2) weight: max{x2, x1} status: [x1,x2] precedence above: s #a__add #mark add #a__fib1(x1,x2) weight: x2 status: [] precedence above: fib1(x1,x2) weight: max{x2, x1} status: [] precedence above: #a__sel cons a__fib1 fib(x1) weight: (/ 3 4) status: [] precedence above: s #a__add fib1 #mark sel #a__sel a__sel cons a__fib a__fib1 #mark(x1) weight: x1 status: [x1] precedence above: #a__add 0() weight: (/ 1 4) status: [] precedence above: s #a__add #mark #a__sel mark cons sel(x1,x2) weight: (/ 1 4) + x2 status: [] precedence above: a__sel #a__sel(x1,x2) weight: (/ 1 2) + x2 + x1 status: [x1] precedence above: mark(x1) weight: x1 status: x1 a__sel(x1,x2) weight: (/ 1 4) + x2 status: [] precedence above: sel #a__fib(x1) weight: (/ 1 4) status: [] precedence above: cons(x1,x2) weight: max{x2, x1} status: [] precedence above: #a__sel a__fib(x1) weight: (/ 3 4) status: [] precedence above: s #a__add fib1 fib #mark sel #a__sel a__sel cons a__fib1 add(x1,x2) weight: max{x2, x1} status: [x1,x2] precedence above: s #a__add a__add #mark a__fib1(x1,x2) weight: max{x2, x1} status: [] precedence above: fib1 #a__sel cons Usable rules: { 1..17 } Removed DPs: #9 #12..14 #16 #23..25 Number of SCCs: 0, DPs: 0, edges: 0 YES