MAYBE

Problem:
 double(0()) -> 0()
 double(s(x)) -> s(s(double(x)))
 half(0()) -> 0()
 half(s(0())) -> 0()
 half(s(s(x))) -> s(half(x))
 -(x,0()) -> x
 -(s(x),s(y)) -> -(x,y)
 if(0(),y,z) -> y
 if(s(x),y,z) -> z
 half(double(x)) -> x

Proof:
 Complexity Transformation Processor:
  strict:
   double(0()) -> 0()
   double(s(x)) -> s(s(double(x)))
   half(0()) -> 0()
   half(s(0())) -> 0()
   half(s(s(x))) -> s(half(x))
   -(x,0()) -> x
   -(s(x),s(y)) -> -(x,y)
   if(0(),y,z) -> y
   if(s(x),y,z) -> z
   half(double(x)) -> x
  weak:
   
  Matrix Interpretation Processor:
   dimension: 1
   max_matrix:
    1
    interpretation:
     [if](x0, x1, x2) = x0 + x1 + x2,
     
     [-](x0, x1) = x0 + x1,
     
     [half](x0) = x0 + 1,
     
     [s](x0) = x0,
     
     [double](x0) = x0,
     
     [0] = 0
    orientation:
     double(0()) = 0 >= 0 = 0()
     
     double(s(x)) = x >= x = s(s(double(x)))
     
     half(0()) = 1 >= 0 = 0()
     
     half(s(0())) = 1 >= 0 = 0()
     
     half(s(s(x))) = x + 1 >= x + 1 = s(half(x))
     
     -(x,0()) = x >= x = x
     
     -(s(x),s(y)) = x + y >= x + y = -(x,y)
     
     if(0(),y,z) = y + z >= y = y
     
     if(s(x),y,z) = x + y + z >= z = z
     
     half(double(x)) = x + 1 >= x = x
    problem:
     strict:
      double(0()) -> 0()
      double(s(x)) -> s(s(double(x)))
      half(s(s(x))) -> s(half(x))
      -(x,0()) -> x
      -(s(x),s(y)) -> -(x,y)
      if(0(),y,z) -> y
      if(s(x),y,z) -> z
     weak:
      half(0()) -> 0()
      half(s(0())) -> 0()
      half(double(x)) -> x
    Matrix Interpretation Processor:
     dimension: 1
     max_matrix:
      1
      interpretation:
       [if](x0, x1, x2) = x0 + x1 + x2 + 1,
       
       [-](x0, x1) = x0 + x1,
       
       [half](x0) = x0,
       
       [s](x0) = x0,
       
       [double](x0) = x0 + 1,
       
       [0] = 1
      orientation:
       double(0()) = 2 >= 1 = 0()
       
       double(s(x)) = x + 1 >= x + 1 = s(s(double(x)))
       
       half(s(s(x))) = x >= x = s(half(x))
       
       -(x,0()) = x + 1 >= x = x
       
       -(s(x),s(y)) = x + y >= x + y = -(x,y)
       
       if(0(),y,z) = y + z + 2 >= y = y
       
       if(s(x),y,z) = x + y + z + 1 >= z = z
       
       half(0()) = 1 >= 1 = 0()
       
       half(s(0())) = 1 >= 1 = 0()
       
       half(double(x)) = x + 1 >= x = x
      problem:
       strict:
        double(s(x)) -> s(s(double(x)))
        half(s(s(x))) -> s(half(x))
        -(s(x),s(y)) -> -(x,y)
       weak:
        double(0()) -> 0()
        -(x,0()) -> x
        if(0(),y,z) -> y
        if(s(x),y,z) -> z
        half(0()) -> 0()
        half(s(0())) -> 0()
        half(double(x)) -> x
      Matrix Interpretation Processor:
       dimension: 1
       max_matrix:
        1
        interpretation:
         [if](x0, x1, x2) = x0 + x1 + x2,
         
         [-](x0, x1) = x0 + x1,
         
         [half](x0) = x0,
         
         [s](x0) = x0 + 1,
         
         [double](x0) = x0,
         
         [0] = 0
        orientation:
         double(s(x)) = x + 1 >= x + 2 = s(s(double(x)))
         
         half(s(s(x))) = x + 2 >= x + 1 = s(half(x))
         
         -(s(x),s(y)) = x + y + 2 >= x + y = -(x,y)
         
         double(0()) = 0 >= 0 = 0()
         
         -(x,0()) = x >= x = x
         
         if(0(),y,z) = y + z >= y = y
         
         if(s(x),y,z) = x + y + z + 1 >= z = z
         
         half(0()) = 0 >= 0 = 0()
         
         half(s(0())) = 1 >= 0 = 0()
         
         half(double(x)) = x >= x = x
        problem:
         strict:
          double(s(x)) -> s(s(double(x)))
         weak:
          half(s(s(x))) -> s(half(x))
          -(s(x),s(y)) -> -(x,y)
          double(0()) -> 0()
          -(x,0()) -> x
          if(0(),y,z) -> y
          if(s(x),y,z) -> z
          half(0()) -> 0()
          half(s(0())) -> 0()
          half(double(x)) -> x
        Open