1

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?

  • IMO, your statement about "dependent variables" in mathematics is not relevant. From a formal point of view there are no "dependent variable" but function. $f(x)$ is a function with one argument (that we are used to symbolize with variable $x$). – Mauro ALLEGRANZA Sep 20 '22 at 09:38
  • A function with one argument $f(x)$, from the point of view of logic, is a binary relation $R(x,y)$ with the additional property that for every $x,y,z$ if $R(x,y)$ and $R(x,z)$, then $y=z$. – Mauro ALLEGRANZA Sep 20 '22 at 09:41
  • So a dependent variable is once for which on a certain set $D$ we consider them to have the same value as the function $f(x)$? –  Sep 20 '22 at 13:16
  • In a formalized context we have not two variables but only one: $x$. We assign a value to $x$ (that is an object of the domain $D$) and we "compute" the valued of the function $f$ for that input. The "result" is again an object of the domain $D$. Consider as $f : \mathbb N \to \mathbb N$ the function "square of" and as input value the number $2$: we have that $f(2)=4$; there is no "variable" $y$ free here. – Mauro ALLEGRANZA Sep 20 '22 at 13:26
  • Could we introduce one, And have that there exists $y$ such that $y=f(x)$? But I understand the function depends, not the variable. –  Sep 20 '22 at 13:30
  • But, as said again and again, that is not a "real" variable, i.e. something that we can assign a value as we want, because its value is already defined by the function (that is a sort of rule) and the value assigned to input $x$. Obviously, we have $\exists y (y=f(x))$ because the logical law of identity says: $f(x)=f(x)$ and thus we apply Existential Introduction to it. But in this case $y$ is NOT a free variable. – Mauro ALLEGRANZA Sep 20 '22 at 13:39

2 Answers2

0

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:

a domain of discourse $D$ (usually a non-empty collection);

for every constant symbol $c$, an element $c^D$ D as its interpretation;

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:

$\forall \epsilon \in \mathbb R, \forall n \in \mathbb N \ldots$

  • So if we introduce to variables $x$,$y$ are assumption that they change independently, however there may exist a function $f$ on a domain $D$ such that there exists $(x,y)$ such that $y=f(x)$? –  Sep 20 '22 at 13:18
0

I think the usual approach, in mathematical proofs anyway, is to write something like:

$~~~~~~\forall a: \forall b: [A(a) \land B(b) \implies P(a,b)]$

Where $A$ and $B$ are unary predicates that may or may not be empty. There is no need to postulate the existence another combined, non-empty domain $D$.

Alternatively, you can write:

$~~~~~~\forall a, b: [A(a) \land B(b) \implies P(a,b)]$

OR

$~~~~~~\forall a: [A(a) \implies \forall b: [B(b) \implies P(a,b)]]$