YES Time: 0.006332 TRS: { if(true(), X, Y) -> X, if(false(), X, Y) -> activate Y, f X -> if(X, c(), n__f n__true()), f X -> n__f X, true() -> n__true(), activate X -> X, activate n__f X -> f activate X, activate n__true() -> true()} DP: DP: { if#(false(), X, Y) -> activate# Y, f# X -> if#(X, c(), n__f n__true()), activate# n__f X -> f# activate X, activate# n__f X -> activate# X, activate# n__true() -> true#()} TRS: { if(true(), X, Y) -> X, if(false(), X, Y) -> activate Y, f X -> if(X, c(), n__f n__true()), f X -> n__f X, true() -> n__true(), activate X -> X, activate n__f X -> f activate X, activate n__true() -> true()} UR: { if(true(), X, Y) -> X, if(false(), X, Y) -> activate Y, f X -> if(X, c(), n__f n__true()), f X -> n__f X, true() -> n__true(), activate X -> X, activate n__f X -> f activate X, activate n__true() -> true()} EDG: {(activate# n__f X -> activate# X, activate# n__f X -> f# activate X) (activate# n__f X -> activate# X, activate# n__f X -> activate# X) (activate# n__f X -> activate# X, activate# n__true() -> true#()) (activate# n__f X -> f# activate X, f# X -> if#(X, c(), n__f n__true())) (if#(false(), X, Y) -> activate# Y, activate# n__f X -> f# activate X) (if#(false(), X, Y) -> activate# Y, activate# n__f X -> activate# X) (if#(false(), X, Y) -> activate# Y, activate# n__true() -> true#())} STATUS: arrows: 0.720000 SCCS (1): Scc: {activate# n__f X -> activate# X} SCC (1): Strict: {activate# n__f X -> activate# X} Weak: { if(true(), X, Y) -> X, if(false(), X, Y) -> activate Y, f X -> if(X, c(), n__f n__true()), f X -> n__f X, true() -> n__true(), activate X -> X, activate n__f X -> f activate X, activate n__true() -> true()} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [if](x0, x1, x2) = x0 + x1 + x2 + 1, [n__f](x0) = x0 + 1, [f](x0) = 0, [activate](x0) = 0, [c] = 1, [n__true] = 1, [true] = 1, [false] = 1, [activate#](x0) = x0 Strict: activate# n__f X -> activate# X 1 + 1X >= 0 + 1X Weak: activate n__true() -> true() 0 >= 1 activate n__f X -> f activate X 0 + 0X >= 0 + 0X activate X -> X 0 + 0X >= 1X true() -> n__true() 1 >= 1 f X -> n__f X 0 + 0X >= 1 + 1X f X -> if(X, c(), n__f n__true()) 0 + 0X >= 4 + 1X if(false(), X, Y) -> activate Y 2 + 1X + 1Y >= 0 + 0Y if(true(), X, Y) -> X 2 + 1X + 1Y >= 1X Qed