抽象によるソフトウェア設計 第3章 論理系 その5

今日は 3.4 演算子からです。

  • 定数 - none(空集合), univ(普遍集合), iden(恒等関係 全てのアトムから自分自身へのタプルの集合)
  • 集合演算子
    • + 集合和
    • & 集合積
    • - 集合差
    • in 部分集合
    • = 等価
      • in 演算子と = 演算子は評価結果が真偽になる
      • Alloy には同値性と同一性の区別はない。同じタプルをもつ集合は常に同一の集合であって、同値の集合が2つあるとは考えない
      • 型の制約はない。ただし集合のアリティは一致していないと演算できない
  • 関係演算子
    • -> 矢印(積)
    • . ドット(結合)
    • [] ボックス(結合)
    • ~ 転置
    • ^ 推移閉包
    • * 反射推移閉包
    • :> 値域制限
    • ++ オーバーライド

関係演算は集合演算子の名が意味を表現していたのに対してみたままの名前のものが多いですね。個々の関係演算子の意味は時間切れなので明日以降へ。