YES Time: 0.006825 TRS: { if(x, y, y) -> y, if(x, y, if(x, y, z)) -> if(x, y, z), if(x, if(x, y, z), z) -> if(x, y, z), if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v)), if(true(), x, y) -> x, if(false(), x, y) -> y} DP: DP: {if#(if(x, y, z), u, v) -> if#(x, if(y, u, v), if(z, u, v)), if#(if(x, y, z), u, v) -> if#(y, u, v), if#(if(x, y, z), u, v) -> if#(z, u, v)} TRS: { if(x, y, y) -> y, if(x, y, if(x, y, z)) -> if(x, y, z), if(x, if(x, y, z), z) -> if(x, y, z), if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v)), if(true(), x, y) -> x, if(false(), x, y) -> y} UR: { if(x, y, y) -> y, if(x, y, if(x, y, z)) -> if(x, y, z), if(x, if(x, y, z), z) -> if(x, y, z), if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v)), if(true(), x, y) -> x, if(false(), x, y) -> y, a(w, t) -> w, a(w, t) -> t} EDG: {(if#(if(x, y, z), u, v) -> if#(z, u, v), if#(if(x, y, z), u, v) -> if#(z, u, v)) (if#(if(x, y, z), u, v) -> if#(z, u, v), if#(if(x, y, z), u, v) -> if#(y, u, v)) (if#(if(x, y, z), u, v) -> if#(z, u, v), if#(if(x, y, z), u, v) -> if#(x, if(y, u, v), if(z, u, v))) (if#(if(x, y, z), u, v) -> if#(x, if(y, u, v), if(z, u, v)), if#(if(x, y, z), u, v) -> if#(x, if(y, u, v), if(z, u, v))) (if#(if(x, y, z), u, v) -> if#(x, if(y, u, v), if(z, u, v)), if#(if(x, y, z), u, v) -> if#(y, u, v)) (if#(if(x, y, z), u, v) -> if#(x, if(y, u, v), if(z, u, v)), if#(if(x, y, z), u, v) -> if#(z, u, v)) (if#(if(x, y, z), u, v) -> if#(y, u, v), if#(if(x, y, z), u, v) -> if#(x, if(y, u, v), if(z, u, v))) (if#(if(x, y, z), u, v) -> if#(y, u, v), if#(if(x, y, z), u, v) -> if#(y, u, v)) (if#(if(x, y, z), u, v) -> if#(y, u, v), if#(if(x, y, z), u, v) -> if#(z, u, v))} STATUS: arrows: 0.000000 SCCS (1): Scc: {if#(if(x, y, z), u, v) -> if#(x, if(y, u, v), if(z, u, v)), if#(if(x, y, z), u, v) -> if#(y, u, v), if#(if(x, y, z), u, v) -> if#(z, u, v)} SCC (3): Strict: {if#(if(x, y, z), u, v) -> if#(x, if(y, u, v), if(z, u, v)), if#(if(x, y, z), u, v) -> if#(y, u, v), if#(if(x, y, z), u, v) -> if#(z, u, v)} Weak: { if(x, y, y) -> y, if(x, y, if(x, y, z)) -> if(x, y, z), if(x, if(x, y, z), z) -> if(x, y, z), if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v)), if(true(), x, y) -> x, if(false(), x, y) -> y} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [if](x0, x1, x2) = x0 + x1 + x2 + 1, [true] = 1, [false] = 0, [if#](x0, x1, x2) = x0 Strict: if#(if(x, y, z), u, v) -> if#(z, u, v) 1 + 1x + 1y + 0u + 0v + 1z >= 0 + 0u + 0v + 1z if#(if(x, y, z), u, v) -> if#(y, u, v) 1 + 1x + 1y + 0u + 0v + 1z >= 0 + 1y + 0u + 0v if#(if(x, y, z), u, v) -> if#(x, if(y, u, v), if(z, u, v)) 1 + 1x + 1y + 0u + 0v + 1z >= 0 + 1x + 0y + 0u + 0v + 0z Weak: if(false(), x, y) -> y 1 + 1x + 1y >= 1y if(true(), x, y) -> x 2 + 1x + 1y >= 1x if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v)) 2 + 1x + 1y + 1u + 1v + 1z >= 3 + 1x + 1y + 2u + 2v + 1z if(x, if(x, y, z), z) -> if(x, y, z) 2 + 2x + 1y + 2z >= 1 + 1x + 1y + 1z if(x, y, if(x, y, z)) -> if(x, y, z) 2 + 2x + 2y + 1z >= 1 + 1x + 1y + 1z if(x, y, y) -> y 1 + 1x + 2y >= 1y Qed