Input TRS: 1: a__and(tt(),X) -> mark(X) 2: a__plus(N,0()) -> mark(N) 3: a__plus(N,s(M)) -> s(a__plus(mark(N),mark(M))) 4: a__x(N,0()) -> 0() 5: a__x(N,s(M)) -> a__plus(a__x(mark(N),mark(M)),mark(N)) 6: mark(and(X1,X2)) -> a__and(mark(X1),X2) 7: mark(plus(X1,X2)) -> a__plus(mark(X1),mark(X2)) 8: mark(x(X1,X2)) -> a__x(mark(X1),mark(X2)) 9: mark(tt()) -> tt() 10: mark(0()) -> 0() 11: mark(s(X)) -> s(mark(X)) 12: a__and(X1,X2) -> and(X1,X2) 13: a__plus(X1,X2) -> plus(X1,X2) 14: a__x(X1,X2) -> x(X1,X2) Number of strict rules: 14 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #a__plus(N,0()) -> #mark(N) #2: #mark(and(X1,X2)) -> #a__and(mark(X1),X2) #3: #mark(and(X1,X2)) -> #mark(X1) #4: #mark(s(X)) -> #mark(X) #5: #mark(plus(X1,X2)) -> #a__plus(mark(X1),mark(X2)) #6: #mark(plus(X1,X2)) -> #mark(X1) #7: #mark(plus(X1,X2)) -> #mark(X2) #8: #a__x(N,s(M)) -> #a__plus(a__x(mark(N),mark(M)),mark(N)) #9: #a__x(N,s(M)) -> #a__x(mark(N),mark(M)) #10: #a__x(N,s(M)) -> #mark(N) #11: #a__x(N,s(M)) -> #mark(M) #12: #a__x(N,s(M)) -> #mark(N) #13: #a__plus(N,s(M)) -> #a__plus(mark(N),mark(M)) #14: #a__plus(N,s(M)) -> #mark(N) #15: #a__plus(N,s(M)) -> #mark(M) #16: #a__and(tt(),X) -> #mark(X) #17: #mark(x(X1,X2)) -> #a__x(mark(X1),mark(X2)) #18: #mark(x(X1,X2)) -> #mark(X1) #19: #mark(x(X1,X2)) -> #mark(X2) Number of SCCs: 1, DPs: 19, edges: 140 SCC { #1..19 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. a__plus(x1,x2) weight: max{(/ 1 4) + x2, x1} s(x1) weight: x1 and(x1,x2) weight: max{(/ 1 4) + x2, (/ 3 8) + x1} #a__x(x1,x2) weight: max{(/ 3 4) + x2, (/ 5 8) + x1} a__x(x1,x2) weight: max{(/ 3 8) + x2, (/ 1 4) + x1} x(x1,x2) weight: max{(/ 3 8) + x2, (/ 1 4) + x1} #a__plus(x1,x2) weight: max{(/ 1 2) + x2, (/ 3 8) + x1} #mark(x1) weight: (/ 3 8) + x1 0() weight: (/ 3 8) #a__and(x1,x2) weight: max{(/ 1 2) + x2, (/ 1 8) + x1} mark(x1) weight: x1 plus(x1,x2) weight: max{(/ 1 4) + x2, x1} tt() weight: (/ 1 8) a__and(x1,x2) weight: max{(/ 1 4) + x2, (/ 3 8) + x1} Usable rules: { 1..14 } Removed DPs: #2 #3 #7 #10..12 #15 #16 #18 #19 Number of SCCs: 1, DPs: 9, edges: 29 SCC { #1 #4..6 #8 #9 #13 #14 #17 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... succeeded. a__plus(x1,x2) status: [x1,x2] precedence above: s #a__plus plus s(x1) status: [x1] precedence above: and(x1,x2) status: x2 #a__x(x1,x2) status: [x2,x1] precedence above: a__plus s a__x x #a__plus 0 mark plus a__x(x1,x2) status: [x2,x1] precedence above: a__plus s #a__x x #a__plus 0 mark plus x(x1,x2) status: [x2,x1] precedence above: a__plus s #a__x a__x #a__plus 0 mark plus #a__plus(x1,x2) status: [x2,x1] precedence above: #mark(x1) status: x1 0() status: [] precedence above: #a__and(x1,x2) status: [x1] precedence above: mark(x1) status: x1 plus(x1,x2) status: [x1,x2] precedence above: a__plus s #a__plus tt() status: [] precedence above: a__and(x1,x2) status: x2 Usable rules: { 1..14 } Removed DPs: #1 #4..6 #8 #9 #14 Number of SCCs: 1, DPs: 1, edges: 1 SCC { #13 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... succeeded. a__plus(x1,x2) status: [x1,x2] precedence above: s #a__plus plus s(x1) status: [x1] precedence above: and(x1,x2) status: x2 #a__x(x1,x2) status: [x2,x1] precedence above: a__plus s a__x x #a__plus 0 mark plus a__x(x1,x2) status: [x2,x1] precedence above: a__plus s #a__x x #a__plus 0 mark plus x(x1,x2) status: [x2,x1] precedence above: a__plus s #a__x a__x #a__plus 0 mark plus #a__plus(x1,x2) status: [x2,x1] precedence above: #mark(x1) status: x1 0() status: [] precedence above: #a__and(x1,x2) status: [x1] precedence above: mark(x1) status: x1 plus(x1,x2) status: [x1,x2] precedence above: a__plus s #a__plus tt() status: [] precedence above: a__and(x1,x2) status: x2 Usable rules: { 1..14 } Removed DPs: #13 Number of SCCs: 0, DPs: 0, edges: 0 YES