事例:演算 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 {|->}
{}
定義域は、空集合 {} になります。