YES(?,O(n^2)) 10.43/6.52 YES(?,O(n^2)) 10.43/6.52 10.43/6.52 Problem: 10.43/6.52 implies(not(x),y) -> or(x,y) 10.43/6.52 implies(not(x),or(y,z)) -> implies(y,or(x,z)) 10.43/6.52 implies(x,or(y,z)) -> or(y,implies(x,z)) 10.43/6.52 10.43/6.52 Proof: 10.43/6.52 Complexity Transformation Processor: 10.43/6.52 strict: 10.43/6.52 implies(not(x),y) -> or(x,y) 10.43/6.52 implies(not(x),or(y,z)) -> implies(y,or(x,z)) 10.43/6.52 implies(x,or(y,z)) -> or(y,implies(x,z)) 10.43/6.52 weak: 10.43/6.52 10.43/6.52 Matrix Interpretation Processor: dim=1 10.43/6.52 10.43/6.52 max_matrix: 10.43/6.52 1 10.43/6.52 interpretation: 10.43/6.52 [or](x0, x1) = x0 + x1 + 64, 10.43/6.52 10.43/6.52 [implies](x0, x1) = x0 + x1, 10.43/6.52 10.43/6.52 [not](x0) = x0 + 128 10.43/6.52 orientation: 10.43/6.52 implies(not(x),y) = x + y + 128 >= x + y + 64 = or(x,y) 10.43/6.52 10.43/6.52 implies(not(x),or(y,z)) = x + y + z + 192 >= x + y + z + 64 = implies(y,or(x,z)) 10.43/6.52 10.43/6.52 implies(x,or(y,z)) = x + y + z + 64 >= x + y + z + 64 = or(y,implies(x,z)) 10.43/6.52 problem: 10.43/6.52 strict: 10.43/6.52 implies(x,or(y,z)) -> or(y,implies(x,z)) 10.43/6.52 weak: 10.43/6.52 implies(not(x),y) -> or(x,y) 10.43/6.52 implies(not(x),or(y,z)) -> implies(y,or(x,z)) 10.43/6.52 Matrix Interpretation Processor: dim=4 10.43/6.52 10.43/6.52 max_matrix: 10.43/6.52 [1 0 1 1] 10.43/6.52 [0 0 1 0] 10.43/6.52 [0 0 1 1] 10.43/6.52 [0 0 0 0] 10.43/6.52 interpretation: 10.43/6.52 [1 0 0 1] [1 0 0 0] [0] 10.43/6.52 [0 0 0 0] [0 0 1 0] [0] 10.43/6.52 [or](x0, x1) = [0 0 0 0]x0 + [0 0 1 1]x1 + [0] 10.43/6.52 [0 0 0 0] [0 0 0 0] [1], 10.43/6.52 10.43/6.52 [1 0 0 1] [1 0 1 1] [0] 10.43/6.52 [0 0 0 0] [0 0 1 0] [1] 10.43/6.52 [implies](x0, x1) = [0 0 0 0]x0 + [0 0 1 1]x1 + [1] 10.43/6.52 [0 0 0 0] [0 0 0 0] [1], 10.43/6.52 10.43/6.52 [1 0 1 1] [1] 10.43/6.52 [0 0 0 0] [0] 10.43/6.52 [not](x0) = [0 0 0 0]x0 + [0] 10.43/6.52 [0 0 0 0] [1] 10.43/6.52 orientation: 10.43/6.52 [1 0 0 1] [1 0 0 1] [1 0 1 1] [1] [1 0 0 1] [1 0 0 1] [1 0 1 1] [0] 10.43/6.52 [0 0 0 0] [0 0 0 0] [0 0 1 1] [1] [0 0 0 0] [0 0 0 0] [0 0 1 1] [1] 10.43/6.52 implies(x,or(y,z)) = [0 0 0 0]x + [0 0 0 0]y + [0 0 1 1]z + [2] >= [0 0 0 0]x + [0 0 0 0]y + [0 0 1 1]z + [2] = or(y,implies(x,z)) 10.43/6.52 [0 0 0 0] [0 0 0 0] [0 0 0 0] [1] [0 0 0 0] [0 0 0 0] [0 0 0 0] [1] 10.43/6.52 10.43/6.52 [1 0 1 1] [1 0 1 1] [2] [1 0 0 1] [1 0 0 0] [0] 10.43/6.52 [0 0 0 0] [0 0 1 0] [1] [0 0 0 0] [0 0 1 0] [0] 10.43/6.52 implies(not(x),y) = [0 0 0 0]x + [0 0 1 1]y + [1] >= [0 0 0 0]x + [0 0 1 1]y + [0] = or(x,y) 10.43/6.52 [0 0 0 0] [0 0 0 0] [1] [0 0 0 0] [0 0 0 0] [1] 10.43/6.52 10.43/6.52 [1 0 1 1] [1 0 0 1] [1 0 1 1] [3] [1 0 0 1] [1 0 0 1] [1 0 1 1] [1] 10.43/6.52 [0 0 0 0] [0 0 0 0] [0 0 1 1] [1] [0 0 0 0] [0 0 0 0] [0 0 1 1] [1] 10.43/6.52 implies(not(x),or(y,z)) = [0 0 0 0]x + [0 0 0 0]y + [0 0 1 1]z + [2] >= [0 0 0 0]x + [0 0 0 0]y + [0 0 1 1]z + [2] = implies(y,or(x,z)) 10.43/6.52 [0 0 0 0] [0 0 0 0] [0 0 0 0] [1] [0 0 0 0] [0 0 0 0] [0 0 0 0] [1] 10.43/6.52 problem: 10.43/6.52 strict: 10.43/6.52 10.43/6.52 weak: 10.43/6.52 implies(x,or(y,z)) -> or(y,implies(x,z)) 10.43/6.52 implies(not(x),y) -> or(x,y) 10.43/6.52 implies(not(x),or(y,z)) -> implies(y,or(x,z)) 10.43/6.52 Qed 10.43/6.53 EOF