I would say option(b).

Option(a) - XOR obviously makes no sense.

Option(c) - this implies that tuples will __only__ be formed when domains have something in common with them

Option (d) - this implies that a tuple may not have one field from each of the domains, in the right order.

i.e. consider two domains/attributes

$A = \{a1, a2\}$, $B = \{b1, b2\}$. $A\cup B = \{a1, a2, b1, b2\}$.

If you consider a tuple to be a subset of $A\cup B$, then a possible tuple is $\{b1, b2\}$, $\{b1, a1\}$ or even $\{a1, a2, b1, b2\}$ which is clearly wrong.

Option(b) is correct, because a cartesian product of the domains means an ordered set with one entry from each domain, and all such combinations. Each such ordered set is a tuple, and a relation is obviously is a subset of all these tuples.

Pretty much the same concept from Set Theory. Although its interesting to go into analyzing each of the given options and seeing how they apply to database relations.