How do we set a domain of discourse, if I have two variables, do I do so individually for each variable? More importantly can we express the possible combination of values each variable takes? For example if I have the variable $a$ and $b$ taking values from $A$ and $B$ can we define $A\times B$ as being the set of combinations?
The reason I ask is I wonder if it is possible to limit the domain of discourse such that the elements of $A$ and $B$ can be related such that they always make a certain predicate true? Like a dependent variable in mathematics? So the set of combinations $(a,b)$ is such that $P(a,b)$ is always true?
In the context of predicate logic (where we use quantifiers) we have the fundamental concept of Interpretation: "the assignment of meaning to the symbols of the formal language."
In order to assign meaning to the formula of a first-order language we need:
and so on.
Variables (when necessary) are evaluated with elements of the domain (see variable assignment).
Thus, if $x,y$ are variables whose values are $A$ and $B$ respectively, the simple choice is to assume $A \cup B$ as domain.
If we want to avoid "overlap" between the values of the two variables, we may use two-sorted logic that amounts to use predicate $A(x)$ and $B(y)$ respectively.
This is done commonly in mathematical practice when we use formulas like: