事例:演算 rng

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

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

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

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

値域は {1, 2, 3} になります。

    m = VDM_Map()
print ">>> rng %s"%(m)
X = rng(m)
print X; assert X == VDM_Set()

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

>>> rng {|->}
{}

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