Input TRS: 1: le(|0|(),y) -> true() 2: le(s(x),|0|()) -> false() 3: le(s(x),s(y)) -> le(x,y) 4: minus(|0|(),y) -> |0|() 5: minus(s(x),y) -> if_minus(le(s(x),y),s(x),y) 6: if_minus(true(),s(x),y) -> |0|() 7: if_minus(false(),s(x),y) -> s(minus(x,y)) 8: mod(|0|(),y) -> |0|() 9: mod(s(x),|0|()) -> |0|() 10: mod(s(x),s(y)) -> if_mod(le(y,x),s(x),s(y)) 11: if_mod(true(),s(x),s(y)) -> mod(minus(x,y),s(y)) 12: if_mod(false(),s(x),s(y)) -> s(x) 13: rand(x) ->= x 14: rand(x) ->= rand(s(x)) Number of strict rules: 12 Direct Order(PosReal,>,Poly) ... failed. Freezing le 1: le❆1_|0|(y) -> true() 2: le❆1_s(x,|0|()) -> false() 3: le❆1_s(x,s(y)) -> le(x,y) 4: minus(|0|(),y) -> |0|() 5: minus(s(x),y) -> if_minus(le❆1_s(x,y),s(x),y) 6: if_minus(true(),s(x),y) -> |0|() 7: if_minus(false(),s(x),y) -> s(minus(x,y)) 8: mod(|0|(),y) -> |0|() 9: mod(s(x),|0|()) -> |0|() 10: mod(s(x),s(y)) -> if_mod(le(y,x),s(x),s(y)) 11: if_mod(true(),s(x),s(y)) -> mod(minus(x,y),s(y)) 12: if_mod(false(),s(x),s(y)) -> s(x) 13: rand(x) ->= x 14: rand(x) ->= rand(s(x)) 15: le(|0|(),_1) ->= le❆1_|0|(_1) 16: le(s(_1),_2) ->= le❆1_s(_1,_2) Number of strict rules: 12 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #if_mod(true(),s(x),s(y)) -> #mod(minus(x,y),s(y)) #2: #if_mod(true(),s(x),s(y)) -> #minus(x,y) #3: #if_minus(false(),s(x),y) -> #minus(x,y) #4: #mod(s(x),s(y)) -> #if_mod(le(y,x),s(x),s(y)) #5: #mod(s(x),s(y)) -> #le(y,x) #6: #minus(s(x),y) -> #if_minus(le❆1_s(x,y),s(x),y) #7: #minus(s(x),y) -> #le❆1_s(x,y) #8: #le(s(_1),_2) ->? #le❆1_s(_1,_2) #9: #le❆1_s(x,s(y)) -> #le(x,y) #10: #le(|0|(),_1) ->? #le❆1_|0|(_1) Number of SCCs: 3, DPs: 6, edges: 6 SCC { #8 #9 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. |0|() weight: (/ 3 4) status: [] precedence above: le(x1,x2) weight: max{0, (/ 3 4) + x2} status: [x2] precedence above: le❆1_s le❆1_|0| s(x1) weight: x1 status: [x1] precedence above: #le(x1,x2) weight: x1 status: x1 minus(x1,x2) weight: max{(/ 5 4) + x2, x1} status: [x2,x1] precedence above: |0| s #le #le❆1_s if_minus mod(x1,x2) weight: max{(/ 3 2) + x2, (/ 1 8) + x1} status: [] precedence above: |0| s #le if_mod #le❆1_s false() weight: (/ 11 8) status: [] precedence above: true() weight: (/ 1 2) status: [] precedence above: rand(x1) weight: (/ 1 8) + x1 status: [] precedence above: le❆1_s(x1,x2) weight: max{0, (/ 3 4) + x2} status: [x2] precedence above: le le❆1_|0| if_mod(x1,x2,x3) weight: max{0, (/ 3 2) + x3, (/ 1 8) + x2} status: [] precedence above: |0| s #le mod #le❆1_s #if_minus(x1,x2,x3) weight: max{0, (/ 1 8) + x3} status: [x3] precedence above: le❆1_|0|(x1) weight: (/ 5 8) + x1 status: [] precedence above: #le❆1_|0|(x1) weight: x1 status: [] precedence above: #le❆1_s(x1,x2) weight: x1 status: x1 #minus(x1,x2) weight: max{0, x2} status: [] precedence above: #mod(x1,x2) weight: max{(/ 1 8) + x2, (/ 1 8) + x1} status: [x1,x2] precedence above: #if_mod(x1,x2,x3) weight: max{(/ 1 8) + x3, (/ 1 8) + x2, (/ 1 8) + x1} status: [x1,x2,x3] precedence above: if_minus(x1,x2,x3) weight: max{(/ 5 4) + x3, x2, (/ 3 8) + x1} status: [x3,x2] precedence above: |0| s #le minus #le❆1_s Removed DPs: #8 Number of SCCs: 2, DPs: 4, edges: 4 SCC { #3 #6 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. |0|() weight: 0 status: [] precedence above: le(x1,x2) weight: max{0, (/ 3 8) + x2} status: [] precedence above: false le❆1_s le❆1_|0| #minus s(x1) weight: x1 status: [x1] precedence above: |0| #minus #le(x1,x2) weight: x1 status: x1 minus(x1,x2) weight: max{0, x1} status: x1 mod(x1,x2) weight: max{(/ 1 2) + x2, x1} status: [x1,x2] precedence above: |0| s #le minus if_mod #le❆1_s #minus if_minus false() weight: (/ 1 8) status: [] precedence above: #minus true() weight: (/ 1 8) status: [] precedence above: rand(x1) weight: (/ 1 8) + x1 status: [] precedence above: le❆1_s(x1,x2) weight: max{0, (/ 3 8) + x2} status: [] precedence above: le false le❆1_|0| #minus if_mod(x1,x2,x3) weight: max{0, (/ 1 2) + x3, x2} status: [x2,x3] precedence above: |0| s #le minus mod #le❆1_s #minus if_minus #if_minus(x1,x2,x3) weight: max{0, x2} status: x2 le❆1_|0|(x1) weight: (/ 1 4) status: [] precedence above: #le❆1_|0|(x1) weight: x1 status: [] precedence above: #le❆1_s(x1,x2) weight: x1 status: x1 #minus(x1,x2) weight: max{0, x1} status: [x1] precedence above: #mod(x1,x2) weight: max{(/ 1 8) + x2, (/ 1 8) + x1} status: [x1,x2] precedence above: #if_mod(x1,x2,x3) weight: max{(/ 1 8) + x3, (/ 1 8) + x2, (/ 1 8) + x1} status: [x1,x2,x3] precedence above: if_minus(x1,x2,x3) weight: max{0, x2} status: x2 Removed DPs: #3 #6 Number of SCCs: 1, DPs: 2, edges: 2 SCC { #1 #4 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... QWPOpS(PosReal,>,MaxSum)... succeeded. |0|() weight: 0 status: [] precedence above: le(x1,x2) weight: max{0, (/ 1 2) + x2} status: [] precedence above: |0| s #le minus le❆1_s le❆1_|0| #le❆1_s #minus #mod #if_mod s(x1) weight: x1 status: [x1] precedence above: |0| le #le minus le❆1_s le❆1_|0| #le❆1_s #minus #mod #if_mod #le(x1,x2) weight: x1 status: x1 minus(x1,x2) weight: max{0, x1} status: x1 mod(x1,x2) weight: max{(/ 5 8) + x2, (/ 1 8) + x1} status: [] precedence above: |0| le s #le minus false le❆1_s if_mod le❆1_|0| #le❆1_s #minus #mod #if_mod if_minus false() weight: (/ 1 8) status: [] precedence above: #minus true() weight: (/ 1 4) status: [] precedence above: |0| le s #le minus le❆1_s le❆1_|0| #le❆1_s #minus #mod #if_mod rand(x1) weight: (/ 1 8) + x1 status: [] precedence above: le❆1_s(x1,x2) weight: max{0, (/ 1 2) + x2} status: [] precedence above: |0| le s #le minus le❆1_|0| #le❆1_s #minus #mod #if_mod if_mod(x1,x2,x3) weight: max{0, (/ 5 8) + x3, (/ 1 8) + x2} status: [] precedence above: |0| le s #le minus mod false le❆1_s le❆1_|0| #le❆1_s #minus #mod #if_mod if_minus #if_minus(x1,x2,x3) weight: max{0, x2} status: x2 le❆1_|0|(x1) weight: (/ 3 8) status: [] precedence above: #le❆1_|0|(x1) weight: x1 status: [] precedence above: #le❆1_s(x1,x2) weight: x1 status: x1 #minus(x1,x2) weight: max{0, x1} status: [x1] precedence above: #mod(x1,x2) weight: max{0, (/ 5 8) + x1} status: [x1] precedence above: |0| le s #le minus le❆1_s le❆1_|0| #le❆1_s #minus #if_mod #if_mod(x1,x2,x3) weight: max{0, (/ 5 8) + x2, (/ 1 8) + x1} status: [x2] precedence above: |0| le s #le minus le❆1_s le❆1_|0| #le❆1_s #minus #mod if_minus(x1,x2,x3) weight: max{0, x2} status: x2 Removed DPs: #1 Number of SCCs: 0, DPs: 0, edges: 0 YES