On Sun, 14 Mar 2010, Jon Lang wrote: > Ruud H.G. van Tol wrote: > > Did you consider "discrete"? > > I think that "Discrete" could work quite well as the role that > encapsulates the ways in which Integer and Gauss are alike. It may > even be genralizable beyond that, although there might be some discord > between theory and practice.

Discrete sounds good to me. Carl Friedrich Gauß was a very significant figure in the development of number theory and many other areas of mathematics; to use his name to label one of his a relatively minor developments doesn't really do him justice. Not that I have a better label in mind though. > (In theory, Boolean is every bit as discrete as Integer is; but in > practice, it has no use for most if not all of the methods in Integer that > pertain to discreteness (factors, remainders, primes, etc.) George Boole also worked in several areas of mathematics. One of those was what he termed "algebra of logic", hence "Boolean algebra" as mathematicians know it now. But what we (programmers) call "Boolean", although in line with his original concept, is a pale shadow of where Boolean Algebra has developed since. In particular there are things call power sets, and a field using set intersection and union over those has the same algebraic properties as the original "algebra of logic", but not with just two "true" and "false" values. So mathematically a "Boolean" value doesn't necessarily behave the same way as a bit, rather it behaves like a structured collection of bits. Treating an integer value as a vector of bits is certainly one such structure. Things like primes over Z(2) are not very interesting, but a field or ring over Z(2)^n does have interesting behaviour that depends on n. So I'm in favour of a "Boolean" role including things such as a vector of bits. I suggest "Predicate" as the name of the role which implements a single true-or-false value (as distinct from a bit, which implements a 0-or-1 value). -Martin