2012-01-26 自然数に0を加える方が便利な理由 数学 隣の人(id:rf0444)と話してたらまとまったので。 0を含む自然数の集合と0を含まない自然数の集合を比較すると、 は半群*1であり、Monoid*2ではない。 は半群であり、Monoid*3である。 なんで、0を含めると自然数をより広いインタフェースで考えられるようになる。 あと、プログラマの場合は、リストやモナドと同じ枠組みで考えられるようになるのも大きい。 ……モナド分かってないけど、確かに対応していることは分かったので次はそれだな。 *1:交換則が成立する。すなわち、集合の任意の要素a,b,cに対して(a+b)+c=a+(b+c) *2:半群であり、なおかつ単位元を持つ。すなわち、集合の全ての要素aに対して、e+a = a+e = aとなるeが存在する *3:e = 0が唯一の解となる