我正在用合金語言描述一些模型。 爲了描述一個有限狀態機我公司提供的代碼,這幾行:爲什麼可能合金負基數
sig FSA_state {
transitions: some FSA_state,
initial: lone InitialState
}
sig InitialState {}
fact i {
all f: FSA_state | #(f.transitions) <= 0
}
pred show {
}
run show for 5 but 1 InitialState
現在我試圖找出爲什麼它使得在單一狀態大於零個過渡。 使用「評估者」工具我發現某些世界在設置轉換時具有負基數,它怎麼可能(一個集合不能少於零個元素)? 我在Evaluator中使用的指令是#(FSA_state.transitions)