Input TRS: 1: nonZero(|0|()) -> false() 2: nonZero(s(x)) -> true() 3: p(|0|()) -> |0|() 4: p(s(x)) -> x 5: id_inc(x) -> x 6: id_inc(x) -> s(x) 7: random(x) -> rand(x,|0|()) 8: rand(x,y) -> if(nonZero(x),x,y) 9: if(false(),x,y) -> y 10: if(true(),x,y) -> rand(p(x),id_inc(y)) Number of strict rules: 10 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #random(x) -> #rand(x,|0|()) #2: #if(true(),x,y) -> #rand(p(x),id_inc(y)) #3: #if(true(),x,y) -> #p(x) #4: #if(true(),x,y) -> #id_inc(y) #5: #rand(x,y) -> #if(nonZero(x),x,y) #6: #rand(x,y) -> #nonZero(x) Number of SCCs: 1, DPs: 2, edges: 2 SCC { #2 #5 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... succeeded. |0|() weight: 0 s(x1) weight: max{0, (/ 3 8) + x1} #rand(x1,x2) weight: max{0, (/ 1 4) + x1} nonZero(x1) weight: max{0, (/ 1 8) + x1} false() weight: (/ 1 8) #p(x1) weight: 0 true() weight: (/ 1 4) #nonZero(x1) weight: 0 rand(x1,x2) weight: 0 #id_inc(x1) weight: 0 p(x1) weight: max{0, (- (/ 3 8)) + x1} if(x1,x2,x3) weight: 0 random(x1) weight: 0 #random(x1) weight: 0 id_inc(x1) weight: (max (- (/ 1 8)) 0) #if(x1,x2,x3) weight: max{0, (/ 1 8) + x1, (/ 1 4) + x2} Usable rules: { 1..4 } Removed DPs: #2 Number of SCCs: 0, DPs: 0, edges: 0 YES