Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

演習

用語の注意: 本書のソースコード中では run / check という言語の用語をそのまま使います。一方、画面の手順では Alloy Analyzer の UI 用語Execute 等に合わせてください。

解答の方針は 一つではありません。まず 解が出るか / 反例が出るか を確認し、そのあとで制約を絞り込む、という順が学習には向きます。

1. 著者は少なくとも一人

examples/hello.als(またはリポジトリの examples/hello.als)を出発点に、すべての本に少なくとも一人の著者がいることを fact で表現し、run で解が得られることを確認してください。

ヒント: Book 全体に対する all 量化と、wrote の逆方向の関係を考えます。

2. 著者は高々一人

同じモデルで、各本の著者は高々一人(重複著者なし)を追加したとき、意図した挙動になるかを確認してください。check で性質を書いても、run で反例を探しても構いません。

3. CLI(余力)

インストールした配布物の CLI で、上記のいずれかのファイルを非対話的に実行し、CI に載せるイメージを掴んでください。オプション名は版固有情報のため、手元の --help を正としてください。

次の章

次の一歩 へ。