Mike Barr's response to my
Even with the above understanding however I don't see how 0 can be understood as just another ordinary prime, any more than bottom is just another ordinary number in N_*.
was "I don't see your problem." And now that I reflect on that comment, I don't see it myself. With the benefit of sleeping on the problem combined with Mike's prod, the moral for me is clear. The Fundamental Theorem of Arithmetic is incomplete as stated. It should read as follows. Every natural number partitions uniquely as a sum of 1's, and every positive integer factors uniquely as a product of primes. The constructive proof of the theorem exhibits this ostensibly two-part structure uniformly as the completion under coproducts of the inverted flat CPO N^*. This coproduct-complete category is naturally analyzed into two components, additive upstairs and multiplicative downstairs. The components share the initial and final objects of the category, with the former manifesting as 0 in the additive component and 1 in the multiplicative, and conversely for the latter. And that's why 0 is at the top of the division lattice. The reason it (qua 1) is at the bottom of the additive component and not the top (its default location in an arbitrary category with 1) is because it generates Set (or in this case FinSet). It makes no sense to consider 0 as a prime because there is no way to define things such that 0 factors uniquely. The role of the morphisms in N^* is to prevent 0 from being an atom in the completion, instead making it final in the inverted CPO, which coproducts preserve and colimits do not. Had we completed under colimits, by Yoneda the final object would have been the constantly 1 functor. The top * of N^* would then no longer be the final object of the completion, being the unit functor for *, namely 1 at * and 0 elsewhere. With either completion the primes are the other unit functors, but only with the coproduct completion is the final object a unit functor. Vaughan