Module Value.UnionSource

Union of value abstractions.

This combiner implements a disjoint union between ๐‘š value abstractions ๐’ฑโ‚, ..., ๐’ฑโ‚˜. Each abstraction ๐’ฑแตข represent values of types ๐“แตข, such that: โˆ€ j โ‰  i: ๐“แตข โˆฉ ๐“โฑผ = โˆ…. The types represented by the combiner is ๐“โ‚ โˆช ... โˆช ๐“โ‚˜.

The union is represented with a cartesian product. The concretization of a union of values is the union of the concretizations: ฮณ(vโ‚,...,vโ‚˜) = ฮณโ‚(vโ‚) โˆช ... โˆช ฮณโ‚˜(vโ‚˜).

Create a disjoint union of two value abstractions

Create a disjoint union of a list of value abstractions