0

Suppose that I want to extend my language by a function symbol in the following way. Suppose one is able to prove $$\forall x_1,...,x_n\exists !y:\varphi(x_1,...,x_n,y).$$ This allows me to introduce a function symbol $f$ as well as the axiom $$\forall x_1,...,x_n:\varphi(x_1,...,x_n,f(x_1,...,x_n)).$$ My questions are: $(1)$ how can I infer that for all $x_1,...,x_n$ there exists the object $f(x_1,...,x_n)$? How do function symbols work in that regard in the language? Don't I need another axiom for that?

$(2)$ Furthermore I wonder how one can introduce scoping/domain of the function symbols. If the existence of such a $y$ is only satisfied for certain $x$ of the domain, how can one encode this? A simple example would be for all $x_1,...,x_n \in X$ for some set $X$ instead of all possible $x_1,...,x_n$.

Greg Nisbet
  • 11,657
  • What you have discussed is Extension by definitions: we prove that for every x there is a unique y and thus we can add the new function symbol $f(x)=y$ with the corresponding definitional axiom. – Mauro ALLEGRANZA Nov 24 '22 at 13:11
  • "My questions are: (1) how can I infer that for all x1,...,xn there exists the object..." Proving it from axioms of the theory. Example in set theory: the binary function symbol $\cap$ (intersection) is not a primitive symbol but it is introduced through a definition. – Mauro ALLEGRANZA Nov 24 '22 at 13:14
  • (2) is manged in the language of set theory: the formula will be a "complex" one: $∀x_1,...,x_n∃!y [\varphi(x_1,...,x_n,y) \land (x_1 \in X \land \ldots x_n \in X)]$ – Mauro ALLEGRANZA Nov 24 '22 at 13:16
  • @MauroALLEGRANZA Am I overseeing something or shouldn't it be $\forall x_1,...,x_n \exists !y[x_1 \in X \wedge ... \wedge x_n \in X \implies \varphi(x_1,...,x_n,y)]$? For$(1)$ But once adding $\cap$, how can I prove that $A \cap B$ exists for $A,B$? – user1578232 Nov 25 '22 at 08:37
  • You prove by Separation that for every sets $A$ and $B$ there is the set of "common elements" and by Extensionality you prove that it is unique; then you use the machinery above to add the new function symbol: $A \cap B=C \leftrightarrow \forall x (x \in C \leftrightarrow x \in A \land x \in B)$. See this post. – Mauro ALLEGRANZA Nov 25 '22 at 09:46
  • @MauroALLEGRANZA Thanks, I am not entirely sure but I think I had an error in my thought process. You might want to turn your comments into an answer so I can accept it. – user1578232 Nov 25 '22 at 10:04

1 Answers1

-1

I think it would be good to talk about structures explicitly in your question since we're talking about first-order logic. The non-logical symbols are always given an interpretation there. When you introduce a new function symbol, even if there's exactly one denotation that it could have, you're working over a new structure.

Structures are the setting where we assess the truth of a particular well-formed formula. They are the $A$ in $A, \vec{v} \models \varphi(\vec{v})$ if you've seen notation similar to that before.

A first-order structure $A$ has a domain, a set of objects that form the universe of discourse. It also maps each $n$-ary relation symbol to an $n$-ary relation on the domain of $A$ and maps each $n$-ary function symbol to an $n$-ary function on the domain of $A$.

Let's let $\mathcal{M}$ be a collection of structures. Let's also say that $\mathcal{M} \models \varphi(\cdots)$ if and only if it holds for all $M$ in $\mathcal{M}$ that $M \models \varphi(\cdots)$.

Let's call our language $L$.

Let $\mathcal{M}$ be a collection of $L$-structures.

Suppose that $\mathcal{M} \models \forall x_1 \cdots x_n \mathop. \exists! y \mathop. \varphi(x_1 \cdots x_n, y)$.

As it stands, $\mathcal{M} \models \forall x_1 \cdots x_n \mathop. \exists! y \mathop. \varphi(x_1\cdots x_n, f(x_1\cdots x_n))$ is neither true nor false. The formula to the right of the $\models$ is ill-formed because $f$ is not in $L$.

Let $L''$ be $L$ extended with the function symbol $f$.

The fact that $\forall x_1 \cdots x_n \mathop. \exists! y \mathop. \varphi(x_1 \cdots x_n, y)$ holds in every model in $\mathcal{M}$, though, means that we can extend $\mathcal{M}$ to a collection of $L''$-structures in exactly one way.

Given an $M$ in $\mathcal{M}$ we construct $M''$ by adding an $f$ to $M$ and assigning, as the intepretation of $f$, the function that sends $a_1, \cdots, a_n$ to $c$ where $c$ is the sole element of the domain of $M$ such that $M \models \varphi(a_1\cdots a_n, c)$ holds.

In this new setting where you have introduced $f$, the following does indeed hold:

$$ \mathcal{M}'' \models \forall x_1 \cdots x_n \mathop. \varphi(x_1\cdots x_n, f(x_1, \cdots x_n)) $$

This captures the existence part of your hypothesis. You also have at most one solution (anything satisfying the formula is equal to the solution proposed by $f(x_1\cdots x_n)$).

$$ \mathcal{M}'' \models \forall x_1 \cdots x_n \mathop. \forall z\mathop. \varphi(x_1\cdots x_n, z) \to z = f(x_1\cdots x_n) $$

So, to answer your original questions

  1. Sort of. All functions are total. You don't need a separate axiom to conclude that $f(t_1 \cdots t_n)$ exists where each $t_i$ is a term. However, you do need to prove that the new interpretations of $f$ are total, but that happens early in the process. You have to check the totality of $f$ when you build the structure, not later. There are systems of logic that do not require all functions to be total, called free logic, but those systems are not first-order logic.
  2. The domain of the function is always the entire domain. The function symbols always live in the language. They cannot be bound inside of a formula in first-order logic. If you allow functions to exist "locally" or be introduced in various ways, then you are most likely dealing with some kind of second-order logic.
Greg Nisbet
  • 11,657