定義域と値域

VDM++ での map 型には、写像定義域値域を定義できます。VDM++ では、次のように表現します。

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

写像 {'A' |-> 1, 'B' |-> 2, 'C' |-> 3} の定義域は {A, B, C} になります。

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

写像 {'A' |-> 1, 'B' |-> 2, 'C' |-> 3} の値域は {1, 2, 3} になります。
ただし、空写像にこれらの演算を利用すると、空集合が得られます。