User blog:Testitemqlstudop/New formalized array notation

Since I am VERY FED UP with ill-definedness, I have instead defined my function as a Python 3 program with no factors of ill-definedness, intended to be ran on a computer with infinite recursion limit and infinite resources: def W ( v ):  assert  all ( isinstance (i, int ) for i in v)  if  len (v) ==  1  and v[ 0 ] ==  0 :  return  0  if v[ - 1 ] ==  0 : v = v[: - 1 ]  else : v[ - 1 ] -=  1 nv = v.copy  for i in  range ( len (v) - 1 ): nv[i] = W(v)  return W(nv) +  1   def  f ( n ):  return W([n] * n) Basically, W(A) is this, for an integer array A: What is the growth rate of f?
 * 1) If A is only one element 0, then the answer is 0.
 * 2) If the last element of A is 0, then remove it; otherwise, decrease the last element.
 * 3) Make a new array T = A.
 * 4) For all non-last elements of T, replace it with W(A).
 * 5) Return W(T) + 1.