Input TRS: 1: isLeaf(leaf()) -> true() 2: isLeaf(cons(u,v)) -> false() 3: left(cons(u,v)) -> u 4: right(cons(u,v)) -> v 5: concat(leaf(),y) -> y 6: concat(cons(u,v),y) -> cons(u,concat(v,y)) 7: less_leaves(u,v) -> if1(isLeaf(u),isLeaf(v),u,v) 8: if1(b,true(),u,v) -> false() 9: if1(b,false(),u,v) -> if2(b,u,v) 10: if2(true(),u,v) -> true() 11: if2(false(),u,v) -> less_leaves(concat(left(u),right(u)),concat(left(v),right(v))) Number of strict rules: 11 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #concat(cons(u,v),y) -> #concat(v,y) #2: #if1(b,false(),u,v) -> #if2(b,u,v) #3: #if2(false(),u,v) -> #less_leaves(concat(left(u),right(u)),concat(left(v),right(v))) #4: #if2(false(),u,v) -> #concat(left(u),right(u)) #5: #if2(false(),u,v) -> #left(u) #6: #if2(false(),u,v) -> #right(u) #7: #if2(false(),u,v) -> #concat(left(v),right(v)) #8: #if2(false(),u,v) -> #left(v) #9: #if2(false(),u,v) -> #right(v) #10: #less_leaves(u,v) -> #if1(isLeaf(u),isLeaf(v),u,v) #11: #less_leaves(u,v) -> #isLeaf(u) #12: #less_leaves(u,v) -> #isLeaf(v) Number of SCCs: 2, DPs: 4, edges: 4 SCC { #1 } Removing DPs: Order(PosReal,>,Sum)... succeeded. #left(x1) weight: 0 left(x1) weight: 0 #less_leaves(x1,x2) weight: 0 if1(x1,x2,x3,x4) weight: 0 #concat(x1,x2) weight: x1 false() weight: 0 true() weight: 0 #if1(x1,x2,x3,x4) weight: 0 concat(x1,x2) weight: 0 if2(x1,x2,x3) weight: 0 less_leaves(x1,x2) weight: 0 right(x1) weight: 0 cons(x1,x2) weight: (/ 1 2) + x2 #isLeaf(x1) weight: 0 isLeaf(x1) weight: 0 #right(x1) weight: 0 leaf() weight: 0 #if2(x1,x2,x3) weight: 0 Usable rules: { } Removed DPs: #1 Number of SCCs: 1, DPs: 3, edges: 3 SCC { #2 #3 #10 } 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