Python.use(better, VDM++) #munion -- merge

記事一覧

munion -- merge

《著》小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2000/04/03 ● 第1版♪2003/05/23 ● 第2版♪2006/10/01 ● 第3版♪2009/10/07

事例:モジュールを起動する

■ 全項目を確認する

全ステップの「項目」を確認するには、関数 do を利用します。

$ python -i VDM.py
>>> do()
@: tips_munion -- def munion(m1,m2):
...
>>>
>>> help(VDM_map.munion)
...
munion(m1, m2)
    m1 munion m2
        ; map A to B * map A to B -> map A to B
        ;
        ; Merge
        ;   yields a map combined by m1 and m2 such that 
        ;   the resulting map maps the elements of dom m1 as 
        ;   does m1, and the elements of dom m2 as does m2. 
        ;   The two maps must be compatible.
■ 各項目を実行する

各ステップの「動作」を確認するには、関数 do に実引数を指定します。

>>> do(@)
>>> # -------------------------------------------------- munion
>>> m1 = VDM_map({"A":1,"B":2}); m1
{'A' |-> 1, 'B' |-> 2}
>>> m2 = VDM_map({"A":1,"C":3}); m2
{'A' |-> 1, 'C' |-> 3}
>>> m1.munion(m2)
{'A' |-> 1, 'C' |-> 3, 'B' |-> 2}
>>> 
>>> m1 = VDM_map({"A":1,"B":2}); m1
{'A' |-> 1, 'B' |-> 2}
>>> m2 = VDM_map({"A":0,"C":3}); m2
{'A' |-> 0, 'C' |-> 3}
>>> m1.munion(m2)
AssertionError: A |-> `1` == A |-> `0`

合成写像が得られます。

事例:コードの解説

》こちらに移動中です《

VDM/map

Operator Name Type
dom m Domain (map A to B ) → set of A
rng m Range (map A to B ) → set of B
m1 munion m2 Merge (map A to B ) ∗ (map A to B ) → map A to B
m1 ++ m2 Override (map A to B ) ∗ (map A to B ) → map A to B
merge ms Distributed merge set of (map A to B ) → map A to B
s Domain restrict to (set of A) ∗ (map A to B ) → map A to B
s <-: m Domain restrict by (set of A) ∗ (map A to B ) → map A to B
m :> s Range restrict to (map A to B ) ∗ (set of B ) → map A to B
m :-> s Range restrict by (map A to B ) ∗ (set of B ) → map A to B
m(d) Map apply (map A to B ) ∗ A → B
m1 comp m2 Map composition (map B to C ) ∗ (map A to B ) → map A to C
m ** n Map iteration (map A to A) ∗ nat → map A to A
m1 = m2 Equality (map A to B ) ∗ (map A to B ) → bool
m1 <> m2 Inequality (map A to B ) ∗ (map A to B ) → bool
inverse m Map inverse inmap A to B → inmap B to A
  • Note that the types A, set of A and set of set of A are only meant to illustrate

TOP


関連記事

Last updated♪2009/10/31