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: Matrix Interpretation Processor: dim=1 interpretation: [implies](x0, x1) = 5x0 + 5x1 + 1, [not](x0) = 5x0 + 1, [or](x0, x1) = 5x0 + x1 orientation: implies(not(x),y) = 25x + 5y + 6 >= 5x + y = or(x,y) implies(not(x),or(y,z)) = 25x + 25y + 5z + 6 >= 25x + 5y + 5z + 1 = implies(y,or(x,z)) implies(x,or(y,z)) = 5x + 25y + 5z + 1 >= 5x + 5y + 5z + 1 = or(y,implies(x,z)) problem: implies(x,or(y,z)) -> or(y,implies(x,z)) Matrix Interpretation Processor: dim=3 interpretation: [1 0 0] [1 1 1] [0] [implies](x0, x1) = [1 0 0]x0 + [0 0 1]x1 + [1] [1 0 0] [0 1 0] [0], [1 0 0] [1 0 0] [0] [or](x0, x1) = [0 0 0]x0 + [0 0 1]x1 + [1] [0 0 0] [0 1 0] [0] orientation: [1 0 0] [1 0 0] [1 1 1] [1] [1 0 0] [1 0 0] [1 1 1] [0] implies(x,or(y,z)) = [1 0 0]x + [0 0 0]y + [0 1 0]z + [1] >= [1 0 0]x + [0 0 0]y + [0 1 0]z + [1] = or(y,implies(x,z)) [1 0 0] [0 0 0] [0 0 1] [1] [1 0 0] [0 0 0] [0 0 1] [1] problem: Qed