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: Complexity Transformation Processor: strict: 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)) weak: Matrix Interpretation Processor: dimension: 1 max_matrix: 1 interpretation: [or](x0, x1) = x0 + x1 + 6, [implies](x0, x1) = x0 + x1 + 2, [not](x0) = x0 + 8 orientation: implies(not(x),y) = x + y + 10 >= x + y + 6 = or(x,y) implies(not(x),or(y,z)) = x + y + z + 16 >= x + y + z + 8 = implies(y,or(x,z)) implies(x,or(y,z)) = x + y + z + 8 >= x + y + z + 8 = or(y,implies(x,z)) problem: strict: implies(x,or(y,z)) -> or(y,implies(x,z)) weak: implies(not(x),y) -> or(x,y) implies(not(x),or(y,z)) -> implies(y,or(x,z)) Matrix Interpretation Processor: dimension: 3 max_matrix: [1 0 1] [0 0 0] [0 0 1] interpretation: [1 0 0] [1 0 0] [1] [or](x0, x1) = [0 0 0]x0 + [0 0 0]x1 + [0] [0 0 0] [0 0 1] [1], [1 0 0] [1 0 1] [1] [implies](x0, x1) = [0 0 0]x0 + [0 0 0]x1 + [0] [0 0 0] [0 0 1] [1], [1 0 1] [not](x0) = [0 0 0]x0 [0 0 0] orientation: [1 0 0] [1 0 0] [1 0 1] [3] [1 0 0] [1 0 0] [1 0 1] [2] implies(x,or(y,z)) = [0 0 0]x + [0 0 0]y + [0 0 0]z + [0] >= [0 0 0]x + [0 0 0]y + [0 0 0]z + [0] = or(y,implies(x,z)) [0 0 0] [0 0 0] [0 0 1] [2] [0 0 0] [0 0 0] [0 0 1] [2] [1 0 1] [1 0 1] [1] [1 0 0] [1 0 0] [1] implies(not(x),y) = [0 0 0]x + [0 0 0]y + [0] >= [0 0 0]x + [0 0 0]y + [0] = or(x,y) [0 0 0] [0 0 1] [1] [0 0 0] [0 0 1] [1] [1 0 1] [1 0 0] [1 0 1] [3] [1 0 0] [1 0 0] [1 0 1] [3] implies(not(x),or(y,z)) = [0 0 0]x + [0 0 0]y + [0 0 0]z + [0] >= [0 0 0]x + [0 0 0]y + [0 0 0]z + [0] = implies(y,or(x,z)) [0 0 0] [0 0 0] [0 0 1] [2] [0 0 0] [0 0 0] [0 0 1] [2] problem: strict: 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)) Qed