抽象によるソフトウェア設計 第3章 論理系 その6
今日は関係演算子の説明からです。
- -> 矢印積 (直積)
- p -> q で p のタプルと q のタプルの全ての組み合わせを結合した関係を作る
- p, q のアリティが 2以上なら結果は多項関係になる
- . ドット結合
- [] ボックス結合
- ドット結合と意味は同じ。引数の順番と優先順位が違う
- p . q は q [p] と同じ
- ~ 転置
- タプルの順序を反転させた集合を返す。逆向きの関係を作る
- 二項関係が a -> b と b -> a のような逆向きのタプルを常に持つ時、対称的と言う。対称的な集合は転置で変化しない
- 対象閉包とは r を含む最小の対称的関係 : r + ~r
- ^ 推移閉包
- * 反射推移閉包
あとは値域の制限、定義域の制限が残っていますが今日はここまで。ひとつひとつ説明を読めばそんなに難しくないので安心しました。