Input TRS: 1: sort(l) -> st(0(),l) 2: st(n,l) -> cond1(member(n,l),n,l) 3: cond1(true(),n,l) -> cons(n,st(s(n),l)) 4: cond1(false(),n,l) -> cond2(gt(n,max(l)),n,l) 5: cond2(true(),n,l) -> nil() 6: cond2(false(),n,l) -> st(s(n),l) 7: member(n,nil()) -> false() 8: member(n,cons(m,l)) -> or(equal(n,m),member(n,l)) 9: or(x,true()) -> true() 10: or(x,false()) -> x 11: equal(0(),0()) -> true() 12: equal(s(x),0()) -> false() 13: equal(0(),s(y)) -> false() 14: equal(s(x),s(y)) -> equal(x,y) 15: gt(0(),v) -> false() 16: gt(s(u),0()) -> true() 17: gt(s(u),s(v)) -> gt(u,v) 18: max(nil()) -> 0() 19: max(cons(u,l)) -> if(gt(u,max(l)),u,max(l)) 20: if(true(),u,v) -> u 21: if(false(),u,v) -> v Number of strict rules: 21 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #st(n,l) -> #cond1(member(n,l),n,l) #2: #st(n,l) -> #member(n,l) #3: #cond2(false(),n,l) -> #st(s(n),l) #4: #equal(s(x),s(y)) -> #equal(x,y) #5: #gt(s(u),s(v)) -> #gt(u,v) #6: #max(cons(u,l)) -> #if(gt(u,max(l)),u,max(l)) #7: #max(cons(u,l)) -> #gt(u,max(l)) #8: #max(cons(u,l)) -> #max(l) #9: #max(cons(u,l)) -> #max(l) #10: #cond1(true(),n,l) -> #st(s(n),l) #11: #sort(l) -> #st(0(),l) #12: #member(n,cons(m,l)) -> #or(equal(n,m),member(n,l)) #13: #member(n,cons(m,l)) -> #equal(n,m) #14: #member(n,cons(m,l)) -> #member(n,l) #15: #cond1(false(),n,l) -> #cond2(gt(n,max(l)),n,l) #16: #cond1(false(),n,l) -> #gt(n,max(l)) #17: #cond1(false(),n,l) -> #max(l) Number of SCCs: 5, DPs: 9, edges: 12 SCC { #4 } Removing DPs: Order(PosReal,>,Sum)... succeeded. cond2(x1,x2,x3) weight: 0 #st(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 #cond1(x1,x2,x3) weight: 0 gt(x1,x2) weight: 0 member(x1,x2) weight: 0 #equal(x1,x2) weight: x1 st(x1,x2) weight: 0 false() weight: 0 true() weight: 0 cond1(x1,x2,x3) weight: 0 #sort(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 max(x1) weight: 0 nil() weight: 0 #max(x1) weight: 0 or(x1,x2) weight: 0 #gt(x1,x2) weight: 0 sort(x1) weight: 0 cons(x1,x2) weight: 0 #member(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 equal(x1,x2) weight: 0 #cond2(x1,x2,x3) weight: 0 #or(x1,x2) weight: 0 Usable rules: { } Removed DPs: #4 Number of SCCs: 4, DPs: 8, edges: 11 SCC { #14 } Removing DPs: Order(PosReal,>,Sum)... succeeded. cond2(x1,x2,x3) weight: 0 #st(x1,x2) weight: 0 s(x1) weight: (/ 1 2) #cond1(x1,x2,x3) weight: 0 gt(x1,x2) weight: 0 member(x1,x2) weight: 0 #equal(x1,x2) weight: 0 st(x1,x2) weight: 0 false() weight: 0 true() weight: 0 cond1(x1,x2,x3) weight: 0 #sort(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 max(x1) weight: 0 nil() weight: 0 #max(x1) weight: 0 or(x1,x2) weight: 0 #gt(x1,x2) weight: 0 sort(x1) weight: 0 cons(x1,x2) weight: (/ 1 2) + x2 #member(x1,x2) weight: x2 #if(x1,x2,x3) weight: 0 equal(x1,x2) weight: 0 #cond2(x1,x2,x3) weight: 0 #or(x1,x2) weight: 0 Usable rules: { } Removed DPs: #14 Number of SCCs: 3, DPs: 7, edges: 10 SCC { #5 } Removing DPs: Order(PosReal,>,Sum)... succeeded. cond2(x1,x2,x3) weight: 0 #st(x1,x2) weight: 0 s(x1) weight: (/ 1 2) + x1 #cond1(x1,x2,x3) weight: 0 gt(x1,x2) weight: 0 member(x1,x2) weight: 0 #equal(x1,x2) weight: 0 st(x1,x2) weight: 0 false() weight: 0 true() weight: 0 cond1(x1,x2,x3) weight: 0 #sort(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 max(x1) weight: 0 nil() weight: 0 #max(x1) weight: 0 or(x1,x2) weight: 0 #gt(x1,x2) weight: x1 sort(x1) weight: 0 cons(x1,x2) weight: (/ 1 2) #member(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 equal(x1,x2) weight: 0 #cond2(x1,x2,x3) weight: 0 #or(x1,x2) weight: 0 Usable rules: { } Removed DPs: #5 Number of SCCs: 2, DPs: 6, edges: 9 SCC { #8 #9 } Removing DPs: Order(PosReal,>,Sum)... succeeded. cond2(x1,x2,x3) weight: 0 #st(x1,x2) weight: 0 s(x1) weight: (/ 1 2) #cond1(x1,x2,x3) weight: 0 gt(x1,x2) weight: 0 member(x1,x2) weight: 0 #equal(x1,x2) weight: 0 st(x1,x2) weight: 0 false() weight: 0 true() weight: 0 cond1(x1,x2,x3) weight: 0 #sort(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 max(x1) weight: 0 nil() weight: 0 #max(x1) weight: x1 or(x1,x2) weight: 0 #gt(x1,x2) weight: 0 sort(x1) weight: 0 cons(x1,x2) weight: (/ 1 2) + x2 #member(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 equal(x1,x2) weight: 0 #cond2(x1,x2,x3) weight: 0 #or(x1,x2) weight: 0 Usable rules: { } Removed DPs: #8 #9 Number of SCCs: 1, DPs: 4, edges: 5 SCC { #1 #3 #10 #15 } 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