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: plus(0(),y) -> y 6: plus(s(x),y) -> s(plus(x,y)) 7: minus(minus(x,y),z) -> minus(x,plus(y,z)) 8: app(nil(),k) -> k 9: app(l,nil()) -> l 10: app(cons(x,l),k) -> cons(x,app(l,k)) 11: sum(cons(x,nil())) -> cons(x,nil()) 12: sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) 13: sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) 14: plus(s(x),s(y)) -> s(s(plus(if(gt(x,y),x,y),if(not(gt(x,y)),id(x),id(y))))) 15: plus(s(x),x) -> plus(if(gt(x,x),id(x),id(x)),s(x)) 16: plus(zero(),y) -> y 17: plus(id(x),s(y)) -> s(plus(x,if(gt(s(y),y),y,s(y)))) 18: id(x) -> x 19: if(true(),x,y) -> x 20: if(false(),x,y) -> y 21: not(x) -> if(x,false(),true()) 22: gt(s(x),zero()) -> true() 23: gt(zero(),y) -> false() 24: gt(s(x),s(y)) -> gt(x,y) Number of strict rules: 24 Direct Order(PosReal,>,Poly) ... failed. Freezing gt 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: plus(0(),y) -> y 6: plus(s(x),y) -> s(plus(x,y)) 7: minus(minus(x,y),z) -> minus(x,plus(y,z)) 8: app(nil(),k) -> k 9: app(l,nil()) -> l 10: app(cons(x,l),k) -> cons(x,app(l,k)) 11: sum(cons(x,nil())) -> cons(x,nil()) 12: sum(cons(x,cons(y,l))) -> sum(cons(plus(x,y),l)) 13: sum(app(l,cons(x,cons(y,k)))) -> sum(app(l,sum(cons(x,cons(y,k))))) 14: plus(s(x),s(y)) -> s(s(plus(if(gt(x,y),x,y),if(not(gt(x,y)),id(x),id(y))))) 15: plus(s(x),x) -> plus(if(gt(x,x),id(x),id(x)),s(x)) 16: plus(zero(),y) -> y 17: plus(id(x),s(y)) -> s(plus(x,if(gt❆1_s(y,y),y,s(y)))) 18: id(x) -> x 19: if(true(),x,y) -> x 20: if(false(),x,y) -> y 21: not(x) -> if(x,false(),true()) 22: gt❆1_s(x,zero()) -> true() 23: gt❆1_zero(y) -> false() 24: gt❆1_s(x,s(y)) -> gt(x,y) 25: gt(zero(),_1) ->= gt❆1_zero(_1) 26: gt(s(_1),_2) ->= gt❆1_s(_1,_2) Number of strict rules: 24 Direct Order(PosReal,>,Poly) ... failed. Dependency Pairs: #1: #minus(s(x),s(y)) -> #minus(x,y) #2: #plus(s(x),y) -> #plus(x,y) #3: #sum(app(l,cons(x,cons(y,k)))) -> #sum(app(l,sum(cons(x,cons(y,k))))) #4: #sum(app(l,cons(x,cons(y,k)))) -> #app(l,sum(cons(x,cons(y,k)))) #5: #sum(app(l,cons(x,cons(y,k)))) -> #sum(cons(x,cons(y,k))) #6: #gt❆1_s(x,s(y)) -> #gt(x,y) #7: #sum(cons(x,cons(y,l))) -> #sum(cons(plus(x,y),l)) #8: #sum(cons(x,cons(y,l))) -> #plus(x,y) #9: #plus(s(x),s(y)) -> #plus(if(gt(x,y),x,y),if(not(gt(x,y)),id(x),id(y))) #10: #plus(s(x),s(y)) -> #if(gt(x,y),x,y) #11: #plus(s(x),s(y)) -> #gt(x,y) #12: #plus(s(x),s(y)) -> #if(not(gt(x,y)),id(x),id(y)) #13: #plus(s(x),s(y)) -> #not(gt(x,y)) #14: #plus(s(x),s(y)) -> #gt(x,y) #15: #plus(s(x),s(y)) -> #id(x) #16: #plus(s(x),s(y)) -> #id(y) #17: #gt(zero(),_1) ->? #gt❆1_zero(_1) #18: #minus(minus(x,y),z) -> #minus(x,plus(y,z)) #19: #minus(minus(x,y),z) -> #plus(y,z) #20: #app(cons(x,l),k) -> #app(l,k) #21: #plus(id(x),s(y)) -> #plus(x,if(gt❆1_s(y,y),y,s(y))) #22: #plus(id(x),s(y)) -> #if(gt❆1_s(y,y),y,s(y)) #23: #plus(id(x),s(y)) -> #gt❆1_s(y,y) #24: #gt(s(_1),_2) ->? #gt❆1_s(_1,_2) #25: #not(x) -> #if(x,false(),true()) #26: #plus(s(x),x) -> #plus(if(gt(x,x),id(x),id(x)),s(x)) #27: #plus(s(x),x) -> #if(gt(x,x),id(x),id(x)) #28: #plus(s(x),x) -> #gt(x,x) #29: #plus(s(x),x) -> #id(x) #30: #plus(s(x),x) -> #id(x) #31: #quot(s(x),s(y)) -> #quot(minus(x,y),s(y)) #32: #quot(s(x),s(y)) -> #minus(x,y) Number of SCCs: 7, DPs: 12, edges: 26 SCC { #20 } Removing DPs: Order(PosReal,>,Sum)... succeeded. zero() weight: 0 s(x1) weight: 0 gt(x1,x2) weight: 0 minus(x1,x2) weight: 0 #plus(x1,x2) weight: 0 false() weight: 0 #id(x1) weight: 0 true() weight: 0 gt❆1_zero(x1) weight: 0 sum(x1) weight: 0 #not(x1) weight: 0 #gt❆1_zero(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: 0 quot(x1,x2) weight: 0 nil() weight: 0 #gt(x1,x2) weight: 0 #app(x1,x2) weight: x1 #gt❆1_s(x1,x2) weight: 0 #minus(x1,x2) weight: 0 plus(x1,x2) weight: 0 cons(x1,x2) weight: (/ 1 2) + x2 #if(x1,x2,x3) weight: 0 id(x1) weight: 0 #quot(x1,x2) weight: 0 #sum(x1) weight: 0 gt❆1_s(x1,x2) weight: 0 not(x1) weight: 0 app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #20 Number of SCCs: 6, DPs: 11, edges: 25 SCC { #31 } Removing DPs: Order(PosReal,>,Sum)... succeeded. zero() weight: 0 s(x1) weight: (/ 1 2) + x1 gt(x1,x2) weight: (/ 1 2) + x1 minus(x1,x2) weight: (/ 1 4) + x1 #plus(x1,x2) weight: 0 false() weight: 0 #id(x1) weight: 0 true() weight: 0 gt❆1_zero(x1) weight: (/ 3 4) sum(x1) weight: 0 #not(x1) weight: 0 #gt❆1_zero(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: (/ 1 2) + x2 quot(x1,x2) weight: 0 nil() weight: 0 #gt(x1,x2) weight: 0 #app(x1,x2) weight: 0 #gt❆1_s(x1,x2) weight: 0 #minus(x1,x2) weight: 0 plus(x1,x2) weight: (/ 1 4) cons(x1,x2) weight: (/ 1 4) #if(x1,x2,x3) weight: 0 id(x1) weight: (/ 1 4) + x1 #quot(x1,x2) weight: x1 #sum(x1) weight: 0 gt❆1_s(x1,x2) weight: (/ 1 4) + x1 not(x1) weight: (/ 1 4) app(x1,x2) weight: 0 Usable rules: { 1 2 7 } Removed DPs: #31 Number of SCCs: 5, DPs: 10, edges: 24 SCC { #7 } Removing DPs: Order(PosReal,>,Sum)... succeeded. zero() weight: 0 s(x1) weight: 0 gt(x1,x2) weight: (/ 1 2) + x1 minus(x1,x2) weight: 0 #plus(x1,x2) weight: 0 false() weight: 0 #id(x1) weight: 0 true() weight: 0 gt❆1_zero(x1) weight: (/ 3 4) sum(x1) weight: 0 #not(x1) weight: 0 #gt❆1_zero(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: x2 quot(x1,x2) weight: 0 nil() weight: 0 #gt(x1,x2) weight: 0 #app(x1,x2) weight: 0 #gt❆1_s(x1,x2) weight: 0 #minus(x1,x2) weight: 0 plus(x1,x2) weight: (/ 1 4) + x2 cons(x1,x2) weight: (/ 1 4) + x2 #if(x1,x2,x3) weight: 0 id(x1) weight: 0 #quot(x1,x2) weight: 0 #sum(x1) weight: x1 gt❆1_s(x1,x2) weight: (/ 1 4) not(x1) weight: (/ 1 4) app(x1,x2) weight: 0 Usable rules: { 5 6 14..17 } Removed DPs: #7 Number of SCCs: 4, DPs: 9, edges: 23 SCC { #6 #24 } Removing DPs: Order(PosReal,>,Sum)... succeeded. zero() weight: 0 s(x1) weight: (/ 1 8) + x1 gt(x1,x2) weight: (/ 3 8) minus(x1,x2) weight: x1 #plus(x1,x2) weight: 0 false() weight: 0 #id(x1) weight: 0 true() weight: 0 gt❆1_zero(x1) weight: (/ 1 2) sum(x1) weight: 0 #not(x1) weight: 0 #gt❆1_zero(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: x2 quot(x1,x2) weight: 0 nil() weight: 0 #gt(x1,x2) weight: x1 + x2 #app(x1,x2) weight: 0 #gt❆1_s(x1,x2) weight: x1 + x2 #minus(x1,x2) weight: 0 plus(x1,x2) weight: (/ 1 8) cons(x1,x2) weight: (/ 1 8) #if(x1,x2,x3) weight: 0 id(x1) weight: 0 #quot(x1,x2) weight: 0 #sum(x1) weight: x1 gt❆1_s(x1,x2) weight: (/ 1 8) + x2 not(x1) weight: (/ 1 8) app(x1,x2) weight: 0 Usable rules: { } Removed DPs: #6 #24 Number of SCCs: 3, DPs: 7, edges: 21 SCC { #3 } Removing DPs: Order(PosReal,>,Sum)... succeeded. zero() weight: 0 s(x1) weight: (/ 1 8) + x1 gt(x1,x2) weight: (/ 3 8) minus(x1,x2) weight: x1 #plus(x1,x2) weight: 0 false() weight: 0 #id(x1) weight: 0 true() weight: 0 gt❆1_zero(x1) weight: (/ 1 2) sum(x1) weight: (/ 1 8) #not(x1) weight: 0 #gt❆1_zero(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: x2 quot(x1,x2) weight: 0 nil() weight: 0 #gt(x1,x2) weight: 0 #app(x1,x2) weight: 0 #gt❆1_s(x1,x2) weight: 0 #minus(x1,x2) weight: 0 plus(x1,x2) weight: (/ 1 8) cons(x1,x2) weight: (/ 1 8) + x2 #if(x1,x2,x3) weight: 0 id(x1) weight: 0 #quot(x1,x2) weight: 0 #sum(x1) weight: x1 gt❆1_s(x1,x2) weight: (/ 1 8) + x2 not(x1) weight: (/ 1 8) app(x1,x2) weight: (/ 1 8) + x1 + x2 Usable rules: { 8..12 } Removed DPs: #3 Number of SCCs: 2, DPs: 6, edges: 20 SCC { #1 #18 } Removing DPs: Order(PosReal,>,Sum)... succeeded. zero() weight: 0 s(x1) weight: (/ 1 8) + x1 gt(x1,x2) weight: (/ 3 8) minus(x1,x2) weight: (/ 1 8) + x1 #plus(x1,x2) weight: 0 false() weight: 0 #id(x1) weight: 0 true() weight: 0 gt❆1_zero(x1) weight: (/ 1 2) sum(x1) weight: (/ 1 8) #not(x1) weight: 0 #gt❆1_zero(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: x2 quot(x1,x2) weight: 0 nil() weight: 0 #gt(x1,x2) weight: 0 #app(x1,x2) weight: 0 #gt❆1_s(x1,x2) weight: 0 #minus(x1,x2) weight: x1 plus(x1,x2) weight: (/ 1 8) cons(x1,x2) weight: (/ 1 8) + x2 #if(x1,x2,x3) weight: 0 id(x1) weight: 0 #quot(x1,x2) weight: 0 #sum(x1) weight: x1 gt❆1_s(x1,x2) weight: (/ 1 8) + x2 not(x1) weight: (/ 1 8) app(x1,x2) weight: (/ 1 8) + x1 + x2 Usable rules: { } Removed DPs: #1 #18 Number of SCCs: 1, DPs: 4, edges: 16 SCC { #2 #9 #21 #26 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. zero() weight: 0 s(x1) weight: (/ 7 16) + x1 gt(x1,x2) weight: 0 minus(x1,x2) weight: 0 #plus(x1,x2) weight: max{(/ 1 16) + x2, (/ 3 16) + x1} false() weight: 0 #id(x1) weight: 0 true() weight: 0 gt❆1_zero(x1) weight: 0 sum(x1) weight: 0 #not(x1) weight: 0 #gt❆1_zero(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: max{x3, (/ 1 4) + x2, (/ 1 4) + x1} quot(x1,x2) weight: 0 nil() weight: 0 #gt(x1,x2) weight: 0 #app(x1,x2) weight: 0 #gt❆1_s(x1,x2) weight: 0 #minus(x1,x2) weight: 0 plus(x1,x2) weight: 0 cons(x1,x2) weight: 0 #if(x1,x2,x3) weight: 0 id(x1) weight: (/ 1 16) + x1 #quot(x1,x2) weight: 0 #sum(x1) weight: 0 gt❆1_s(x1,x2) weight: 0 not(x1) weight: (/ 1 4) + x1 app(x1,x2) weight: 0 Usable rules: { 18..26 } Removed DPs: #9 #26 Number of SCCs: 1, DPs: 2, edges: 4 SCC { #2 #21 } Removing DPs: Order(PosReal,>,Sum)... succeeded. zero() weight: 0 s(x1) weight: (/ 3 8) + x1 gt(x1,x2) weight: (/ 1 4) minus(x1,x2) weight: (/ 1 8) + x1 #plus(x1,x2) weight: x1 false() weight: 0 #id(x1) weight: 0 true() weight: 0 gt❆1_zero(x1) weight: (/ 3 8) + x1 sum(x1) weight: (/ 1 8) #not(x1) weight: 0 #gt❆1_zero(x1) weight: 0 0() weight: 0 if(x1,x2,x3) weight: (/ 1 8) + x2 + x3 quot(x1,x2) weight: 0 nil() weight: 0 #gt(x1,x2) weight: 0 #app(x1,x2) weight: 0 #gt❆1_s(x1,x2) weight: 0 #minus(x1,x2) weight: 0 plus(x1,x2) weight: (/ 1 8) + x1 cons(x1,x2) weight: (/ 1 8) + x2 #if(x1,x2,x3) weight: 0 id(x1) weight: (/ 1 8) + x1 #quot(x1,x2) weight: 0 #sum(x1) weight: x1 gt❆1_s(x1,x2) weight: (/ 1 8) not(x1) weight: (/ 1 8) app(x1,x2) weight: (/ 1 8) + x1 + x2 Usable rules: { 19 20 } Removed DPs: #2 #21 Number of SCCs: 0, DPs: 0, edges: 0 YES