When we count a class of objects, we generate an enumeration of them, which we may represent by a

So, a class *A**n*

f:(nA). Bij(n;A;f)

which may also be expressed as

( n~A)

since *f*:(*A**B*). Bij(*A*; *B*; *f*)) (*A* ~ *B*)

( sinceA~n)Thm* ( .A~B) (B~A)

Now, since counting means coming up with an enumeration, we may ask whether counting in different ways, i.e., coming up with different orders, will always result in the same number, as we assume. Of course, we know this is so, but there are different degrees of knowing. It is not necessary to simply accept this as an axiom; there is enough structure to the problem to make a non-trivial proof.

Thm* ( A~m) (A~k)m=k

This theorem is closely related to what is sometimes called the "pigeon-hole principle", which states the mathematical content of the fact that if you put some number objects into fewer pigeon-holes, then there must be at least two objects going into the same pigeon-hole. Number the pigeon-holes with the members of *k**m**m**k*

Thm* m,k:,f:(mk).k<m(x,y:m.xy&f(x) =f(y))

If you examine the proofs of these theorems, you will notice that they both cite the key lemma

Thm* ( .f:(mk). Inj(m;k;f))mk

About: