Analicemos algunos ejemplos en detalle, por favor.
En Wikipedia está explicada la lógica proposicional, pero está algo incompleto el material, y además creo que puede confundir las cosas porque es un ejemplo distinto al que estoy discutiendo. Igual pongo el enlace:
http://es.wikipedia.org/wiki/Lógica_proposicionalEn la lógica de primer orden, las proposiciones no son necesariamente "objetos" de la teoría, sino de la "metateoría", aunque en ciertos libros lo he visto presentado de otra forma... y eso complica las definiciones y todo lo demás.
Lógica proposicional:Tenemos una lista de símbolos:
\( S = \{\wedge,\vee,\sim{,\Rightarrow{,\Longleftrightarrow{,=,p,q,r,...}}}\} \)
He puesto variables p, q, r, ..., dando a entender que tengo tantas variables como yo quiera.
Esto se puede formalizar mejor, diciendo que las variables son \( p,p|,p||,p|||, \), etc., o sea, usando "palitos" como un "subíndice" n. Pero por ahora es más claro si usamos letras.
Hay dos caminos posibles, o se quitan los símbolos \( \wedge,\vee, \) de la lista y se los pone como "metasímbolos", o sea, abreviaturas de alguna expresión, o se procura dar una axiomática que sea consecuente con esas "abreviaturas", o sea, que funcionen como uno espera.
Es claro que, formando cadenas de caracteres con los símbolos de S, se pueden formar cualesquiera combinaciones posibles: \( \wedge\Rightarrow r{\Rightarrow{p\Rightarrow{\sim{p\sim{}}}}} \)
Muchas de ellas no nos interesan, y las que sí interesan se de deben especificar mediante reglas gramaticales de un cierto lenguaje \( L \):
Lenguaje L para la lógica proposicional:Se especifica mediante axiomas de "construcción":
(R1) Una letra aislada, como p, q, r, etc., se considera una expresión del lenguaje \( L \).
(R2) Si \( \phi \) es alguna expresión de L, entonces \( \sim \phi \) también es expresión válida en L.
(R3) Si \( \phi,\psi \) son expresiones de L, también lo son \( \phi\wedge\psi,\phi\vee\psi,\phi \Rightarrow{\psi,}\phi\Longleftrightarrow{\psi} \).
(R4) No se permiten otras maneras de generar expresiones de L.
También hay reglas para usar los paréntesis (), pero no las voy a poner.
Tan sólo vamos a usar los paréntesis en la medida que sea conveniente para que las expresiones se entiendan mejor.
Así que p, q, r, etc. son expresiones.
Y luego a partir de ellas vamos "construyendo" las demás, mediante las reglas (R2) y (R3).
Por ejemplo: \( p\Rightarrow{(\sim{q\wedge r})} \).
Ahora bien, esas expresiones del lenguaje L son cosas que uno puede escribir, nada más.
No significa esto que sean demostraciones de nada, ni que tengan valor verdadero o falso.
No son más que reglas que nos permiten formar frases de L.
Esas frases pueden ser cosas con sentido o no, ciertas o no, demostrables o no.
Eso se establece después.
Axiomas para la lógica proposicional:Según Wikipedia, son sólo 3, y voy a tomar esos, aungue voy a tener que agregar otros más para darle sentido a las operaciones \( \wedge,\vee,\Longleftrightarrow{} \).
Habría que agregar axiomas para las demás operaciones (también los saco de Wikipedia):
http://en.wikipedia.org/wiki/Propositional_calculusSupongamos que \( \phi,\psi,\chi \) representan expresiones válidas en L.
(1) \( \phi\Rightarrow{(\psi\Rightarrow{\phi})} \)
(2) \( (\phi\Rightarrow{(\psi\Rightarrow{\chi}})\Rightarrow{((\phi\Rightarrow{\psi})\Rightarrow{(\phi\Rightarrow{\chi})})} \)
(3) \( (\phi\wedge\chi)\Rightarrow{\phi} \)
(4) \( (\phi\wedge\chi)\Rightarrow{\chi} \)
(5) \( \phi\Rightarrow{(\chi\Rightarrow{\phi\wedge\chi})} \)
(6) \( \phi\Rightarrow(\phi \vee\chi){} \)
(7) \( \chi\Rightarrow(\phi \vee\chi){} \)
(8) \( (\phi\Rightarrow{\psi})\Rightarrow{(\chi\Rightarrow\psi) \Rightarrow(\phi\vee\chi}\Rightarrow{\psi})} \)
(9) \( (\phi\Rightarrow{\chi})\Rightarrow{(\phi\Rightarrow\sim{}\chi) \Rightarrow(\sim\phi)} \)
(10) \( \phi\Rightarrow{(\sim{\phi}\Rightarrow{\chi})} \)
(11) \( \phi\vee\sim\phi \)
Y también hay axiomas para la flechita doble \( \Longleftrightarrow{} \), pero no los voy a escribir porque me cansé.
En todo caso, considerémoslo un "metasímbolo" que abrevia una expresión de la forma:
\( (\phi \Rightarrow{\psi})\wedge(\psi\Rightarrow{\phi}) \).
Estas letras \( \phi, \psi, \chi \), obviamente no son "símbolos" de L, porque no figuran en la lista S que pusimos arriba. Se toman, tan sólo, como una "abreviatura" o algo por el estilo, en el "metalenguaje".
O sea, sirven para "entendernos entre nosotros".
O sea, en realidad estamos dando infinitos axiomas, no sólo 3.
Supongamos que \( \phi\equiv{(p\Rightarrow{q})}, \psi\equiv{(\sim r)} \).
Entonces una "instancia" del axioma (1) sería
\( (p\Rightarrow{q})\Rightarrow{(\sim r\Rightarrow{(p\Rightarrow{q})})} \)
Mas, hay infinitas posibilidades para \( \phi,\psi \), y en vez de enumerarlas una por una, se usan "axiomas esquemáticos" como (1), (2) y (3).
Espero se entienda ahora que \( \phi,\psi \), son parte del "metalenguaje".
Quieren decir que, por cada caso posible de expresión válida \( \phi,\psi \), valen los axiomas de arriba.
Reglas de Inferencia:Se supone que tenemos una lista de expresiones escritas, digamos, una debajo de la otra, tal que todas ellas, o son algún axioma sacado de la lista (1) a (11), o bien se han "demostrado" mediante las reglas de inferencia.
Sólo hay una regla:
(Modus Ponens) Si en la lista de proposiciones tenemos \( \phi \), y también \( \phi\Rightarrow{\psi} \), entonces podemos agregar a la lista la expresión \( \psi \).
Esto se escribe abreviadamente "en el metalenguaje", así:
(Modus Ponens) \( \phi, \phi\Rightarrow{\psi}\vdash \psi \)
El símbolo \( \vdash \) es una abreviatura de "si... entonces...".
Podemos decir: Si \( \phi \) y \( \phi\Rightarrow{\psi} \) entonces \( \psi \).
Una
demostración es una lista de expresiones de L (finita, por si alguien pregunta), que contiene, o bien axiomas, o bien expresiones obtenidas mediante Modus Ponens.
La última expresión de la lista es la "conclusión" o teorema.
Hasta ahora, todo lo anteriore es meramente "formal", sintáctico.
No ha habido ocasión de preguntarse por los valores de verdad.
Supongamos que sólo vamos a considerar dos valores de verdad: 1 = verdadero, y 0 = falso.
A las proposiciones de arriba no podemos asignarle "un único" valor de verdad.
El valor de verdad de una expresión de L es algo que uno puede elegir.
Doy un ejemplo, y los demás los hacen ustedes.
(V1) Si \( \phi, \psi \) valen "1", entonces a la expresión \( \phi\wedge\psi \) se le asigna el valor "1". En otro caso, se le asigna el valor "0".
(V2) A las expresiones "atómicas" p, q, r, etc., se les asigna alguno de los valores "0" o "1", pero no se especifica cuál.
A partir de ahí, y de definiciones similares para los demás conectores \( \sim{,\vee,\Rightarrow{,}} \), podemos asignar un valor "0" o "1" a cualquier expresión del lenguaje L.
Sin embargo, tenemos que darnos cuenta de que a las variable p, q, r, ... les podemos asignar distintos valores de verdad.
Cada asignación de valores de verdad es una "interpretación" del lenguaje L.
Por ejemplo, \( p \equiv{"0"}, q \equiv{"1"}, r \equiv{"0"} \), sería una de las tantas interpretaciones.
El valor de verdad de todas las proposiciones de L dependerá de estos.
Sin embargo, la gracia está en que, para cualquier "interpretación", tanto los axiomas lógicos como las expresiones que han sido "demostrados" con la regla "modus ponens", tengan siempre valor de verdad "1".
Pero esto ya corresponde a la "semántica".
O sea, la interpretación de un sistema axiomático se llama "semántica".
Sin embargo, este ejemplo de la lógica proposicional es distinto en apariencia del de la lógica de primer orden...
Mas los elementos que figuran siempre son estos: símbolos, reglas de un lenguaje, axiomas lógicos, reglas de inferencia (puede haber varias), semántica o interpretación.
Un sistema axiomático lógico es "bueno" si para toda "interpretación" en que los axiomas son verdaderos (se les asignó valor "1"), las expresiones demostradas (Teoremas) siempre valen "1" también.