We are left with following problem, upon which TcT provides the
certificate YES(?,O(n^1)).

Strict Trs:
  { norm(nil()) -> 0()
  , norm(g(x, y)) -> s(norm(x))
  , f(x, nil()) -> g(nil(), x)
  , f(x, g(y, z)) -> g(f(x, y), z)
  , rem(nil(), y) -> nil()
  , rem(g(x, y), 0()) -> g(x, y)
  , rem(g(x, y), s(z)) -> rem(x, z) }
Obligation:
  runtime complexity
Answer:
  YES(?,O(n^1))

The input is overlay and right-linear. Switching to innermost
rewriting.

We are left with following problem, upon which TcT provides the
certificate YES(?,O(n^1)).

Strict Trs:
  { norm(nil()) -> 0()
  , norm(g(x, y)) -> s(norm(x))
  , f(x, nil()) -> g(nil(), x)
  , f(x, g(y, z)) -> g(f(x, y), z)
  , rem(nil(), y) -> nil()
  , rem(g(x, y), 0()) -> g(x, y)
  , rem(g(x, y), s(z)) -> rem(x, z) }
Obligation:
  innermost runtime complexity
Answer:
  YES(?,O(n^1))

The input was oriented with the instance of 'Small Polynomial Path
Order (PS)' as induced by the safe mapping

 safe(norm) = {}, safe(nil) = {}, safe(0) = {}, safe(g) = {1, 2},
 safe(s) = {1}, safe(f) = {1}, safe(rem) = {}

and precedence

 empty .

Following symbols are considered recursive:

 {norm, f, rem}

The recursion depth is 1.

For your convenience, here are the satisfied ordering constraints:

               norm(nil();) > 0()             
                                              
          norm(g(; x,  y);) > s(; norm(x;))   
                                              
                f(nil(); x) > g(; nil(),  x)  
                                              
           f(g(; y,  z); x) > g(; f(y; x),  z)
                                              
            rem(nil(),  y;) > nil()           
                                              
     rem(g(; x,  y),  0();) > g(; x,  y)      
                                              
  rem(g(; x,  y),  s(; z);) > rem(x,  z;)     
                                              

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