If the fact 0^0 = 0^0 * 0^0 doesn't settle 0^0 being 0 or 1, then more data is needed. You can't just stop at 0^0 = 0^0 * 0^0 -> (0^0 = 0 or 1) and say 0^0 is or should be undefined.
> Given this ambiguity, the prudent course is to leave 0^0 undefined > (like division by zero), especially in general purpose programming > languages. Currently, most programming languages seem to have 0^0 = > 1.
In your arguments you seem to switch between mathematics and programming. In mathematics 0^0 = 1, in programming 0^0 should be what the specification says it should be.
-- Sorrow in all lands, and grievous omens. Great anger in the dragon of the hills, And silent now the earth's green oracles That will not speak again of innocence. David Sutton -- Geomancies