Я пишу схему операции на Z. Эта операция AssignValue отображает свойство в одно или несколько значений.
Одно свойство может быть связано с одним или несколькими значениями, а одно значение может быть связано с одним или несколькими свойствами, образуя отношение «многие ко многим», R ⊆ Свойство × Значение.
Я не уверен, как написать эту операцию, чтобы указать, что одно свойство может быть сопоставлено с одним или несколькими значениями . У меня есть две версии здесь. Версия A, кажется, отображает одно свойство только на одно значение.
Версия A:
--AssignValue---
| p? : Property
| v? : Value
-------
|R′ = R ∪ { p? ↦ v? }
-------
В версии B я добавил powerset в объявлении v? указать, что V? это набор значений (более одного значения).
Версия B:
--AssignValue---
| p? : Property
| v? : P Value
-------
|R′ = R ∪ { p? ↦ v? }
-------
Какая версия верна? или есть лучший способ представить это? Я новичок в z-нотации, любая помощь будет принята с благодарностью. Спасибо!