YES Problem: implies(not(x),y) -> or(x,y) implies(not(x),or(y,z)) -> implies(y,or(x,z)) implies(x,or(y,z)) -> or(y,implies(x,z)) Proof: DP Processor: DPs: implies#(not(x),or(y,z)) -> implies#(y,or(x,z)) implies#(x,or(y,z)) -> implies#(x,z) TRS: implies(not(x),y) -> or(x,y) implies(not(x),or(y,z)) -> implies(y,or(x,z)) implies(x,or(y,z)) -> or(y,implies(x,z)) Usable Rule Processor: DPs: implies#(not(x),or(y,z)) -> implies#(y,or(x,z)) implies#(x,or(y,z)) -> implies#(x,z) TRS: Matrix Interpretation Processor: dim=4 usable rules: interpretation: [implies#](x0, x1) = [0 0 1 1]x0 + [1 0 1 1]x1, [0 0 0 0] [1 0 1 1] [1] [0 0 0 0] [0 0 0 0] [0] [or](x0, x1) = [0 0 0 1]x0 + [0 0 1 1]x1 + [1] [0 0 1 1] [1 1 0 0] [0], [0 0 0 0] [0] [0 0 0 0] [0] [not](x0) = [0 0 1 1]x0 + [1] [0 0 0 1] [0] orientation: implies#(not(x),or(y,z)) = [0 0 1 2]x + [0 0 1 2]y + [2 1 2 2]z + [3] >= [0 0 1 2]x + [0 0 1 1]y + [2 1 2 2]z + [2] = implies#(y,or(x,z)) implies#(x,or(y,z)) = [0 0 1 1]x + [0 0 1 2]y + [2 1 2 2]z + [2] >= [0 0 1 1]x + [1 0 1 1]z = implies#(x,z) problem: DPs: TRS: Qed