>>11943521This is real late, but: anon, this is a perfectly valid way to define the function (assuming you can show it's defined for the relevant inputs, etc), with the caveat you need a terminating condition. So:
n! = n * (n-1)! for all positive integer n,
0! = 1
...is a complete definition of a function over the set of nonnegative integers. In the case of the factorial, you can reeatedly apply the first rule to itself to get a 'simpler' expression, aka, n*(n-1)*...*2*1. Either is valid.
However, some functions are more usefully defined using a recursive definition -- breaking it down like above is difficult, impossible, or just not helpful for understanding the function. A recursive definition is perfectly valid, as long as you can show it's self-consistent and defined for all values in its domain (usually shown by induction).