事例:演算 dom

VDM++ での演算 dom に準拠した事例を紹介します。

    m = VDM_Map({"A":1,"B":2,"C":3})
print ">>> dom %s"%(m)
X = dom(m)
print X; assert X == VDM_Set("ABC")

写像 m の定義域を得るには、関数 dom を利用します。このコードを実行すると、

>>> dom {'A' |-> 1, 'C' |-> 3, 'B' |-> 2}
{'A', 'B', 'C'}

定義域は {A, B, C} になります。

    m = VDM_Map({})
print ">>> dom %s"%(m)
X = dom(m)
print X; assert X == VDM_Set()

写像についても同様です。このコードを実行すると、

>>> dom {|->}
{}

定義域は、空集合 {} になります。