公理

この章では、関数が呼出されたとき動作の定義を行う前提となる公理を定める。

これらは実行環境の動作を厳密に定めるために導入するものであり、 多くの読者にとってこの章の内容は退屈なものだろう。

公理に基づく処理

この仕様書において実行環境の動作が公理に基づいて定められている場合は、 実行環境はその裁量によって、その動作で定められた結果そのものの代わりに、 公理によってその結果と等しいと導かれる結果を用いても良い。

動作が公理を満たしていると見なしてという制約付きで定められている 場合は、実際に公理が満たされているかどうかに関わらず、公理が満たされていれば 正しい結果が得られるような一定の手順によって処理を行わなければならない。 すなわち、実際には公理が満たされていなくても、処理を行うのに支障がない限り、 公理が満たされている場合と同様の処理を行わなければならない (そしてその結果は本来の結果に等しくなくても良い)。 実際には公理が満たされておらず、そのために処理の継続に支障がある場合は、 エラーとする。特に、結果が正常終了となることが公理によって保証される部分の結果が 正常終了でなかった場合は、直ちにその結果を公理に基づく処理全体の結果として返す。

相等関係の公理

オブジェクトの集合 S相等関係の公理を満たしているとは、S に属する任意のオブジェクト a, b, c が以下の条件を全て満たすことである。

相等関係の公理は、== 演算子が同値関係であることを表している。

関数の公理

オブジェクト F関数の公理を満たしているとは、以下の条件を満たすことである。

関数の公理は、関数として呼出し可能なオブジェクトが (プログラミングにおける手続きとしての関数ではなく) 数学的な意味での関数であることを表す。

マグマの公理

マグマとは、 特定の二項演算が定義されたオブジェクトの集合である。

加法に関するマグマ

オブジェクトの集合 S加法に関するマグマの公理を満たしているとは、以下の条件を全て満たすことである。

乗法に関するマグマ

オブジェクトの集合 S乗法に関するマグマの公理を満たしているとは、以下の条件を全て満たすことである。

半群の公理

半群とは、演算に結合法則が成り立つマグマである。

加法に関する半群

オブジェクトの集合 S加法に関する半群の公理を満たしているとは、以下の条件を全て満たすことである。

乗法に関する半群

オブジェクトの集合 S乗法に関する半群の公理を満たしているとは、以下の条件を全て満たすことである。

モノイドの公理

モノイドとは、単位元のある半群である。

加法に関するモノイド

オブジェクトの集合 S加法に関するモノイドの公理を満たしているとは、以下の条件を全て満たすことである。

乗法に関するモノイド

オブジェクトの集合 S乗法に関するモノイドの公理を満たしているとは、以下の条件を全て満たすことである。

群の公理

群とは、逆演算の可能なモノイドである。

加法に関する群

オブジェクトの集合 S加法に関する群の公理を満たしているとは、以下の条件を全て満たすことである。

乗法に関する群

オブジェクトの集合 S乗法に関する群の公理を満たしているとは、以下の条件を全て満たすことである。

可換群の公理

可換群とは、演算に交換法則が成り立つ群である。

加法に関する可換群

オブジェクトの集合 S加法に関する可換群の公理を満たしているとは、以下の条件を全て満たすことである。

乗法に関する可換群

オブジェクトの集合 S乗法に関する可換群の公理を満たしているとは、以下の条件を全て満たすことである。

環の公理

環とは、 加法・減法・乗法が定義されたオブジェクトの集合である。 環は加法に関する可換群である。また環の加法と乗法には分配法則が成り立つ。

オブジェクトの集合 S環の公理を満たしているとは、以下の条件を全て満たすことである。

単位的環の公理

単位的環とは、乗法に単位元が存在する環である。

オブジェクトの集合 S単位的環の公理を満たしているとは、S環の公理乗法に関するモノイドの公理の両方を満たしていることである。

斜体の公理

斜体とは、 四則演算が定義されたオブジェクトの集合である。加法は可換であるが、 乗法は可換とは限らない。

オブジェクトの集合 S斜体の公理を満たしているとは、以下の条件を全て満たすことである。

体の公理

体とは、加法だけでなく乗法も可換な斜体である。

オブジェクトの集合 S体の公理を満たしているとは、S斜体の公理乗法に関する可換群の公理の両方を満たしていることである。

© 2006-2007 Magicant