Input TRS: 1: a__f(X) -> a__if(mark(X),c(),f(true())) 2: a__if(true(),X,Y) -> mark(X) 3: a__if(false(),X,Y) -> mark(Y) 4: mark(f(X)) -> a__f(mark(X)) 5: mark(if(X1,X2,X3)) -> a__if(mark(X1),mark(X2),X3) 6: mark(c()) -> c() 7: mark(true()) -> true() 8: mark(false()) -> false() 9: a__f(X) -> f(X) 10: a__if(X1,X2,X3) -> if(X1,X2,X3) Number of strict rules: 10 Direct Order(PosReal,>,Poly) ... removes: 9 a__f(x1) weight: (/ 1 2) + 2 * x1 false() weight: 0 c() weight: 0 true() weight: 0 f(x1) weight: (/ 1 4) + 2 * x1 if(x1,x2,x3) weight: x1 + 2 * x2 + x3 mark(x1) weight: 2 * x1 a__if(x1,x2,x3) weight: x1 + 2 * x2 + 2 * x3 Number of strict rules: 9 Direct Order(PosReal,>,Poly) ... failed. Freezing ... failed. Dependency Pairs: #1: #a__if(true(),X,Y) -> #mark(X) #2: #mark(if(X1,X2,X3)) -> #a__if(mark(X1),mark(X2),X3) #3: #mark(if(X1,X2,X3)) -> #mark(X1) #4: #mark(if(X1,X2,X3)) -> #mark(X2) #5: #a__if(false(),X,Y) -> #mark(Y) #6: #a__f(X) -> #a__if(mark(X),c(),f(true())) #7: #a__f(X) -> #mark(X) #8: #mark(f(X)) -> #a__f(mark(X)) #9: #mark(f(X)) -> #mark(X) Number of SCCs: 1, DPs: 9, edges: 36 SCC { #1..9 } Removing DPs: Order(PosReal,>,Sum)... succeeded. a__f(x1) weight: (/ 1 2) + x1 false() weight: 0 c() weight: 0 true() weight: 0 f(x1) weight: (/ 1 2) + x1 #mark(x1) weight: x1 if(x1,x2,x3) weight: x1 + x2 + x3 mark(x1) weight: x1 #a__if(x1,x2,x3) weight: x2 + x3 #a__f(x1) weight: (/ 1 2) + x1 a__if(x1,x2,x3) weight: x1 + x2 + x3 Usable rules: { 1..8 10 } Removed DPs: #7 #9 Number of SCCs: 1, DPs: 7, edges: 21 SCC { #1..6 #8 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... succeeded. a__f(x1) weight: (/ 1 2) + x1 false() weight: (/ 1 8) c() weight: (/ 1 8) true() weight: 0 f(x1) weight: (/ 1 2) + x1 #mark(x1) weight: (/ 1 8) + x1 if(x1,x2,x3) weight: max{x3, (/ 3 8) + x2, (/ 1 4) + x1} mark(x1) weight: x1 #a__if(x1,x2,x3) weight: max{(/ 1 8) + x3, (/ 1 4) + x2, (/ 3 8) + x1} #a__f(x1) weight: (/ 5 8) + x1 a__if(x1,x2,x3) weight: max{x3, (/ 3 8) + x2, (/ 1 4) + x1} Usable rules: { 1..8 10 } Removed DPs: #1 #3 #4 Number of SCCs: 1, DPs: 4, edges: 5 SCC { #2 #5 #6 #8 } Removing DPs: Order(PosReal,>,Sum)... succeeded. a__f(x1) weight: (/ 3 8) false() weight: 0 c() weight: 0 true() weight: 0 f(x1) weight: (/ 3 8) #mark(x1) weight: (/ 1 8) + x1 if(x1,x2,x3) weight: (/ 1 4) + x1 + x2 + x3 mark(x1) weight: (/ 1 4) #a__if(x1,x2,x3) weight: (/ 1 8) + x3 #a__f(x1) weight: (/ 1 2) a__if(x1,x2,x3) weight: (/ 1 8) + x2 + x3 Usable rules: { } Removed DPs: #2 Number of SCCs: 1, DPs: 3, edges: 3 SCC { #5 #6 #8 } Removing DPs: Order(PosReal,>,Sum)... Order(PosReal,>,Max)... QLPOpS... Order(PosReal,>,MaxSum)... succeeded. a__f(x1) weight: max{0, (/ 1 4) + x1} false() weight: (/ 1 2) c() weight: 0 true() weight: (/ 1 8) f(x1) weight: max{0, (/ 1 4) + x1} #mark(x1) weight: max{0, (/ 1 2) + x1} if(x1,x2,x3) weight: max{0, (- (/ 1 8)) + x3 + x2 + x1} mark(x1) weight: max{0, x1} #a__if(x1,x2,x3) weight: max{0, (/ 1 8) + x3 + x1} #a__f(x1) weight: max{0, (/ 5 8) + x1} a__if(x1,x2,x3) weight: max{0, (- (/ 1 8)) + x3 + x2 + x1} Usable rules: { 1..8 10 } Removed DPs: #5 #6 #8 Number of SCCs: 0, DPs: 0, edges: 0 YES