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