2 votos

Pregunta sobre la elección del sistema de codificación de la numeración de Gödel

Estoy leyendo esto sección del libro "A Friendly Introduction to Mathematical Logic" de Christopher Leary y Lars Kristiansen. Los autores definen el sistema de codificación como sigue:

La función $\ulcorner \cdot \urcorner$ siendo el dominio la colección de cadenas finitas de $\mathcal{L}_{NT}$ -símbolos y codominio $\mathbb{N}$ se define como sigue:

$$\ulcorner s \urcorner = \begin{cases} \begin{array}{ll} \langle 1, \ulcorner \alpha \urcorner \rangle & \text{if} \: s \: \text{is} \: \left( \neg \alpha \right), \: \text{where} \: \alpha \: \text{is an} \: \mathcal{L}_{NT} \text{-formula} \\ \langle 3, \ulcorner \alpha \urcorner, \ulcorner \beta \urcorner \rangle & \text{if} \: s \: \text{is} \: \left( \alpha \lor \beta \right), \: \text{where} \: \alpha \: \text{and} \: \beta \: \text{are} \: \mathcal{L}_{NT} \text{-formulas} \\ \langle 5, \ulcorner v_i \urcorner, \ulcorner \alpha \urcorner \rangle & \text{if} \: s \: \text{is} \: \left( \forall v_i \right) \left( \alpha \right), \: \text{where} \: \alpha \: \text{is an} \: \mathcal{L}_{NT} \text{-formula} \\ \langle 7, \ulcorner t_1 \urcorner, \ulcorner t_2 \urcorner \rangle & \text{if} \: s \: \text{is} \: = t_1 t_2, \: \text{where} \: t_1 \: \text{and} \: t_2 \: \text{are terms} \\ \langle 9 \rangle & \text{if} \: s \: \text{is} \: 0 \\ \langle 11, \ulcorner t \urcorner \rangle & \text{if} \: s \: \text{is} \: St, \: \text{with} \: t \: \text{a term} \\ \langle 13, \ulcorner t_1 \urcorner, \ulcorner t_2 \urcorner \rangle & \text{if} \: s \: \text{is} \: + t_1 t_2, \: \text{where} \: t_1 \: \text{and} \: t_2 \: \text{are terms} \\ \langle 15, \ulcorner t_1 \urcorner, \ulcorner t_2 \urcorner \rangle & \text{if} \: s \: \text{is} \: \cdot t_1 t_2, \: \text{where} \: t_1 \: \text{and} \: t_2 \: \text{are terms} \\ \langle 17, \ulcorner t_1 \urcorner, \ulcorner t_2 \urcorner \rangle & \text{if} \: s \: \text{is} \: E t_1 t_2, \: \text{where} \: t_1 \: \text{and} \: t_2 \: \text{are terms} \\ \langle 19, \ulcorner t_1 \urcorner, \ulcorner t_2 \urcorner \rangle & \text{if} \: s \: \text{is} \: < t_1 t_2, \: \text{where} \: t_1 \: \text{and} \: t_2 \: \text{are terms} \\ \langle 2i \rangle & \text{if} \: s \: \text{is the variable} \: v_i \\ 3 & \text{otherwise.} \end{array} \end{cases}$$

Observe que cada símbolo está asociado a su número de símbolo, tal y como se indica en la tabla

$$\begin{array}{||c|c||c|c||} \hline \text{Symbol} & \text{Symbol Number} & \text{Symbol} & \text{Symbol Number} \\ \hline \neg & 1 & + & 13 \\ \lor & 3 & \cdot & 15 \\ \forall & 5 & E & 17 \\ = & 7 & < & 19 \\ 0 & 9 & ( & 21 \\ S & 11 & ) & 23 \\ & & v_i & 2i \\ \hline \end{array}$$


Es bastante evidente que este sistema de codificación asigna fórmulas muy pequeñas como $=00$ números muy grandes. En este caso, $\ulcorner =00 \urcorner =2^83^{1025}5^{1025}$ . En lugar de utilizar este sistema de codificación, podríamos simplemente codificar la fórmula $\phi =c_1c_2\ldots c_n$ donde cada $c_i$ es un símbolo (y debe ser uno de los anteriores como en la tabla) de la siguiente manera: $$\ulcorner \phi \urcorner = \prod_{i=1}^{n} p_i ^ {\text{value corresponding to } c_i \text{ in the table}}$$ donde $p_i$ es el i-ésimo primo.

Este mapeo también codificaría fórmulas, pero asignaría fórmulas más pequeñas a números (¡relativamente!) más pequeños. Por ejemplo, $\ulcorner =00 \urcorner = 2^73^95^9$ en mi sistema de codificación.

¿Por qué los autores han elegido el sistema de codificación de la forma en que lo han hecho? ¿Facilita las cosas más adelante? Entiendo que no habría una forma única de hacerlo. Sería estupendo entender por qué se prefieren unos sistemas a otros.

3voto

ManuelSchneid3r Puntos 116

Como comentó Mauro Allegranza, los valores innecesariamente grandes son no un inconveniente. Mientras tanto, hay una pequeña ventaja que el sistema dado tiene sobre la codificación de la factorización primaria: a saber, hace que la forma sintáctica de la fórmula sea más obvia a partir de su código.

Específicamente, suponga que le doy un número $n$ y decirte que $n$ es el número de Godel de una fórmula $\varphi$ y preguntar si $\varphi$ tiene la forma $(\psi\vee\theta)$ o no. Utilizar la codificación de la factorización de primos es un poco complicado, ya que tenemos que "localizar" el primo correspondiente a la operación lógica más externa. Sin embargo, la codificación proporcionada en el texto hace que esto sea trivial: basta con preguntar si $n$ tiene la forma $\langle 3,a,b\rangle$ . Esto simplifica un poco las cosas cuando, por ejemplo, se define " $x$ es (el código de) una prueba de la frase (codificada por) $y$ ."

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X