YES Time: 0.003583 TRS: { implies(x, or(y, z)) -> or(y, implies(x, z)), implies(not x, y) -> or(x, y), implies(not x, or(y, z)) -> implies(y, or(x, z))} DP: DP: { implies#(x, or(y, z)) -> implies#(x, z), implies#(not x, or(y, z)) -> implies#(y, or(x, z))} TRS: { implies(x, or(y, z)) -> or(y, implies(x, z)), implies(not x, y) -> or(x, y), implies(not x, or(y, z)) -> implies(y, or(x, z))} UR: {} EDG: {(implies#(not x, or(y, z)) -> implies#(y, or(x, z)), implies#(x, or(y, z)) -> implies#(x, z)) (implies#(x, or(y, z)) -> implies#(x, z), implies#(x, or(y, z)) -> implies#(x, z))} STATUS: arrows: 0.500000 SCCS (1): Scc: {implies#(x, or(y, z)) -> implies#(x, z)} SCC (1): Strict: {implies#(x, or(y, z)) -> implies#(x, z)} Weak: { implies(x, or(y, z)) -> or(y, implies(x, z)), implies(not x, y) -> or(x, y), implies(not x, or(y, z)) -> implies(y, or(x, z))} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [or](x0, x1) = x0 + 1, [implies](x0, x1) = x0 + 1, [not](x0) = 0, [implies#](x0, x1) = x0 Strict: implies#(x, or(y, z)) -> implies#(x, z) 1 + 0x + 0y + 1z >= 0 + 0x + 1z Weak: implies(not x, or(y, z)) -> implies(y, or(x, z)) 2 + 0x + 0y + 1z >= 2 + 0x + 0y + 1z implies(not x, y) -> or(x, y) 1 + 0x + 1y >= 1 + 0x + 1y implies(x, or(y, z)) -> or(y, implies(x, z)) 2 + 0x + 0y + 1z >= 2 + 0x + 0y + 1z Qed