Of course

*you* can

define 0

! to be

anything you want. After all,

it's a free country (I hope). But if you're at all serious about

mathematics, you'll define 0!=1. It's not "

*hotly debated*", except by

undergrads with too much time on their hands.

- If you want n!=n*(n-1)! to hold wherever possible, you'll have 0!=1 for the formula to hold for n=1. (It can't hold for n=0, unless you do really weird things for (-2)!, which you're
*never ever* going to use, so don't bother trying to go that way)
- If you want to write
e^{x}=x^{0}/0!+x^{1}/1!+x^{2}/2!+...+x^{n}/n!+...

then you'll want 0!=1 for the formula to hold. (You'll also want 0^{0}=1 for the case x=0)
- If you want the gamma function identity that linux8086 mentions, you'll want 0!=1.
- If you want to think logically, 0!, the product of 0 factors, has to be the multiplicative identity, also known as 1.
- If you want the combinatorics to work out, you'll note that there's exactly
*one* way to permute the empty set: (), just like there's exactly *one* way to permute the set {1}: (1), just like there are exactly *two* ways to permute the set {1,2}: (1,2) and (2,1).
- If you can think of anywhere where it would be
*useful* to have 0! *not* equal 1, please /msg me.

So yes, you can decide you're not playing along. But you'll never get anything useful (and you'll have to

special case all your

formulae for n=0, and you'll work harder and finish all your tests last). So why not

get with the program?