Input TRS: 1: f(tt(),x) -> f(swap(x,0()),s(x)) 2: swap(s(x),y) -> swap(x,s(y)) 3: swap(0(),s(y)) -> decr(s(y)) 4: decr(s(y)) -> decr(y) 5: decr(0()) -> tt() Number of strict rules: 5 Direct Order(PosReal,>,Poly) ... failed. Freezing decr 1: f(tt(),x) -> f(swap(x,0()),s(x)) 2: swap(s(x),y) -> swap(x,s(y)) 3: swap(0(),s(y)) -> decr❆1_s(y) 4: decr❆1_s(y) -> decr(y) 5: decr❆1_0() -> tt() 6: decr(0()) ->= decr❆1_0() 7: decr(s(_1)) ->= decr❆1_s(_1) Number of strict rules: 5 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #swap(s(x),y) -> #swap(x,s(y)) #2: #decr(0()) ->? #decr❆1_0() #3: #decr(s(_1)) ->? #decr❆1_s(_1) #4: #swap(0(),s(y)) -> #decr❆1_s(y) #5: #f(tt(),x) -> #f(swap(x,0()),s(x)) #6: #f(tt(),x) -> #swap(x,0()) #7: #decr❆1_s(y) -> #decr(y) Number of SCCs: 3, DPs: 4, edges: 4 SCC { #1 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: (/ 1 2) + x1 decr❆1_s(x1) weight: 0 #decr❆1_s(x1) weight: 0 #decr❆1_0() weight: 0 #decr(x1) weight: 0 f(x1,x2) weight: 0 0() weight: 0 #f(x1,x2) weight: 0 decr❆1_0() weight: 0 tt() weight: 0 swap(x1,x2) weight: 0 decr(x1) weight: 0 #swap(x1,x2) weight: x1 Usable rules: { } Removed DPs: #1 Number of SCCs: 2, DPs: 3, edges: 3 SCC { #3 #7 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: (/ 1 2) + x1 decr❆1_s(x1) weight: 0 #decr❆1_s(x1) weight: (/ 1 4) + x1 #decr❆1_0() weight: 0 #decr(x1) weight: x1 f(x1,x2) weight: 0 0() weight: 0 #f(x1,x2) weight: 0 decr❆1_0() weight: 0 tt() weight: 0 swap(x1,x2) weight: 0 decr(x1) weight: 0 #swap(x1,x2) weight: 0 Usable rules: { } Removed DPs: #3 #7 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #5 } 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