Not wanting to express the Gödel number of the actual string

69 Views Asked by At

Let's say I have a string of $n$ symbols, each with a Gödel number denoted $\ulcorner s_x \urcorner$, where the $x$ denotes that it is the $x$th symbol in the string. The Gödel number of the entire string is thus $2^{\ulcorner s_1 \urcorner} \cdot 3^{\ulcorner s_2 \urcorner} \cdots p_n^{\ulcorner s_n \urcorner}$. Now, a more concise way to formulate this rule could be the following:

$$\ulcorner s_1s_2\cdots s_n \urcorner = \prod_{i=1}^n p_i^{\ulcorner s_i \urcorner}$$

This poses a problem however; the actual string within the "Gödel brackets" is not the same as the imagined string. The Gödel number of the actual string would instead be $2^{\ulcorner s_1 \urcorner} \cdot 3^{\ulcorner s_2 \urcorner} \cdot 5^{\ulcorner \cdots \urcorner } \cdot 7^{\ulcorner s_n \urcorner}$. In this case, it might be simple to tell the reader what you actually mean, but in more complicated cases, I don't think it is.

So, how does one get around this? I think I have a solution:


A new function must be defined, the discriminatory Gödel numbering function with an indefinite variable arity:

$G_d((x_1,x_2), (x_3,x_4), \ \dots , (x_{n-1},x_n); s) : (\Bbb N^2_0)^{n/2} \times \sum^* \mapsto \Bbb N$

The $s$ after the semi-colon denotes the string which is to be converted into a number, and is an element of $\sum^*$, the set of all strings in the language. The pairs are elements of $(\Bbb N_0^2)^{n/2}$, which is a set of $(n/2)$-tuples of pairs of naturals. These pairs denote positions in the string; if a pair inclusively encloses a (sub)string which denotes a function $ F(s) : \sum^* \mapsto \sum^*$, then the Gödel numbering will apply to the output. The symbols in a string of length $n$ have their positions enumerated from $1$ to $n$, but the pairs range over the positions $0$ to $n$. Thusly, $G_d((0,0);s) = \ulcorner s \urcorner$.

Here's an example:

$$\text{Name}(x) : \Bbb N_0 \mapsto \{\text{zero},\text{one},\text{two}, \dots \}$$

$$ G_d((1,7),(9,15); \text{Name}(6)\ne\text{Name}(1)) = \ulcorner \text{six}\ne \text{one} \urcorner$$

So, to circle back to the first example, one could formulate the rule as such:

$F(s_1s_2\cdots s_n)$ is equal to the full string of symbols. Therefore, $G_d((1,7), F(s_1s_2\cdots s_n)) = 2^{\ulcorner s_1 \urcorner} \cdot 3^{\ulcorner s_2 \urcorner} \cdots p_n^{\ulcorner s_n \urcorner}$


Does the above solution work? Or more generally, is there any way to get around the issue of not wanting to express a Gödel numbering applied to the actual string, but instead, a Gödel numbering applied to the imagined string corresponding to the actual one?