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