Hola,
Algunas cuestiones más acerca de la definición del lenguaje formal. En primer lugar, para que la lectura de las fórmulas no se haga humanamente imposible aceptaremos algunas abreviaturas. Ya mencioné antes que usaremos sólo los paréntesis necesarios. Por ejemplo, si siguiéramos al pie de la letra las definiciones deberíamos escribir:
((S(0) + S(S(0))) + S(0))
En lugar de eso escribiremos simplemente:
(S0 + S0) + S0
Usaremos también las siguientes abreviaturas, usuales en lógica:
Si \( F \) es una fórmula entonces \( \forall{x_i}F \) será la abreviatura de \( -\exists{x_i}-F \).
Si \( F \) y \( G \) son fórmulas entonces \( F\wedge G \) será una abreviatura de \( -(F\Rightarrow{} -G) \).
Si \( F \) y \( G \) son fórmulas entonces \( F\vee G \) será una abreviatura de \( (-F\Rightarrow{} G) \).
Muchas veces a las variables, en lugar de llamarlas \( x_1 \), \( x_2 \), etc. las llamaremos \( x \), \( y \), etc.
Finalmente, agregamos al lenguaje un símbolo especial, digamos \( \otimes{} \), que servirá para escribir sucesiones de fórmulas. Formalmente definimos:
1. Si \( F \) es una fórmula entonces \( \otimes{} \)F\( \otimes{} \) es una sucesión de fórmulas.
2. Si \( S \) es una sucesión de fórmulas y \( G \) es una fórmula entonces \( SG\otimes{} \) es una fórmula.
3. Toda sucesión de fórmulas se obtiene por aplicaciones sucesivas de las reglas anteriores.
Axiomas lógicos:Por definición, un
axioma lógico es cualquier fórmula que se obtenga de los esquemas siguientes. (Como ya dije en otro mensaje, estos esquemas definen en realidad un algoritmo que permite reconocer, dada una fórmula, si ésta es, o no, un axioma lógico.)
1. \( F\Rightarrow{}(G\Rightarrow{}F) \), donde \( F \) y \( G \) son fórmuas cualesquiera.
2. \( F\Rightarrow{}(G\Rightarrow{}H)\Rightarrow{}((F\Rightarrow{}G)\Rightarrow{}(F\Rightarrow{}H)) \), donde \( F \), \( G \) y \( H \) son fórmuas cualesquiera.
3. \( (-F\Rightarrow{}-G)\Rightarrow{}(G\Rightarrow{}F) \), donde \( F \) y \( G \) son fórmuas cualesquiera.
4. \( \forall{x}F(x)\Rightarrow{}F(x/t) \).
Una explicación aquí: \( x \) respresenta una variable cualquiera y cuando escribimos \( F(x) \) entendemos que \( x \) es una variable libre en F, \( t \) es un término y \( F(x/t) \) es la fómrula que se obtiene reemplazando toda aparición de la variable \( x \) por el término \( t \). Una restricción: si \( t \) tiene variables, ninguna de éstas puede aparecer afectada por un cuantificador al efectuarse el reemplazo.
5. \( \forall{x}(F\Rightarrow{}G)\Rightarrow{}(F\Rightarrow{}\forall{x}G) \) siempre que \( x \) no aparezca libre en \( F \).
6. \( x = x \), donde \( x \) es una variable cualquiera.
7. \( x = y \Rightarrow{} y = x \), donde \( x \) e \( y \) son variables cualesquiera.
8. \( x = y \Rightarrow{} (y = z\Rightarrow{} x = z) \)
9. \( x = y \Rightarrow{} t(z_1, z_2,\ldots z_{k-1},x,z_{k+1}\ldots z_n) = t(z_1, z_2,\ldots z_{k-1},y,z_{k+1}\ldots z_n) \), donde \( t \) es un término cualquiera.
10. \( x = y \Rightarrow{} F(z_1, z_2,\ldots z_{k-1},x,z_{k+1}\ldots z_n) \Rightarrow{} F(z_1, z_2,\ldots z_{k-1},y,z_{k+1}\ldots z_n) \), donde \( F \) es una fórmula cualquiera.
Los axiomas 9 y 10 dicen esencialmente que si \( x=y \) entonces podemos reemplazar libremente \( x \) por \( y \).
Los esquemas del 1 al 5 son los axiomas de la
lógica primer orden, al agregar los otros se obtiene la
lógica de primer orden con igualdad. Éste es el sistema de axiomas que se usa en
Gödel \( \forall{} \), hay otros sistemas posibles. De hecho, para facilitar ciertas demostraciones, en el sistema hemos puesto más axiomas de los que realmente son necesarios. Por ejemplo, las fórmulas que corresponden al esquema 8 pueden deducirse de las demás y por lo tanto no es necesario (aunque tampoco es erróneo) incluirlos.
En otro mensaje tocará hablar de las reglas de inferencia.
Saludos!