La Página de DriverOp

Lógica de Primer Orden

Lógica de Primer Orden: Pequeño Glosario Estructurado.

Obligarse a sí mismo a formular las cosas de un modo compatible a los símbolos que siguen, es una excelente disciplina para decir las cosas con cuidado, y además permite a los demás analizarlas con mucha más precisión.

Absurdo: Una contradicción. La palabra no tienen ninguna connotación insultante, simplemente es la forma correcta de decir que algo se contradice a sí mismo: El caballo de Santiago es blanco y negro. Hay menos y más de dos manzanas en el cesto.

Capcioso: Otra palabra que no pretende ser insultante. Indica las preguntas que la persona que debe responderlas no puede responder, porque esa persona no acepta alguna suposición implícita en la pregunta: "¿Cuándo mató a su madre?" "¡Pero si mamá vive!" "¡Responda la pregunta!"

Falacia: Una falacia es un error lógico en un razonamiento. Cuando un razonamiento contiene una falacia, ese razonamiento no es válido como razonamiento lógico. Puede servir para hacer política ("Mi padre fué conservador, y por tanto yo lo soy, pero sospecho que el suyo fué asaltador de caminos..."), pero no son razonamientos válidos en lógica. Más sobre falacias en el excelente artículo de Ateísmo en la Red sobre lógica y falacias (o en cualquier buen manual de lógica).

Función: Una cosa que se evalúa de algún modo.

Por ejemplo: "logaritmoN(2)" o "esposa(Pepe)".

  • Se lee "logaritmo neperiano de 2" y "esposa de Pepe".

  • Si la esposa de Pepe es Maruja, "esposa(Pepe)" se evalúa a Maruja.

Predicado: Un tipo de función, que se evalúa a cierto o falso, osea una "frase" que puede ser cierta o falsa.

Por ejemplo: "x > 2", "Pepe lleva un sombrero". Se dice que los predicados se evalúan a cierto o falso, lo que en lenguaje normal decimos "ser" verdadero o falso.

Por ejemplo: "Para todo ciudadano ruso, si ha nacido antes de 2001, debería estar en el censo de 2002" Podemos usar predicados y decir "Para todo x ciudadano_ruso(x), si año_de_nacimiento(x) < 2001, está_en_el_censo(x, 2002)".

  • "ciudadano_ruso(x)" sería un predicado que dependiendo de x nos da "cierto" si x es un ciudadano ruso, y falso si no lo es.
  • "año_de_nacimiento(x)" seria una función que nos da el año de nacimiento de x.
  • "está_en_el_censo(x, y)" sería una función que dependiendo de x y de y, nos dice si x está en el censo que se ha hecho el año y. Como pueden ver, ese predicado tiene dos cosas de las que depende... a cada cosa de la que una función (predicado o no) depende se la llama parámetro de esa función. están_en_el_censo es una función con dos parámetros.

Hay formas mucho mejores de expresar ciudadano_ruso(x), iremos mejorando este ejemplo aquí abajo.

Variable: Un nombre corto que le damos a una cosa que suponemos que existe, o bien a una de muchas cosas que suponemos que existen.

Por ejemplo: "Para todo x que sea ciudadano ruso, si x ha nacido antes de 2001, x debería estar en el censo de 2002".

  • X es cualquiera de los ciudadanos rusos posibles.

Lógica de Primer Orden: Símbolos.

V: Símbolo que se lee "para todo". El símbolo original es como una A mayúscula puesta de cabeza.

Por ejemplo: "Vx que sea ciudadano ruso, si ha nacido antes de 2001, x debería estar en el censo de 2002. Vx ciudadano bielorruso, aunque haya nacido antes del 2001, no tiene porqué estar en ningún censo."

* Fíjese que x es al comienzo un ciudadano ruso, y luego un ciudadano bielorruso, cosas diferentes y excluyentes entre sí. X cambia porque está en otro contexto. El contexto lo ha definido cada aparición de "V", pero se puede hacer más explícito con la ayuda de paréntesis.

"(Vx que sea ciudadano ruso, si ha nacido antes de 2001, x debería estar en el censo de 2002). (Vx ciudadano bielorruso, aunque haya nacido antes del 2001, no tiene porqué estar en ningún censo)".

3: Símbolo que se lee "existe un". El símbolo original es como una E mayúscula puesta ante un espejo.

Por ejemplo: "3x tal que x es ciudadano ruso y x nació después de 2002"

* También "3" define un contexto.

* Fíjense que el que exista uno no quiere decir que no existan más. "3" dice que hay un mínimo de uno, no que no hayan más. Pueden haber más.

3!: Símbolos que se leen, juntos, "existe un y sólo un".

Por ejemplo: "3! Presidente de Francia".

: Símbolo que se lee "perteneciente a". El símbolo original es una C mayúscula con un palito horizontal en medio que la cruza completamente.

Por ejemplo: "Vx tal que x CiudadanosRusos, si ha nacido antes de 2001, x debería estar en el censo de 2002".

* Pertenecer sólo puede usarse entre elementos y conjuntos. El elemento pertenece al conjunto.

* Para hacer lógica en un debate, podemos inventarnos libremente los conjuntos que queremos suponer, y se les pueden dar nombres significativos. En caso de duda, se pregunta. Por ejemplo, parece evidente que el conjunto "CiudadanosRusos" es el de todos los ciudadanos rusos y por tanto si x CiudadanosRusos, x es un ciudadano ruso.

* Los conjuntos definen el Universo de una variable. El Universo de x es "los ciudadanos rusos". x puede ser cualquiera de ellos, y no puede ser nada más que uno de ellos. A eso se le llama también estar en el Universo de los ciudadanos rusos.

|: Símbolo que se lee "tal que".

* Por ejemplo: "Vx | x € CiudadanosRusos, si año_de_nacimiento(x) < 2001, entonces x € personas ( censo_ruso (2002) )"

* Este ejemplo ya es bastante avanzado. censo_ruso(x) es una función que nos da el censo ruso de un determinado año, y necesita como parámetro el año. personas(x) es una función que necesita un censo como parámetro, y nos da de vuelta el conjunto de todas las personas mencionadas en ese censo.

 : : Símbolo que se lee "tenemos que".

* Por ejemplo: "Vx | x € CiudadanosRusos : si año_de_nacimiento(x) < 2001, entonces x € personas ( censo ( Rusia, 2002) )"

{}: Símbolos que delimitan la descripción de un conjunto.

* Por ejemplo: {x | x € CiudadanosRusos y además año_de_nacimiento(x) < 2001}

* Esta frase describe el conjunto de los ciudadanos rusos nacidos antes de 2001.

:= : Símbolos que se leen "queda definido como".

* Por ejemplo: RusosMenores := {x | x€CiudadanosRusos y además año_de_nacimiento(x) > 1985 }

* Esta frase define el conjunto RusosMenores, aproximadamente como los rusos menores de 18 años (para ser más exacto habría que complicar el ejemplo).

=, <, >: Sìmbolos matemáricos que se leen "es igual a", "es menor que" y "es mayor que", respectivamente.

* Por ejemplo: "esposa(Pepe) = Maruja".

<=, >= : Símbolos que se leen "es igual o menor a" y "es igual o mayor a", respectivamente. Los símbolos originales son como un < (o > con una línea paralela a la de abajo, debajo de ella.

* Por ejemplo: "2 >= 2" (esto es cierto, ya que si es igual, es "mayor o igual").

-> : Símbolo que se lee "implica que". El símbolo original es una flecha a la derecha.

* Por ejemplo: "Vx | x € CiudadanosRusos : (año_de_nacimiento(x) < 2001) -> (x € personas ( censo_ruso (2002) ) )"

* Es una forma de cambiar los "entonces" "pues entonces", "en ese caso" y estructuras parecidas en una sóla, formal.

* Si a->b, eso no quiere decir que si no ocurre a, no ocurre b. Si no ocurre a, entonces no sabemos si ocurre b o no, no hemos dicho nada al respecto.

* Tampoco quiere decir que si ocurre b, es porque antes ha ocurrido a. Puede ocurrir otra cosa diferente, c, que también implica a. O no. No lo sabemos. Que ocurre b implica que ocurre a es otra de las falacias presentadas en cualquier lista de falacias.

* Cuando decimos que a -> b es que si ocurre a, podemos suponer que ocurre b. también decimos otra cosa valiosa: Que si no ocurre b, entonces no ocurre a. Porque si ocurre a, tenemos b. Así que si no tenemos b, no tenemos a.

<-> : Símbolo que se lee "si y sólo si". El símbolo original es una flecha de dos puntas.

* a <-> b es lo mismo que decir, a la vez, que a -> b y que b->a. Vienen juntos. O ocurren ambas cosas, o no ocurre ninguna de las dos.

* Por ejemplo: " ( María = cónyuge(Pepe) ) <-> ( Pepe = cóyuge(María) ) "

 Y : Símbolo que se lee "y". El símbolo original es una v minúscula puesta de cabeza.

* Por ejemplo: " Pepe = cónyuge(María) Y año(boda(María, Pepe)) <= 1979"

* Este aserto está formado por dos asertos unidos por el "Y".

* Es cierto si y sólo si ocurren las dos cosas. Si sólo ocurre una, no importa cuán importante sea, el aserto completo no se cumple y Pepe y María no pueden celebrar la bodas de plata.

O: Símbolo que se lee "o". El símbolo original es una v dibujada de forma muy sencilla (dos segmentos).

* Por ejemplo: " remarcable(x) <-> ( grandioso(x) O terrible(x) ) "

* Fíjense que pueden cumplirse ambas cosas. Si algo es grandioso Y terrible, entonces tanto "grandioso(x) O terrible(x)" como "grandioso(x) Y terrible(x)" son ciertas.

XOR: Símbolo que se lee "o bien en cambio".

* Por ejemplo: ( progenitor(x,y) Y persona_normal(x) ) <-> ( padre(x,y) XOR madre(x,y) )

* En este ejemplo, si alguien es padre y madre de una persona, no es cierto que sea un progenitor normal. Puede ser un progenitor ( "progenitor(x,y)" puede ser cierto) pero falla "persona_normal(x)".

¬ : Símbolo que se lee "no".

* Por ejemplo: "¬3x € Hombres | ideal(x)". No existen los hombres ideales, por decir algo triste pero lógico, usando la lógica .

!_! : Símbolo que se lee "sea". El símbolo original es como una U mayúscula con segmentos rectos y ángulos rectos en vez de curvas.

* Lo que se hace es hacer una suposición. Se usa por ejemplo para la llamada "reducción al absurdo", que consiste en suponer algo que uno cree que es falso, hacer un razonamiento donde todo lo demás es correcto, y llegar a un absurdo. Como lo demás es cierto, lo que tiene que fallar es la suposición. Por tanto, es falsa.

Moredan Kantose,

Lógica de Primer Orden: Equivalencias y propiedades.

Hay algunas interesantes equivalencias y propiedades de los asertos lógicos. Aquí pondré los más frecuentes (esta aportación será editada y ampliada).

¬(a Y b) = ¬a O ¬b

Si no es un perro negro, es que no es un perro, o bien no es negro, o ninguna de las dos cosas.

Vx, Cierto O x = Cierto

Si es un perro, es cierto que "o es un perro o es un elefante rosa volador".

Vx, Falso Y x = Falso

Si no es un perro, no es cierto que "es un perro y 2 + 2 = 4"

¬ (a O b) = ¬a Y ¬b

Si no es un perro o un gato, es que no es un perro, y no es un gato.

Vf : (¬( 3x | f(x) ) = Vx : ¬f(x) )

Si no es cierto que exista un animal que es inmortal, entonces es que para todo animal, ése animal no es inmortal.

Vf : (¬( Vx | f(x) ) = 3x : ¬f(x) )

Si no es cierto que todo varón se siente atraído por las mujeres, es que hay al menos un varón que no se siente atraído por ellas.

Por Moredan Kantose,