Z-нотация: как написать схему операции, которая может добавить один или несколько кортежей в отношение - PullRequest
0 голосов
/ 01 июля 2019

Я пишу схему операции на 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-нотации, любая помощь будет принята с благодарностью. Спасибо!

...