Input TRS: 1: minus(x,0()) -> x 2: minus(s(x),s(y)) -> minus(x,y) 3: quot(0(),s(y)) -> 0() 4: quot(s(x),s(y)) -> s(quot(minus(x,y),s(y))) 5: app(nil(),y) -> y 6: app(add(n,x),y) -> add(n,app(x,y)) 7: reverse(nil()) -> nil() 8: reverse(add(n,x)) -> app(reverse(x),add(n,nil())) 9: shuffle(nil()) -> nil() 10: shuffle(add(n,x)) -> add(n,shuffle(reverse(x))) 11: concat(leaf(),y) -> y 12: concat(cons(u,v),y) -> cons(u,concat(v,y)) 13: less_leaves(x,leaf()) -> false() 14: less_leaves(leaf(),cons(w,z)) -> true() 15: less_leaves(cons(u,v),cons(w,z)) -> less_leaves(concat(u,v),concat(w,z)) 16: rand(x) ->= x 17: rand(x) ->= rand(s(x)) Number of strict rules: 15 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #minus(s(x),s(y)) -> #minus(x,y) #2: #app(add(n,x),y) -> #app(x,y) #3: #concat(cons(u,v),y) -> #concat(v,y) #4: #shuffle(add(n,x)) -> #shuffle(reverse(x)) #5: #shuffle(add(n,x)) -> #reverse(x) #6: #reverse(add(n,x)) -> #app(reverse(x),add(n,nil())) #7: #reverse(add(n,x)) -> #reverse(x) #8: #less_leaves(cons(u,v),cons(w,z)) -> #less_leaves(concat(u,v),concat(w,z)) #9: #less_leaves(cons(u,v),cons(w,z)) -> #concat(u,v) #10: #less_leaves(cons(u,v),cons(w,z)) -> #concat(w,z) #11: #quot(s(x),s(y)) -> #quot(minus(x,y),s(y)) #12: #quot(s(x),s(y)) -> #minus(x,y) Number of SCCs: 7, DPs: 7, edges: 7 SCC { #7 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: x1 #reverse(x1) weight: x1 minus(x1,x2) weight: (/ 1 2) + x1 #less_leaves(x1,x2) weight: 0 #concat(x1,x2) weight: 0 false() weight: 0 reverse(x1) weight: x1 true() weight: 0 rand(x1) weight: x1 shuffle(x1) weight: (/ 1 2) + x1 concat(x1,x2) weight: (/ 1 2) + x2 0() weight: 0 quot(x1,x2) weight: (/ 1 2) less_leaves(x1,x2) weight: 0 nil() weight: 0 #app(x1,x2) weight: 0 #minus(x1,x2) weight: 0 #shuffle(x1) weight: 0 cons(x1,x2) weight: (/ 1 2) add(x1,x2) weight: (/ 1 2) + x2 #quot(x1,x2) weight: 0 leaf() weight: 0 app(x1,x2) weight: x1 + x2 Removed DPs: #7 Number of SCCs: 6, DPs: 6, edges: 6 SCC { #4 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: x1 #reverse(x1) weight: 0 minus(x1,x2) weight: (/ 1 2) + x1 #less_leaves(x1,x2) weight: 0 #concat(x1,x2) weight: 0 false() weight: 0 reverse(x1) weight: x1 true() weight: 0 rand(x1) weight: x1 shuffle(x1) weight: (/ 1 2) + x1 concat(x1,x2) weight: (/ 1 2) + x2 0() weight: 0 quot(x1,x2) weight: (/ 1 2) less_leaves(x1,x2) weight: 0 nil() weight: 0 #app(x1,x2) weight: 0 #minus(x1,x2) weight: 0 #shuffle(x1) weight: x1 cons(x1,x2) weight: (/ 1 2) add(x1,x2) weight: (/ 1 2) + x2 #quot(x1,x2) weight: 0 leaf() weight: 0 app(x1,x2) weight: x1 + x2 Removed DPs: #4 Number of SCCs: 5, DPs: 5, edges: 5 SCC { #2 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: x1 #reverse(x1) weight: 0 minus(x1,x2) weight: (/ 1 2) + x1 #less_leaves(x1,x2) weight: 0 #concat(x1,x2) weight: 0 false() weight: 0 reverse(x1) weight: x1 true() weight: 0 rand(x1) weight: x1 shuffle(x1) weight: (/ 1 2) + x1 concat(x1,x2) weight: (/ 1 2) + x2 0() weight: 0 quot(x1,x2) weight: (/ 1 2) less_leaves(x1,x2) weight: 0 nil() weight: 0 #app(x1,x2) weight: x1 #minus(x1,x2) weight: 0 #shuffle(x1) weight: 0 cons(x1,x2) weight: (/ 1 2) add(x1,x2) weight: (/ 1 2) + x2 #quot(x1,x2) weight: 0 leaf() weight: 0 app(x1,x2) weight: x1 + x2 Removed DPs: #2 Number of SCCs: 4, DPs: 4, edges: 4 SCC { #3 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: x1 #reverse(x1) weight: 0 minus(x1,x2) weight: (/ 1 2) + x1 #less_leaves(x1,x2) weight: 0 #concat(x1,x2) weight: x1 false() weight: 0 reverse(x1) weight: x1 true() weight: 0 rand(x1) weight: x1 shuffle(x1) weight: (/ 1 2) + x1 concat(x1,x2) weight: (/ 1 2) + x1 + x2 0() weight: 0 quot(x1,x2) weight: (/ 1 2) less_leaves(x1,x2) weight: 0 nil() weight: 0 #app(x1,x2) weight: 0 #minus(x1,x2) weight: 0 #shuffle(x1) weight: 0 cons(x1,x2) weight: (/ 1 2) + x2 add(x1,x2) weight: (/ 1 2) + x2 #quot(x1,x2) weight: 0 leaf() weight: 0 app(x1,x2) weight: x1 + x2 Removed DPs: #3 Number of SCCs: 3, DPs: 3, edges: 3 SCC { #1 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. s(x1) weight: x1 status: [x1] precedence above: minus 0 #minus #reverse(x1) weight: x1 status: [] precedence above: minus(x1,x2) weight: max{0, x1} status: [x1] precedence above: #less_leaves(x1,x2) weight: (/ 1 8) + x2 + x1 status: [x1,x2] precedence above: #concat(x1,x2) weight: (/ 1 8) + x2 + x1 status: [x1,x2] precedence above: false() weight: (/ 1 4) status: [] precedence above: reverse(x1) weight: (/ 1 2) status: [] precedence above: shuffle add true() weight: (/ 1 4) status: [] precedence above: rand(x1) weight: (/ 1 8) + x1 status: [] precedence above: shuffle(x1) weight: (/ 1 8) + x1 status: [] precedence above: add concat(x1,x2) weight: (/ 1 2) + x2 + x1 status: [x1,x2] precedence above: less_leaves cons 0() weight: 0 status: [] precedence above: quot(x1,x2) weight: max{0, (/ 1 8) + x1} status: [x1] precedence above: s minus 0 #minus less_leaves(x1,x2) weight: (/ 3 8) status: [] precedence above: concat cons nil() weight: (/ 1 4) status: [] precedence above: #app(x1,x2) weight: (/ 1 8) + x2 + x1 status: [x1,x2] precedence above: #minus(x1,x2) weight: x1 status: [x1] precedence above: s minus 0 #shuffle(x1) weight: (/ 1 8) status: [] precedence above: cons(x1,x2) weight: (/ 1 8) + x1 status: [x1] precedence above: concat less_leaves add(x1,x2) weight: (/ 1 8) status: [] precedence above: shuffle #quot(x1,x2) weight: max{(/ 1 8) + x2, (/ 1 8) + x1} status: [x2,x1] precedence above: leaf() weight: (/ 1 8) status: [] precedence above: app(x1,x2) weight: (/ 1 4) + x2 status: [] precedence above: reverse shuffle add Removed DPs: #1 Number of SCCs: 2, DPs: 2, edges: 2 SCC { #11 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. s(x1) weight: x1 status: [x1] precedence above: minus 0 #minus #reverse(x1) weight: x1 status: [] precedence above: minus(x1,x2) weight: max{0, x1} status: [x1] precedence above: #less_leaves(x1,x2) weight: (/ 1 8) + x2 + x1 status: [x1,x2] precedence above: #concat(x1,x2) weight: (/ 1 8) + x2 + x1 status: [x1,x2] precedence above: false() weight: (/ 1 4) status: [] precedence above: reverse(x1) weight: (/ 1 2) status: [] precedence above: shuffle add true() weight: (/ 1 4) status: [] precedence above: rand(x1) weight: (/ 1 8) + x1 status: [] precedence above: shuffle(x1) weight: (/ 1 8) + x1 status: [] precedence above: add concat(x1,x2) weight: (/ 1 2) + x2 + x1 status: [x1,x2] precedence above: less_leaves cons 0() weight: 0 status: [] precedence above: quot(x1,x2) weight: max{0, (/ 1 8) + x1} status: [x1] precedence above: s minus 0 #minus less_leaves(x1,x2) weight: (/ 3 8) status: [] precedence above: concat cons nil() weight: (/ 1 4) status: [] precedence above: #app(x1,x2) weight: (/ 1 8) + x2 + x1 status: [x1,x2] precedence above: #minus(x1,x2) weight: x1 status: [x1] precedence above: s minus 0 #shuffle(x1) weight: (/ 1 8) status: [] precedence above: cons(x1,x2) weight: (/ 1 8) + x1 status: [x1] precedence above: concat less_leaves add(x1,x2) weight: (/ 1 8) status: [] precedence above: shuffle #quot(x1,x2) weight: max{(/ 1 8) + x2, (/ 1 4) + x1} status: [x1] precedence above: s minus 0 #minus leaf() weight: (/ 1 8) status: [] precedence above: app(x1,x2) weight: (/ 1 4) + x2 status: [] precedence above: reverse shuffle add Removed DPs: #11 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #8 } Removing DPs: Order(PosReal,>,Sum)... succeeded. s(x1) weight: x1 #reverse(x1) weight: 0 minus(x1,x2) weight: (/ 1 2) + x1 #less_leaves(x1,x2) weight: x1 + x2 #concat(x1,x2) weight: 0 false() weight: 0 reverse(x1) weight: x1 true() weight: 0 rand(x1) weight: x1 shuffle(x1) weight: (/ 1 2) + x1 concat(x1,x2) weight: (/ 1 2) + x1 + x2 0() weight: 0 quot(x1,x2) weight: (/ 1 2) less_leaves(x1,x2) weight: 0 nil() weight: 0 #app(x1,x2) weight: 0 #minus(x1,x2) weight: 0 #shuffle(x1) weight: 0 cons(x1,x2) weight: (/ 3 4) + x1 + x2 add(x1,x2) weight: (/ 1 2) + x2 #quot(x1,x2) weight: 0 leaf() weight: 0 app(x1,x2) weight: x1 + x2 Removed DPs: #8 Number of SCCs: 0, DPs: 0, edges: 0 YES