On Dec 22, 2011, at 12:25 PM, Alexander Solla wrote:

It is not "limiting" to make distinctions that capture real differences.  An overly broad generalization limits what can be proved.  Can we prove that every vehicle with wheels has a motor?  Of course not -- bicycles exist.  Can we prove every car has a motor?  Yes we can.  Throwing bottoms into the collection of values is like throwing bicycles into the collection of cars.  We can say /less/ about the collection than we could before, /because/ the collection is more general.

Sure, throwing bottom into the set of values means that we can no longer prove as many nice properties about them.  However, since bottom *does* exist in this set since functions cannot be guaranteed to terminate, the properties that we do prove will have more relevance.

Cheers,
Greg