We consider the following Problem:

  Strict Trs:
    {  perfectp(0()) -> false()
     , perfectp(s(x)) -> f(x, s(0()), s(x), s(x))
     , f(0(), y, 0(), u) -> true()
     , f(0(), y, s(z), u) -> false()
     , f(s(x), 0(), z, u) -> f(x, u, minus(z, s(x)), u)
     , f(s(x), s(y), z, u) ->
       if(le(x, y), f(s(x), minus(y, x), z, u), f(x, u, z, u))}
  StartTerms: basic terms
  Strategy: innermost

Certificate: YES(?,O(n^1))

Proof:
  We consider the following Problem:
  
    Strict Trs:
      {  perfectp(0()) -> false()
       , perfectp(s(x)) -> f(x, s(0()), s(x), s(x))
       , f(0(), y, 0(), u) -> true()
       , f(0(), y, s(z), u) -> false()
       , f(s(x), 0(), z, u) -> f(x, u, minus(z, s(x)), u)
       , f(s(x), s(y), z, u) ->
         if(le(x, y), f(s(x), minus(y, x), z, u), f(x, u, z, u))}
    StartTerms: basic terms
    Strategy: innermost
  
  Certificate: YES(?,O(n^1))
  
  Proof:
    The weightgap principle applies, where following rules are oriented strictly:
    
    TRS Component:
      {  perfectp(0()) -> false()
       , f(0(), y, 0(), u) -> true()
       , f(0(), y, s(z), u) -> false()}
    
    Interpretation of nonconstant growth:
    -------------------------------------
      The following argument positions are usable:
        Uargs(perfectp) = {}, Uargs(s) = {}, Uargs(f) = {},
        Uargs(minus) = {}, Uargs(if) = {3}, Uargs(le) = {}
      We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
      Interpretation Functions:
       perfectp(x1) = [0 0] x1 + [1]
                      [1 1]      [1]
       0() = [0]
             [0]
       false() = [0]
                 [0]
       s(x1) = [0 0] x1 + [0]
               [0 0]      [0]
       f(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1 1] x4 + [1]
                           [1 1]      [1 1]      [0 0]      [0 0]      [1]
       true() = [0]
                [0]
       minus(x1, x2) = [0 0] x1 + [1 0] x2 + [0]
                       [0 0]      [0 0]      [0]
       if(x1, x2, x3) = [1 1] x1 + [0 0] x2 + [1 0] x3 + [0]
                        [0 0]      [0 1]      [0 0]      [0]
       le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                    [0 0]      [0 0]      [0]
    
    The strictly oriented rules are moved into the weak component.
    
    We consider the following Problem:
    
      Strict Trs:
        {  perfectp(s(x)) -> f(x, s(0()), s(x), s(x))
         , f(s(x), 0(), z, u) -> f(x, u, minus(z, s(x)), u)
         , f(s(x), s(y), z, u) ->
           if(le(x, y), f(s(x), minus(y, x), z, u), f(x, u, z, u))}
      Weak Trs:
        {  perfectp(0()) -> false()
         , f(0(), y, 0(), u) -> true()
         , f(0(), y, s(z), u) -> false()}
      StartTerms: basic terms
      Strategy: innermost
    
    Certificate: YES(?,O(n^1))
    
    Proof:
      The weightgap principle applies, where following rules are oriented strictly:
      
      TRS Component: {perfectp(s(x)) -> f(x, s(0()), s(x), s(x))}
      
      Interpretation of nonconstant growth:
      -------------------------------------
        The following argument positions are usable:
          Uargs(perfectp) = {}, Uargs(s) = {}, Uargs(f) = {},
          Uargs(minus) = {}, Uargs(if) = {3}, Uargs(le) = {}
        We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
        Interpretation Functions:
         perfectp(x1) = [0 0] x1 + [1]
                        [1 1]      [1]
         0() = [0]
               [0]
         false() = [0]
                   [0]
         s(x1) = [0 0] x1 + [0]
                 [0 0]      [0]
         f(x1, x2, x3, x4) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1 1] x4 + [0]
                             [0 0]      [1 1]      [0 0]      [0 0]      [1]
         true() = [0]
                  [0]
         minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                         [1 0]      [0 0]      [0]
         if(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [1 0] x3 + [1]
                          [0 1]      [0 1]      [0 0]      [0]
         le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                      [0 0]      [1 0]      [0]
      
      The strictly oriented rules are moved into the weak component.
      
      We consider the following Problem:
      
        Strict Trs:
          {  f(s(x), 0(), z, u) -> f(x, u, minus(z, s(x)), u)
           , f(s(x), s(y), z, u) ->
             if(le(x, y), f(s(x), minus(y, x), z, u), f(x, u, z, u))}
        Weak Trs:
          {  perfectp(s(x)) -> f(x, s(0()), s(x), s(x))
           , perfectp(0()) -> false()
           , f(0(), y, 0(), u) -> true()
           , f(0(), y, s(z), u) -> false()}
        StartTerms: basic terms
        Strategy: innermost
      
      Certificate: YES(?,O(n^1))
      
      Proof:
        The weightgap principle applies, where following rules are oriented strictly:
        
        TRS Component: {f(s(x), 0(), z, u) -> f(x, u, minus(z, s(x)), u)}
        
        Interpretation of nonconstant growth:
        -------------------------------------
          The following argument positions are usable:
            Uargs(perfectp) = {}, Uargs(s) = {}, Uargs(f) = {},
            Uargs(minus) = {}, Uargs(if) = {3}, Uargs(le) = {}
          We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
          Interpretation Functions:
           perfectp(x1) = [1 0] x1 + [2]
                          [0 0]      [1]
           0() = [2]
                 [3]
           false() = [0]
                     [0]
           s(x1) = [1 2] x1 + [0]
                   [0 0]      [2]
           f(x1, x2, x3, x4) = [1 2] x1 + [0 0] x2 + [0 0] x3 + [0 1] x4 + [0]
                               [0 0]      [0 0]      [0 0]      [0 0]      [0]
           true() = [0]
                    [0]
           minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
           if(x1, x2, x3) = [1 3] x1 + [0 0] x2 + [1 0] x3 + [2]
                            [0 0]      [0 0]      [0 0]      [1]
           le(x1, x2) = [0 0] x1 + [0 0] x2 + [2]
                        [0 0]      [0 0]      [3]
        
        The strictly oriented rules are moved into the weak component.
        
        We consider the following Problem:
        
          Strict Trs:
            {f(s(x), s(y), z, u) ->
             if(le(x, y), f(s(x), minus(y, x), z, u), f(x, u, z, u))}
          Weak Trs:
            {  f(s(x), 0(), z, u) -> f(x, u, minus(z, s(x)), u)
             , perfectp(s(x)) -> f(x, s(0()), s(x), s(x))
             , perfectp(0()) -> false()
             , f(0(), y, 0(), u) -> true()
             , f(0(), y, s(z), u) -> false()}
          StartTerms: basic terms
          Strategy: innermost
        
        Certificate: YES(?,O(n^1))
        
        Proof:
          The weightgap principle applies, where following rules are oriented strictly:
          
          TRS Component:
            {f(s(x), s(y), z, u) ->
             if(le(x, y), f(s(x), minus(y, x), z, u), f(x, u, z, u))}
          
          Interpretation of nonconstant growth:
          -------------------------------------
            The following argument positions are usable:
              Uargs(perfectp) = {}, Uargs(s) = {}, Uargs(f) = {},
              Uargs(minus) = {}, Uargs(if) = {3}, Uargs(le) = {}
            We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
            Interpretation Functions:
             perfectp(x1) = [1 3] x1 + [1]
                            [0 0]      [1]
             0() = [3]
                   [0]
             false() = [0]
                       [0]
             s(x1) = [1 3] x1 + [3]
                     [0 0]      [3]
             f(x1, x2, x3, x4) = [1 3] x1 + [0 0] x2 + [0 0] x3 + [0 0] x4 + [1]
                                 [0 0]      [0 0]      [0 0]      [0 0]      [0]
             true() = [0]
                      [0]
             minus(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
             if(x1, x2, x3) = [1 3] x1 + [0 0] x2 + [1 0] x3 + [3]
                              [0 0]      [0 0]      [0 0]      [0]
             le(x1, x2) = [0 0] x1 + [0 0] x2 + [2]
                          [0 0]      [0 0]      [2]
          
          The strictly oriented rules are moved into the weak component.
          
          We consider the following Problem:
          
            Weak Trs:
              {  f(s(x), s(y), z, u) ->
                 if(le(x, y), f(s(x), minus(y, x), z, u), f(x, u, z, u))
               , f(s(x), 0(), z, u) -> f(x, u, minus(z, s(x)), u)
               , perfectp(s(x)) -> f(x, s(0()), s(x), s(x))
               , perfectp(0()) -> false()
               , f(0(), y, 0(), u) -> true()
               , f(0(), y, s(z), u) -> false()}
            StartTerms: basic terms
            Strategy: innermost
          
          Certificate: YES(O(1),O(1))
          
          Proof:
            We consider the following Problem:
            
              Weak Trs:
                {  f(s(x), s(y), z, u) ->
                   if(le(x, y), f(s(x), minus(y, x), z, u), f(x, u, z, u))
                 , f(s(x), 0(), z, u) -> f(x, u, minus(z, s(x)), u)
                 , perfectp(s(x)) -> f(x, s(0()), s(x), s(x))
                 , perfectp(0()) -> false()
                 , f(0(), y, 0(), u) -> true()
                 , f(0(), y, s(z), u) -> false()}
              StartTerms: basic terms
              Strategy: innermost
            
            Certificate: YES(O(1),O(1))
            
            Proof:
              Empty rules are trivially bounded

Hurray, we answered YES(?,O(n^1))