私は、いずれかの学生にマークが入力されると、その学生は常にそのコースのマークを持っているというアサーションステートメントを書き込もうとしています(マークが変更される可能性はありますが)。生徒がマークを持っているかどうかを確認する方法はすでに知っていますが、そもそも生徒がマークを持っていない場合の確認方法がわかりません。また、このassertステートメントのチェックステートメントを作成するにはどうすればよいですか?
sig Student, Tutor, Mark {}
sig Course {
reg : set Student,
alloc : Student -> Tutor,
result : Student -> Mark
}
これは私が試したものです
assert chekmark
{all c:Course | let c' = CO/next[c] |
some Student.(c.Result) => some Student.(c.Result)}
check checkmark for 3
しかし、どういうわけかそれは言います:この式はタイプチェックされませんでした。私は正しいか間違っていますか、そして私が正しい場合はどうすれば修正できますか?