Given a sequence defined on the positive integers, how should it be extended to be defined at zero? This question is inspired by a lecture Bjorn Poonen gave at MIT last year.  I have ideas of my own, but I'm interested in what other people have to say, so I'll make this community wiki and post my own thoughts later.  Here are some examples of what I'm talking about:


*

*Why does a^0 = 1?

*Why does 0! = 1?

*If the Fibonacci number Fn+1 counts the number of ways to tile a board of length n with tiles of length 1 and 2, why does F1 = 1?

*What is the determinant of a 0x0 matrix?

*What is the degree of the zero polynomial?

*What is the direct product of zero groups?

*What is the zeroth homotopy group of a space?


I want to be very precise about exactly what I'm asking for here.
Question 1:  What general principles do you apply in a situation like this?  Can they be stated as theorems, or do they only exist at the level of intuition?
Question 2:  Do you know of any examples where there are two different ways to extend a sequence to zero, both of which are reasonable from the perspective of some principle?  
Feel free to answer at any level of sophistication.
 A: My own thought tend to revolve around some subset of the following:
--Find a combinatorial definition for the sequence, and see if it makes sense when you extend slightly further.
--If you are trying to perform a vacuous task (e.g. tiling an empty board, or counting functions defined on the empty set), you can do it in exactly one way.  Most of your examples fall under this class, including a^0 (functions defined on the empty set), 0! (bijections on the empty set), F_1 (tiling an empty board), and the cardinality of the direct product of no groups (choosing one object from each class, so the direct product should be the identity).
--An empty sum is equal to 0, an empty product is equal to 1.  (again the cardinality of the direct product of 0 groups should be 1).  
What about the determinant of a 0x0 matrix?  Well, it's a sum over all permutations from a 0 element to itself of an empty product.  There's one element in the sum (vacuous task), and its an empty product, so should be 1.  
I don't really know if there's a rigorous statement of this, or if there's not some way it can come into self-contradiction if there's two combinatorial ways of defining a sequence, but it's what seems natural to go by.  
A: Given your examples, you don't seem to be asking for a canonical way to extend arbitrary functions defined on positive integers to zero.  Instead, you're taking functions whose inputs are sets and asking if they can be defined when some input is the empty set.  As long as your sequence defined on positive integers comes equipped with this extra structure, you shouldn't have too much trouble extending it naturally.  If you start with an unstructured sequence, the reasons for favoring one extension over another become rather weak (e.g., Kolmogorov complexity).
Here's the standard example of a sequence that extends to zero in different ways: the sequence that is identically zero on the positive integers.  One extension is the zero function.  Other extensions interpret the sequence as n -> k 0n for some nonzero k.
Incidentally, you need to choose a base point on your space to define pi0.  Once you have that, it is the set of homotopy classes of pointed maps from S0 to your space.  Equivalently, it is the (pointed) set of path components.  It does not have a natural group structure (although it may if your space comes with some kind of composition law).
A: The determinant of an endomorphism f of a free R-module of dimension n (R commutative) is the $d \in R$ such that $\bigwedge^n f$ is the homothety of ratio d.
Our case corresponds to $n=0$, and $\bigwedge^0 f$ is the identity of R, so d=1.
The reasons, already given, why 0^0=1 (m^n is the number of functions from a set of cardinality n to a set of cardinality m) and 0!=1 (n! is the number of bijections of a set of cardinality n), are illustrations of Baez's ideas on counting as decategorification.
A: For the first three, you can define a recurrence.  Run the recurrences backward.
Also, 0! = Γ(1) = int_0^\infty e^(-t) = 1 ; here there's nothing special about 0.  (But Γ isn't defined for nonpositive integers.)
A: By considering a^0 and 0^b, it seems reasonable to me to define 0^0 to be 0 or 1 depending on what you're up to. Of course you could argue that you just shouldn't define 0^0 for this reason.
This might be considered cheating as an answer to question 2 though because I'm really extending a map for N^2 to (0,0) in two different ways.
A: This may sound lame, but I'd say you just look at the properties of the sequence you care about, and if you can define it so those properties still hold (exponent rules, recursion, universal properties...), then you do.  At least I can't imagine there being a more general answer than this.
Regarding 0^0, I'd say 0^0=1 works better "algebraically", since then you can still write 0^0=0^(-0)=1/(0^0), and 0^0=0^(0+0)=(0^0)*(0^0).
A: For a pointed space (X,p), the nth homotopy group πn(X,p) is usually defined as the group of maps of the n-sphere which take (1,0,...,0) to p, modulo homotopy-rel-basepoint.  What's potentially weird is that S0 is disconnected, whereas Sn is connected for n>0.  But then π0(X) just counts the number of path components of X.  Of course, it doesn't have a group structure because S0 isn't a cube with its boundary identified; this is anomalous.
On the other hand, this corresponds perfectly with the other characterization of homotopy groups I've seen, where π0(X,p) is defined to be the set of path components of X, and then πn(X,p) is inductively defined as the "loop space" of πn-1(X,p), i.e. the group of homotopy classes of loops starting and ending at the basepoint (rel basepoint, of course), with composition defined simply as composition of loops.
So, while in neither setup is π0(X,p) a group, I think this is as well-defined as it's going to get.  As far as I know, only in the setting of Lie groups is there a natural way to put a group structure on the path components (just take G/G0, where G is the Lie group and G0 is the path component of the identity).
