Product Domains
The product domain takes two or more component domains and builds a domain of tuples from the components.
The product domain builder x builds the domain A x B, a collection whose members are ordered pairs of the form (a,b), for a ?A and b ?B.
Disassembly operators: fst: A x B ? A, snd: A x B ? B
Assembly operator: if a ? A, and b ? B, then (a,b) is an element of A x B.
An example of a semantic algebra built with the product construction follows: