CafeOBJ の仕様は、拡張子 .mod を持つテキストファイルとして記述する。
以下に自然数の仕様を記述した CafeOBJ の仕様の例を示す。
mod! SIMPLE-NAT {
[ Nat ]
op 0 : -> Nat
op s : Nat -> Nat
}
mod! NAT+ {
pr(SIMPLE-NAT)
op _+_ : Nat Nat -> Nat
eq 0 + M:Nat = M .
eq s (N:Nat) + M:Nat = s (N + M) .
}今は仕様が表す意味が理解できなくてもかまわない。
上記の仕様を、simple-nat.mod というファイル名を付けて保存せよ。ファイルは、任意のディレクトリに置いてかまわない。上記の仕様を手入力する場合は、キーワードの間に空白が必要な箇所があること、および CafeOBJ はキーワードに含まれる大文字小文字を厳格に区別することに注意せよ。
Original Copyright © Takahiro Seino, all rights reserved.