Input TRS: 1: plus(0(),x) -> x 2: plus(s(x),y) -> s(plus(x,y)) 3: times(0(),y) -> 0() 4: times(s(x),y) -> plus(y,times(x,y)) 5: exp(x,0()) -> s(0()) 6: exp(x,s(y)) -> times(x,exp(x,y)) 7: ge(x,0()) -> true() 8: ge(0(),s(x)) -> false() 9: ge(s(x),s(y)) -> ge(x,y) 10: tower(x,y) -> towerIter(0(),x,y,s(0())) 11: towerIter(c,x,y,z) -> help(ge(c,x),c,x,y,z) 12: help(true(),c,x,y,z) -> z 13: help(false(),c,x,y,z) -> towerIter(s(c),x,y,exp(y,z)) Number of strict rules: 13 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #plus(s(x),y) -> #plus(x,y) #2: #exp(x,s(y)) -> #times(x,exp(x,y)) #3: #exp(x,s(y)) -> #exp(x,y) #4: #help(false(),c,x,y,z) -> #towerIter(s(c),x,y,exp(y,z)) #5: #help(false(),c,x,y,z) -> #exp(y,z) #6: #ge(s(x),s(y)) -> #ge(x,y) #7: #towerIter(c,x,y,z) -> #help(ge(c,x),c,x,y,z) #8: #towerIter(c,x,y,z) -> #ge(c,x) #9: #tower(x,y) -> #towerIter(0(),x,y,s(0())) #10: #times(s(x),y) -> #plus(y,times(x,y)) #11: #times(s(x),y) -> #times(x,y) Number of SCCs: 5, DPs: 6, edges: 6 SCC { #1 } Removing DPs: Order(PosReal,>,Sum)... succeeded. tower(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 #help(x1,x2,x3,x4,x5) weight: 0 #plus(x1,x2) weight: x1 towerIter(x1,x2,x3,x4) weight: 0 false() weight: 0 #ge(x1,x2) weight: 0 #exp(x1,x2) weight: 0 true() weight: 0 #times(x1,x2) weight: 0 0() weight: 0 ge(x1,x2) weight: 0 times(x1,x2) weight: 0 #tower(x1,x2) weight: 0 #towerIter(x1,x2,x3,x4) weight: 0 plus(x1,x2) weight: 0 exp(x1,x2) weight: 0 help(x1,x2,x3,x4,x5) weight: 0 Usable rules: { } Removed DPs: #1 Number of SCCs: 4, DPs: 5, edges: 5 SCC { #11 } Removing DPs: Order(PosReal,>,Sum)... succeeded. tower(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 #help(x1,x2,x3,x4,x5) weight: 0 #plus(x1,x2) weight: 0 towerIter(x1,x2,x3,x4) weight: 0 false() weight: 0 #ge(x1,x2) weight: 0 #exp(x1,x2) weight: 0 true() weight: 0 #times(x1,x2) weight: x1 0() weight: 0 ge(x1,x2) weight: 0 times(x1,x2) weight: 0 #tower(x1,x2) weight: 0 #towerIter(x1,x2,x3,x4) weight: 0 plus(x1,x2) weight: 0 exp(x1,x2) weight: 0 help(x1,x2,x3,x4,x5) weight: 0 Usable rules: { } Removed DPs: #11 Number of SCCs: 3, DPs: 4, edges: 4 SCC { #3 } Removing DPs: Order(PosReal,>,Sum)... succeeded. tower(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 #help(x1,x2,x3,x4,x5) weight: 0 #plus(x1,x2) weight: 0 towerIter(x1,x2,x3,x4) weight: 0 false() weight: 0 #ge(x1,x2) weight: 0 #exp(x1,x2) weight: x2 true() weight: 0 #times(x1,x2) weight: 0 0() weight: 0 ge(x1,x2) weight: 0 times(x1,x2) weight: 0 #tower(x1,x2) weight: 0 #towerIter(x1,x2,x3,x4) weight: 0 plus(x1,x2) weight: 0 exp(x1,x2) weight: 0 help(x1,x2,x3,x4,x5) weight: 0 Usable rules: { } Removed DPs: #3 Number of SCCs: 2, DPs: 3, edges: 3 SCC { #6 } Removing DPs: Order(PosReal,>,Sum)... succeeded. tower(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 #help(x1,x2,x3,x4,x5) weight: 0 #plus(x1,x2) weight: 0 towerIter(x1,x2,x3,x4) weight: 0 false() weight: 0 #ge(x1,x2) weight: x2 #exp(x1,x2) weight: 0 true() weight: 0 #times(x1,x2) weight: 0 0() weight: 0 ge(x1,x2) weight: 0 times(x1,x2) weight: 0 #tower(x1,x2) weight: 0 #towerIter(x1,x2,x3,x4) weight: 0 plus(x1,x2) weight: 0 exp(x1,x2) weight: 0 help(x1,x2,x3,x4,x5) weight: 0 Usable rules: { } Removed DPs: #6 Number of SCCs: 1, DPs: 2, edges: 2 SCC { #4 #7 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... Order(PosReal,>,Sum-Sum; PosReal,≥,Sum-Sum)... Order(PosReal,>,Sum-Sum; NegReal,≥,Sum)... Order(PosReal,>,MaxSum-Sum; NegReal,≥,Sum)... failed. Removing edges: failed. Finding a loop... failed. MAYBE