Академический Документы
Профессиональный Документы
Культура Документы
En este captulo se presenta una introduccin a la lgica proposicional y de predicados, deniendo con precisin lo que es un razonamiento vlido y mostrando distintos mtodos de demostracin, entre ellos la induccin matemtica. Se comentan algunas aplicaciones de los temas tratados a la informtica. Como objetivos se espera que los alumnos sean capaces de realizar con soltura las siguientes actividades:
Construir tablas de verdad de proposiciones compuestas. Averiguar si dos proposiciones son lgicamente equivalentes. Traducir enunciados sencillos a expresiones lgicas. Vericar si un razonamiento es correcto. Aplicar el principio de induccin.
1.1
Lgica e informtica
Qu relacin existe entre la lgica y la informtica? Los ordenadores son mquinas diseadas para mecanizar trabajos intelectuales, entre otros, los clculos basados en operaciones aritmticas o el almacenamiento, clasicacin y bsqueda de datos. Al intentar mecanizar tareas ms complejas entramos en el campo de la informtica conocido como inteligencia articial, en el que se pretende que 11
12
CAPTULO 1. LGICA
el ordenador sea capaz de realizar ese tipo de razonamientos que el hombre efecta de una manera un tanto informal, por lo que es necesario denir y analizar con precisin dichos razonamientos. En otras palabras, se trata de formalizar los razonamientos. Y de esto se ocupa la lgica. Tambin la lgica tiene relacin con el mundo de la programacin debido a la denominada crisis del software: los programas son cada vez ms complejos, menos ables y ms difciles de mantener. Se han propuesto y se utilizan diversas metodologas para la construccin de programas y su vericacin (mtodos para comprobar la coincidencia entre lo que se cree que hace el programa y lo que realmente hace). En palabras de R. Fairley la vericacin formal es una rigurosa demostracin matemtica de la concordancia del cdigo fuente de un programa con su especicacin. En esta lnea de acercamiento entre el cdigo fuente de un programa y su especicacin estn los denominados lenguajes de programacin declarativa (como contraposicin a la visin tradicional conocida como programacin imperativa). Desde esta perspectiva se pretende que los programas no sean una secuencia de instrucciones que le digan al ordenador, paso a paso, cmo resolver el problema (programacin imperativa), sino ms bien una especicacin de lo que se pretende resolver dejando que sea el propio ordenador el que determine las acciones necesarias para ello. En este sentido la lgica puede verse como un lenguaje de especicacin mediante el cual podemos plantear los problemas de forma rigurosa. Por otra parte, desde el punto de vista estrictamente electrnico, el soporte tecnolgico principal de los ordenadores lo constituyen los circuitos de conmutacin o circuitos lgicos, denominados as por tener en comn con las formas elementales de la lgica el modelo matemtico conocido como lgebra de Boole. Finalmente, otra relacin de la lgica con la informtica viene dada por el hecho de que el estudio matemtico de los lenguajes es uno de los pilares de la informtica, entendiendo por lenguaje un sistema de smbolos y de convenios que se utiliza para la comunicacin, sea sta entre personas, entre personas y mquinas, o entre mquinas ; la Lgica Formal puede considerarse como un lenguaje, el mejor hecho de los lenguajes, en palabras de Ferrater Mora.
13
1.2
Por otra parte, y planteando ahora las posibles aplicaciones de la lgica desde una perspectiva ms general, las ciencias experimentales se basan en la observacin de la naturaleza y utilizan un razonamiento de tipo inductivo para poder formular teoras generales. Estas teoras permiten entender y clasicar los resultados de observaciones particulares y de este modo extraer conclusiones generales que posibiliten hacer predicciones sobre el resultado de futuros experimentos. El conocimiento cientco es una representacin del mundo real y alcanza los mayores niveles de precisin y exactitud cuando dichos modelos son de naturaleza matemtica. La utilidad de los modelos matemticos reside en las tres caractersticas que, segn entendemos, conguran su esencia: 1. Por una parte la necesaria simplicacin que se realiza en los modelos; permite analizar con claridad aspectos y relaciones que se presentan en el mundo real, prescindiendo de otras relaciones superuas que ocultan y complican los aspectos objeto de estudio. 2. La segunda caracterstica se reere a la facilidad para hacer deducciones dentro del modelo. Es posible que una de las mayores dicultades del trabajo cientco consista en elegir entre los distintos modelos o distintas representaciones del fenmeno objeto de estudio aquel modelo que ms facilite la labor de deduccin. 3. La ltima caracterstica esencial de un modelo es extrnseca al mismo, a diferencia de las dos anteriores, y consiste en su capacidad predictiva, o lo que es lo mismo, el grado de coincidencia obtenido del contraste entre lo que estaba previsto dentro del modelo y lo que sucede en el mundo real. El mtodo cientco incorpora la experimentacin para realizar dicho contraste. Si las ciencias experimentales siguen un modelo inductivo, las matemticas siguen un modelo deductivo de razonamiento. Es decir, desde una coleccin inicial de verdades (axiomas) se van obteniendo, mediante reglas correctas de deduccin, ms hechos verdaderos (teoremas). Se puede decir que el objeto de la lgica es el estudio sistemtico de las condiciones generales de validez de estas deducciones.
14
CAPTULO 1. LGICA
Al hablar del concepto de deduccin o demostracin de una proposicin o o o sentencia nos estamos reriendo a una argumentacin lgicamente irrefutable que conduce a establecer que dicha sentencia es verdadera. El origen de la mayora de los conceptos matemticos se encuentra en el mundo real que nos rodea. As por ejemplo, los nmeros naturales surgieron de la necesidad de contar objetos. Si asumimos, como primera aproximacin, que una sentencia es verdadera si es verif icable experimentalmente , resultar sencillo comprobar la validez de la sentencia 3+2=5 para lo cual se puede considerar suciente coger tres peras y dos manzanas y contar el nmero de objetos obtenidos al reunirlas. Sin embargo, si ahora queremos comprobar experimentalmente la validez de la sentencia
15
iii) sucientes: todas las propiedades que entendemos que deben satisfacer los objetos que estamos representando deben poderse deducir a partir de los axiomas. Una vez establecidos los axiomas, el resto de propiedades verdaderas o teoremas se obtienen mediante deducciones lgicas o demostraciones a partir de los axiomas o de otros teoremas previamente demostrados. Los trminos lema, corolario y proposicin se emplean para cierto tipo de teoremas. Un lema es un teorema ms simple que se emplea para demostrar otro ms complejo. Un corolario es un teorema que es consecuencia directa de otro teorema previo. El trmino proposicin es sinnimo del trmino teorema. Se suele preferir la palabra teorema para hechos ms relevantes y la palabra proposicin para hechos ms secundarios.
1.3
Lgica proposicional
Conectiva lingstica Conectivo lgico Smbolo Se escribe no p Negacin p pyq Conjuncin pq poq Disyuncin pq Si p entonces q Implicacin pq p si y solo si q Equivalencia pq
16
CAPTULO 1. LGICA
El signicado del conectivo lgico negacin, , reside en que la proposicin p es verdadera en el caso de que p sea falsa y recprocamente que p es falsa cuando p es verdadera. Recogemos el signicado del conectivo en la siguiente tabla de verdad :
p V F
p F V
Del mismo modo podemos recoger el signicado del resto de los conectivos:
La sentencia p q es verdadera slo cuando p y q son verdaderas simultneamente. La tabla de verdad correspondiente a este conectivo ser, pues:
p V V F F
q V F V F
pq V F F F
La sentencia pq , que se lee p q, debe entenderse en su acepcin ms amplia, es decir, p q o ambos , con lo que p q ser verdadera en el caso de que p sea verdadera, q sea verdadera o ambas sean verdaderas simultneamente: p V V F F q V F V F pq V V V F
17
Para establecer el signicado de la sentencia p q , que se lee si p entonces q o tambin p implica q, debemos tener presente que en lenguaje natural la sentencia p implica q encierra una relacin de causalidad, causalidad que no siempre aparece al utilizar este conectivo en el mbito formal. Se pretende que el valor V o F de la sentencia p q dependa por completo de los valores de verdad de p y q , con independencia de que exista o no alguna relacin de causalidad con sentido entre p y q . En lenguaje matemtico, p implica q quiere decir que si p es verdadera, necesariamente q es verdadera, o lo que es lo mismo, que es imposible que q sea f alsa y p verdadera. Esto es, si el valor de verdad de p es V y el de q es F, el valor de verdad de p q es F; para el resto de posibles valores de p y q la sentencia ser verdadera. Considrese el ejemplo siguiente:
Sea la proposicin: Si quemo madera, hay humo en el ambiente, que representaremos por p q . Entendemos que esta sentencia es verdadera, puesto que en nuestra experiencia no encontramos una situacin en la que una madera est ardiendo y no produzca humo. Sin embargo, la sentencia es verdadera independientemente de que se tenga madera a mano y no haya humo en el ambiente, de que no estemos quemando madera y haya humo debido a que estamos quemando papel, o incluso de que efectivamente estemos quemando madera y se est llenando el ambiente de humo. En otras palabras p q sigue siendo verdadera aun en el caso en el que p sea falsa (no estemos quemando madera) y q sea falsa (no hay humo en el ambiente), p sea falsa y q sea verdadera o incluso que p sea verdadera y q sea verdadera. El signicado de este conectivo lgico queda pues del siguiente modo:
p V V F F
q V F V F
pq V F V V
Obsrvese que por ejemplo la sentencia Si 2+2=4 entonces el sol es una estrella es verdadera (segn el signicado del conectivo lgico establecido en la tabla anterior) y sin embargo no existe relacin alguna de causalidad entre las proposiciones simples que en ella intervienen.
18
CAPTULO 1. LGICA
Es importante destacar que de la tabla anterior se sigue que para demostrar que la sentencia p q es verdadera, basta con estudiar el caso en el que p es verdadera, puesto que si p es falsa, la sentencia p q es verdadera. A las sentencias p y q las denominaremos, respectivamente, antecedente y consecuente de la proposicin p q. La sentencia q p es denominada sentencia recproca de la sentencia p q, y la sentencia q p sentencia contrarrecproca de la sentencia p q.
La proposicin p q , que se lee p si y solo si q , o tambin p equivale a q es verdadera cuando p y q tienen el mismo valor de verdad, es decir: p V V F F q V F V F pq V F F V
Para representar proposiciones emplearemos los smbolos p, q , r... o, lo que es lo mismo, emplearemos los smbolos p, q , r... como variables proposicionales.
19
son igualmente vlidas, independientemente de que existan o no las ketas, de que sean o no largas, de que Cucufato estudie o trabaje o incluso de que exista alguien que se llame as. Estas dos deducciones tienen la misma forma:
pq p q
Donde se est representando en cada lnea una de las proposiciones, y se han separado las hiptesis de la conclusin por una lnea horizontal. Sobre esto volveremos ms adelante. Veamos otro ejemplo para aclarar lo que entendemos por forma de una proposicin: las proposiciones trabajo o no trabajo y estoy sentado o no estoy sentado tienen la misma forma pp. La tabla de verdad de esta forma proposicional p p es:
p V F
p F V
p p V V
Es decir, cualquier proposicin que tenga la forma p p ser verdadera independientemente del valor de verdad que tenga p. La forma de las proposiciones va a estar determinada por cmo estn dispuestos los conectivos {, , , , } , por lo que vamos a introducir la denicin de forma proposicional para estudiar aquellas propiedades que nicamente dependen de la manera en la que estn colocados dichos conectivos lgicos:
20
CAPTULO 1. LGICA
y construida utilizando las siguientes reglas: 1. Cualquier variable proposicional es una forma proposicional 2. Si A y B son formas proposicionales, entonces tambin lo son (A) , (A B) , (A B) , (A B) y (A B)
En la prctica se suelen suprimir los parntesis en aquellos casos en los que al hacerlo no se produce ambigedad. Sealar tambin que, como veremos en la seccin 1.5, la regla 2 puede ser simplicada prescindiendo de algunos de los conectivos.
((p (q)) r)
s lo es porque sigue las reglas de su construccin. Obsrvese que ltima forma proposicional puede ser representada sin ambigedad suprimiendo parntesis por
(p q) r.
Cada forma proposicional tiene asociada una tabla de verdad, que recoge los distintos valores de verdad de la forma al asignar valores V y F a las distintas variables involucradas. La tabla de verdad asociada a una forma proposicional se puede construir sistemticamente a partir del procedimiento empleado para construir dicha forma proposicional:
21
Lo primero es determinar los pasos seguidos en su construccin. Obsrvese que segn las reglas de construccin de formas proposicionales siempre se tiene un ltimo conectivo que va separando la parte de la derecha y la de la izquierda que son proposiciones ms simples (con menos conectivos): (pq) r (pq) p q q r
En segundo lugar se construye la primera la de la tabla teniendo en cuenta dichos pasos:
p q
(pq) r
(pq) r
En tercer lugar establecemos todas las posibles situaciones de verdad o falsedad de las primeras variables del enunciado que intervienen: p V V F F q V F V F q (pq) r (pq) r
Finalmente se van rellenando el resto de las columnas teniendo en cuenta por una parte el signicado de los conectivos lgicos , , , , y por otra, que cada vez que aparece una nueva variable proposicional es preciso comparar las situaciones de verdad o falsedad obtenidas con los dos posibles valores de verdad de la nueva variable proposicional:
22
p V V F F
q V F V F
p V V F F V V F F
q V F V F V F V F
q F V F V F V F V
Ejercicio 1 Construir las tablas de verdad de las siguientes formas proposicionales: 1. (p q) 2. (p p) 3. (p p) 4. p (q r) 5. (p q) ((p) (q))
23
variables proposicionales que en ella intervienen. Una forma proposicional es una contradiccin si toma el valor F cualquiera que sea la forma en que asignemos los valores V F a las variables proposicionales que en ella intervienen. tabla de verdad:
p V V F F
q V F V F
pq V F V V
p F F V V
(p) q V F V V
(p q) ((p) q) V V V V
Denicin 1.3.6 Si A y B son formas proposicionales se dice que A implica lgicamente a B si la forma proposicional (A B) es una tautologa.
24
CAPTULO 1. LGICA
p (p q) (p q) (q r) (p q) (p q) (p q) p (p p)
a a a a a
q (p r) q q q
mente a p.
Observacin 1.3.7 El hecho de que p (p q) implica lgicamente a q es la regla de inferencia que se suele conocer como modus ponens. La regla modus tolens es el hecho de que (p q) q implica lgica-
Denicin 1.3.8 Sean A y B dos formas proposicionales se dice que A equivale lgicamente a B si la forma proposicional (A B) es una tautologa.
Analicemos el signicado de esta denicin: si (A B) es una tautologa entonces es imposible asignar valores de verdad a las variables proposicionales de A y B de manera que el valor de verdad de A sea diferente del valor de B . En otras palabras: si (A B) es una tautologa A es V si y solo si B es V, y A es F si y solo si B es F.
25
p (p q) r (p q) r (p q) (p q) p (q r) p (q r) (p q) (p q) (p q) pV pF (p q)
y y y y y y y y y y y y y
( es asociativa) ( es asociativa) ( es conmutativa) ( es conmutativa) ( es distributiva respecto de ) ( es distributiva respecto de ) ley de De Morgan ley de De Morgan
(p q) (q p) (p q) (p q) p p
a a a a a
Por otro lado el ejemplo 1.3.5 indica que p q es equivalente lgicamente a p q . Esta tabla de equivalencias lgicas pone de maniesto los siguientes resultados: 1. La equivalencia (p q) es V si y solo si las implicaciones (p q) y (q p) son V . 2. La implicacin (p q) es lgicamente equivalente a su contrarrecproca (q) (p). 3. El principio de reduccin al absurdo: la verdad de p es equivalente al hecho de que su negacin p implique una contradiccin. Este hecho se sustenta en cualquiera de las dos ltimas equivalencias lgicas presentadas anteriormente:
p p
(p p) ((p) (q q))
26
CAPTULO 1. LGICA
Estas equivalencias lgicas nos permitirn presentar algunas tcnicas de demostracin. Antes introduzcamos con precisin el sentido que tiene el hecho de que un razonamiento sea correcto.
de A1 , ..., An
se deduce
es correcto o lgicamente vlido si A1 ...An implica lgicamente B o, lo que es lo mismo, si es imposible encontrar un caso en el que siendo verdaderas las sentencias A1 ,...,An sea falsa la sentencia B . A las sentencias A1 ,...,An las denominamos premisas o hiptesis y a la sentencia B conclusin o tesis.
Para distinguir las premisas de la conclusin, el razonamiento anterior se suele representar por
A1 . . . An B
27
1. H es un subgrupo si es no vaco, contiene al neutro y es cerrado para la operacin. Si H es no vaco y cerrado para la operacin, entonces H contiene al neutro. En consecuencia, si H es cerrado para la operacin, H es un subgrupo. 2. Si p es un nmero perfecto entonces p es par y n es impar. p es par y n no es impar. Por consiguiente p no es perfecto. 3. Si no hay huelga, o el sindicato miente o el ministro tiene razn. Hay huelga o en caso contrario el ministro se equivoca. Por lo tanto el sindicato no miente.
Demostraciones directas: se usan para probar que una sentencia de la forma p q es verdadera para lo cual utilizamos la siguiente tautologa recursivamente: ((p r) (r s)) (p s).
De esta manera si podemos construir una cadena nita de sentencias verdaderas de la forma p p1 , p1 p2 , ..., pn q habremos demostrado que p q es verdadera.
x = 2p + 1
28
CAPTULO 1. LGICA
por la denicin de ser impar. Formalmente hemos demostrado que si la proposicin q es x es impar y q1 es la proposicin existe p entero tal que x=2p+1 entonces tenemos la veracidad de:
q q1 .
De hecho, por denicin de impar, q q1 . Aplicando las reglas para hacer el cuadrado tenemos:
x2 = 2(2p2 + 2p) + 1.
Por lo que en efecto x2 es impar.
que a > b si existe un nmero natural c N tal que a = b + c. Demostrar que si a > b y b > c entonces a > c.
Ejemplo 1.3.12 Vamos a demostrar, usando la demostracin por contrapositivo, la implicacin recproca del ejemplo anterior:
Lo que se hace mediante una demostracin directa idntica a la del ejemplo anterior, cambiando la denicin de impar por la de par.
29
Demostracin por reduccin al absurdo: consiste en utilizar alguna de las equivalencia lgicas que hemos denominado reduccin al absurdo. Esto es, suponer que la conclusin es falsa y llegar a una contradiccin.
1 a > 0, entonces a > 0. Usamos la propiedad de los signos que indica que el producto de dos nmeros reales es posisitivo si y solamente si o ambos son positivos o ambos son negativos. 1 Supongamos que la conclusin es falsa, esto es a 0. Es evidente que 1 1 1 = 0 pues a a = 1. Por tanto, como el producto a a = 1, entonces a < 0 en a contradiccin con la hiptesis a > 0.
Demostracin por casos: cuando se tiene una implicacin del tipo p a1 a2 ... an para demostrar que p q es suciente demostrar que a1 q y que ... an q .
slo puede tomar los valores 0 1. Como se tiene que si x N entonces x es par o x es impar, entonces debemos probar que: si x es par entonces se cumple la armacin y que si x es impar entonces tambin se cumple la armacin. En efecto, si x es par entonces existe p N de modo que
x = 2p
y por tanto
x2 = 4p2
de modo que x es mltiplo de 4, esto es, su resto al dividir por 4 es 0. Y si x es impar entonces existe p N de modo que
x = 2p + 1
y por tanto
x2 = 4p2 + 4p + 1 = 4(p2 + p) + 1
30
CAPTULO 1. LGICA
Demostracin de dobles implicaciones: La demostracin de una doble implicacin p q se convierte, mediante la equivalencia lgica con (p q) (q p), en dos demostraciones. La de p q y la de q p.
Ejemplo 1.3.15 Mirando los ejemplos presentados en la demostracin directa y en la demostracin usando la sentencia contrarrecproca se ha demostrado el hecho siguiente: x es impar si y solamente si x2 es impar.
mente A : F ) signica que consideramos la proposicin A verdadera (respectivamente falsa). Cuando la forma es una variable, digamos p, a veces escribiremos p := V (resp. p := F ).
31
Luego f alla el intento de probar que no es una tautologa, o lo que es lo mismo, no es posible asignar valores de verdad a las variables proposicionales que intervienen de manera que la forma proposicional ((p q) (r q)) ((p r) q) sea falsa, por lo que concluimos que dicha forma proposicional es, efectivamente, una tautologa.
32
CAPTULO 1. LGICA
equivalente en la que los nicos conectivos que aparezcan sean los del conjunto {, , }. Por ejemplo, si A es la forma proposicional B C, tendremos que la forma proposicional A es lgicamente equivalente a (B C). Si A es la forma proposicional B C , tendremos que la forma proposicional A es lgicamente equivalente a (B C) (C B). Por eso se dice que los conectivos {, , } constituyen un conjunto adecuado de conectivos. Utilizando las leyes de De Morgan como axiomas es posible mostrar que tanto {, } como {, } constituyen conjuntos adecuados de conectivos. Existen conjuntos adecuados de conectivos que constan nicamente de un elemento. Sheer introdujo en 1913 dos nuevos conectivos, que actualmente se conocen como nand y nor. Estos dos conectivos tienen gran utilidad en las aplicaciones a los circuitos de conmutacin. El conectivo nor se representa con el smbolo , siendo la sentencia p q lgicamente equivalente a (p q). El conectivo nand se representa con el smbolo |, siendo p | q lgicamente equivalente a (p q).
de conectivos. Para verlo expresar las formas proposicionales p q, p q y p en funcin, en primer lugar, del conectivo {} y, en segundo lugar, en funcin del conectivo {|}.
33
p q r
por lo que no es un razonamiento vlido (tomando p : V , q : v y r : F ) en contradiccin con nuestra intuicin. Necesitamos entonces una descripcin ms na que permita distinguir los hombres (los objetos) de sus propiedades (predicados). Consideremos ahora la deduccin: Todos los nmeros primos son impares 3 es un nmero primo 3 es impar Si separamos las sentencias:
en las dos primeras interviene la propiedad ser primo en las dos ltimas interviene el objeto 5.
Estas sentencias pueden ser simbolizadas del siguiente modo:
x es x es 3 es 5 es 5 es
O en el ejemplo del comienzo:
x es mortal x es hombre
M(x) H(x)
Tambin es posible simbolizar de este modo propiedades que afectan a varios objetos:
34
CAPTULO 1. LGICA
En lgica de predicados se distingue, pues, entre las propiedades (tambin llamadas predicados ) y los objetos a los que dichas propiedades se reeren. En lgica, y en general, en matemticas, se utilizan dos tipos de objetos:
las constantes, que son objetos concretos, formando un universo de discurso, un conjunto U , las variables, que son objetos genricos que normalmente denotamos con las letras x, y, z.... y que podrn sustituirse por objetos de U .
Por ejemplo, tomando el conjunto de los nmeros naturales U = N, el 1 es una constante y representa un elemento de N, mientras que podemos escribir x, una variable que puede tomar cualquier valor natural. La caracterstica esencial que diferencia las variables de las constantes es que las variables pueden ser sustituidas por cualquier objeto del universo de discurso en el transcurso de una deduccin. Un predicado es entonces una sentencia que involucra variables de modo que al ser sustituidas por constantes se convierte en una proposicin. Por ejemplo, el predicado x es primo se convierte en una proposicin al sustituir x por un nmero natural. Los predicados se pueden representar por smbolos del tipo P (x), Q(x), R(x)... que se denominan funciones proposicionales o tambin sentencias abiertas. Una vez que se haya asignado un valor adecuado a la variable x la funcin proposicional P (x) da lugar a una proposicin de la que es posible armar si es verdadera o falsa. Por ejemplo, si P (x) :=x es primo entonces P (3) es verdadera, y P (4) es falsa. Por otra las funciones proposicionales pueden tener ms de una variable. As por ejemplo, si Q(x, y, z) designa la sentencia x + y = z , tendremos que las sentencias Q(1, 2, 3) y Q(2, 2, 4) son verdaderas y que Q(1, 2, 5) es falsa.
35
2) Por otra parte, el hecho de que para al menos un elemento a del universo de discurso U la sentencia P (a) sea una proposicin verdadera, nos permite armar que la proposicin existe un elemento x de U tal que la proposicin P (x) es verdadera, que expresamos de forma ms breve por
x U P (x)
es verdadera. La frase existe un objeto x del conjunto U se denomina cuanticador existencial y se representa por x U . As pues, para poder asociar un valor de verdad (o, lo que es lo mismo, interpretar) a una sentencia abierta, es necesario cerrarla previamente (se dice que una sentencia es cerrada si no tiene variables sin cuanticar). Como hemos visto una sentencia se puede cerrar asignando constantes a las variables que en ella intervienen o cuanticando dichas variables. Si las variables estn cuanticadas, el valor de verdad depende del universo de discurso que se considere. As por ejemplo, la sentencia
x U (x2 = 2)
36
CAPTULO 1. LGICA
es verdadera en el universo de discurso de los nmeros reales (U = R, siendo x = 2), pero falsa en el universo de discurso de los nmeros enteros es (U = Z ya que 2 Z). / Si el universo de discurso es nito, el cuanticador universal puede sustituirse por un nmero nito de conjunciones y el cuanticador existencial por un nmero nito de disyunciones. Por ejemplo, si los valores posibles de la variable x son a, b, c, (U = {a, b, c}) la sentencia cerrada
x U P (x)
es, por denicin,
x U P (x)
es, por denicin,
37
x U P (x) aU P (a)
Nuestra intuicin seala que este razonamiento es vlido siempre, en el sentido de que no depende del universo de discurso considerado. Resulta entonces natural escribir la siguiente expresin que consideraremos verdadera:
(x P (x)) P (a).
Obsrvese que no se ha escrito el universo de discurso. De este modo es interesante construir una lgica formal usando predicados. Con este objeto vamos a dar un conjunto de reglas para denir forma de predicados, que es el equivalente, en la lgica de predicados, al concepto de forma proposicional en la lgica proposicional.
forma P (x), Q(x), ... (donde tambin se pueden considerar varias variables). Las funciones proposicionales son formas de predicados.
Paso 2. Se pueden construir nuevas formas de predicados usando los conectivos lgicos. Formas. por ejemplo, del tipo:
P (x) Q(x) P (x) Q(y) P (x) P (x) Q(x) P (x) Q(x) P (x) Q(x)
Paso 3. Dada una forma de predicados de las construidas hasta ahora, donde
aparece la variable x, digamos por simplicidad P (x), se pueden construir las expresiones: x P (x)
x P (x).
Por ejemplo se construyen las formas:
38
CAPTULO 1. LGICA
En las formas construidas en el paso 3, la variable x afectada por el cuanticador universal o existencial se dice que queda ligada. El resto de posibles variables se dicen libres. Volveremos ms adelante sobre esta denicin.
(x P (x)) (x Q(x)).
Paso 5. Dada una forma de predicados P(x) donde aparece una variable libre x, se pueden construir expresiones del tipo:
x P(x) x P(x).
Por ejemplo expresiones del tipo:
puede sustituirse por una constante arbitraria, dando lugar a una nueva forma de predicado. Usaremos los trminos forma de predicados, sentencia de lgica de predicados o expresin de lgica de predicados indistintamente.
(x P (x)) P (a).
Denicin 1.4.3 Diremos que una variable x aparece ligada en una forma
de predicado P si est afectada por algn cuanticador. En caso de que una variable no aparezca ligada diremos que aparece libre.
Por ejemplo
En la(s) variable(s) aparece(n)
x aparece libre x e y aparecen libres x aparece libre e y ligada x aparece libre e y ligada x e y aparecen ligadas
Para poder asignar valores de verdad a las formas de predicado hay que, como se deca anteriormente, cerrar las formas, esto es, sustituir las variables libres por constantes y entender cmo se asignan valores de verdad a las variables cuanticadas.
Si en una forma no aparecen cuanticadores, al sustituir las variables por constantes, la asignacin de valores de verdad se hace exactamente como en lgica de predicados.
40
CAPTULO 1. LGICA
Dada una forma de predicado del tipo x P (x), donde P (x) es una forma de predicado sin cuanticadores y con una sola variable x, se dice que la expresin x P (x) es verdadera si al sustituir x por una constante a cualquiera en cualquier universo de discurso, se tiene que P (a) es verdadero.
para cada constante a en cada universo de discurso U se tiene que P (a) P (a) es verdadera.
Dada una forma de predicado del tipo x P (x), donde P (x) es una forma de predicado sin cuanticadores y con una sola variable x, se dice que la expresin x P (x) es verdadera si al sustituir x por una constante a en algn universo de discurso, se tiene que P (a) es verdadero. Es decir, el valor de verdad de x P (x) es el mismo de (x P (x)).
Usando los signicados de los distintos conectivos lgicos podemos asignar valores de verdad a nuevas formas de predicado. Veamos un ejemplo.
entemente del universo de discurso y los objetos concretos de dicho universo que asignemos a las variables que aparecen libres.
Denicin 1.4.8 Diremos que una forma de predicado que contenga variables libres es una tautologa si toma nicamente el valor V independi-
41
Podemos ahora asignar un valor de verdad a la forma x P (x), donde P (x) es una forma cualquiera de la siguiente manera: la sentencia x P (x) es V si P (x) es una tautologa, y F en caso contrario.
constantes):
a) Si (x P (x, y)) es V , P (x, y) es una tautologa, lo que signica que al sustituir la variable x (respectivamente la y ) por cualquier objeto concreto, digamos a (respectivamente b), del universo de discurso que se considere obtenemos que P (a, b) verdadera, y por consiguiente
(x P (x)) P (a)
es V . b) Si por el contrario (x P (x, y)) es F , la implicacin
es V.
42
CAPTULO 1. LGICA
Para asignar un valor de verdad a la expresin x P (x), donde P (x) es una forma cualquiera, consideramos lo siguiente: la sentencia x P (x) es V si P (x) no es una tautologa, y F en caso contrario.
Es decir, x P (x) es V si hay un universo de discurso U y una constante a U tal que P (a) es V . Se establece entonces la equivalencia lgica siguiente:
x P (x)
es lgicamente equivalente (en el sentido de que tienen el mismo valor de verdad) a (x P (x)). a) Si x P (x) es V , P (x) no es una tautologa, o lo que es lo mismo, x P (x) es F , con lo que (x P (x)) es V . b) Recprocamente, si (x P (x)) es V , necesariamente (x P (x)) es F , o lo que es lo mismo, P (x) no es una tautologa. Entonces existe un objeto a de un universo de discurso tal que P (a) es F , con lo que P (a) es V . Esto implica que la sentencia x P (x) es V . Por consiguiente en cualquier universo de discurso, para todo predicado P y para toda variable x, la siguiente sentencia es verdadera:
Ejercicio 12 Probar que en cualquier universo de discurso, para todo predicado P y para toda variable x, la siguientes sentencias son verdaderas:
una constante a en U de modo que P (a) es F . A dicho a lo denominaremos contraejemplo. Por ejemplo, sea U el conjunto de los nmeros naturales, U = N, y el predicado P (x) :=x es primo o producto de exactamente dos nmeros primos; la sentencia (x U P (x)) es F puesto que 30 no es primo ni producto de exactamente dos primos. El nmero 30 es un contraejemplo a la sentencia x U P (x).
43
x U y U P (x, y) : V
ya que para cada nmero natural x siempre existe un nmero natural y (por ejemplo y = x + 1) estrictamente mayor. Pero:
x U y U P (x, y) : F
ya que no existe un nmero natural mayor que el resto de los nmeros naturales. Por tanto:
44
CAPTULO 1. LGICA
(P (a) Q(a))
es verdadera. Existen dos posibilidades:
Si P (a) es V entonces (xP (x)) es V y por tanto (xP (x)) (xQ(x)) es V . Si Q(a) es V se razona anlogamente.
ii) Supongamos verdadera la sentencia (xP (x)) (xQ(x)). En ese caso existen tambin dos posibilidades:
Si (xP (x)) es V entonces, siendo a un objeto tal que P (a) es V , resulta que P (a) Q(a) es V y por tanto x (P (x) Q(x)) es V . Si (xQ(x)) es V se razona anlogamente.
45
Demostracin. Para demostrar la primera parte razonamos por reduccin al absurdo: supongamos que ((xP (x)) (xQ(x))) es V y que x (P (x) Q(x)) es F . De la segunda condicin se deduce que existe un objeto a tal que (P (a) Q(a)) es F , con lo que P (a) es F y Q(a) es F . En consecuencia (xP (x)) es F y (xQ(x)) es F , es decir, ((xP (x)) (xQ(x))) es F .
Para demostrar la segunda parte pondremos un contraejemplo: sea el universo de los nmeros naturales y los predicados P (x):=x es par y Q(x):=x es impar. Sea la sentencia todo nmero natural es o bien par o bien impar, es decir x(P (x) Q(x)). Esta sentencia es V . Sin embargo la sentencia todo nmero natural es par o todo nmero natural es impar, esto es, xP (x) xQ(x) es F .
> 0 se tiene
46
CAPTULO 1. LGICA
Sea G(x, y) la sentencia y es el alma gemela de x. La sentencia que queremos modelizar dice que para cualquier persona x, existe otra y que es su alma gemela y que cualquier otra persona z no es el alma gemela de x:
Observacin 1.4.17 Hay que tener cuidado con la negacin de una sentencia cuando viene afectada por un cuanticador. Supongamos que queremos negar la sentencia Todos los alumnos de esta clase han aprobado algn examen en febrero.
Para ello simbolicemos por C(x) el predicado x es un alumno de esta clase, por A(x, y) el predicado x ha aprobado el examen y y por F (y) y se realiz en febrero. As, la sentencia dada se puede escribir
47
Existe algn alumno de esta clase que o no ha aprobado ningn examen (y (A(x, y))) o, si lo ha aprobado, no ha sido en febrero.
Si preferimos quedarnos con la sentencia lgicamente equivalente a sta de la penltima lnea se podra leer existe algn alumno de esta clase que no ha aprobado ningn examen en febrero.
Ejercicio 14 Escribir de forma simblica las siguientes sentencias y su negacin, de manera que en la expresin nal no haya ningn cuanticador precedido del smbolo negacin: 1. No todos los espaoles son periodistas 2. Si algn caminante bosteza, todos los caminantes bostezan 3. Todo el mundo conoce a algn modisto 4. Entre dos nmeros nmeros reales distintos cualesquiera existe algn nmero racional 5. No existe un primo mayor que el resto de los nmeros primos
1.5
En esta seccin revisamos una de las tcnicas ms potentes que emplearemos con frecuencia para demostrar propiedades de objetos discretos (complejidad de algoritmos, teoremas sobre grafos, etc...) El conjunto N de los nmeros naturales es un conjunto caracterizado por, entre otras, la siguiente propiedad (volveremos sobre esto en el captulo 3): Si A N es tal que 1Ay
48
CAPTULO 1. LGICA
n N (n A (n + 1) A), entonces A = N . Esta propiedad es la base de lo que se conoce como razonamiento por
induccin:
Observacin 1.5.2 Es usual, al hacer un razonamiento por induccin, emplear la siguiente jerga:
P (1) es V es la base de induccin n N (P (n) P (n + 1)) es el paso de induccin Normalmente se hace una demostracin directa del paso de induccin. La suposicin de que P (n) es V para cierto n jo es conocida como
hiptesis de induccin.
49
solucin. Si ahora consideramos un tablero de tamao 2n+1 2n+1 , podemos descomponerlo en cuatro tableros de tamao 2n 2n dividindolo por la mitad longitudinal y transversalmente. Como en el tablero inicial falta una casilla, en una de las cuatro partes en que lo hemos dividido falta una casilla. En las otras tres partes quitamos la casilla de la esquina que se encuentra en el centro del tablero. De esta forma las tres casillas que quitamos forman una L. Ahora en cada una de las cuatro partes tenemos un tablero de tamao 2n 2n al que le falta una casilla. Por tanto, por la hiptesis de induccin, podemos rellenar cada uno de ellos con piezas en forma de L por separado. Para acabar de rellenar el tablero original solo basta aadir una L en el hueco central formado por las tres casillas que hemos quitado.
n N,
k=1 n
k=
n(n + 1) 2
n N,
k=1
(2k 1) = n2 2n (n + 1)!.
n N,
sealada en el ejercicio 9.
50
CAPTULO 1. LGICA
realizar por induccin completa y recprocamente, aunque hay casos en los que, por simplicidad, es conveniente emplear uno u otro mtodo. Se trata de demostrar la validez de una sentencia de la forma
(n N P (n)) .
El razonamiento por induccin completa consta de los siguientes pasos (observa que la nica diferencia con el razonamiento por induccin est en el paso de induccin):
Base de induccin: P (1) es V . Paso de induccin: Se demuestra que n N (P (1) ... P (n) P (n + 1)) es V .
Como en el caso del razonamiento por induccin la conclusin es que la sentencia (n N P (n)) es V .
Ejemplo 1.5.4 Vamos a demostrar utilizando el mtodo de induccin completa, que todo nmero entero mayor que 1 es primo o producto de nmeros primos:
51
Ejemplo 1.5.5 Los nmeros enteros vienen determinados por las siguientes
reglas:
0 Z. Si n Z, entonces (n + 1) Z (n 1) Z.
En este caso el paso de induccin tiene dos direcciones, es decir, para probar el paso de induccin habra que comprobar que si n satisface la propiedad objeto de estudio, entonces tambin la satisfacen (n + 1) y (n 1). Veamos un ejemplo de una demostracin por induccin estructural en este contexto. Dado a R, denimos an para n Z del siguiente modo:
a0 = 1 an+1 = an a, an1 =
En estas condiciones, para comprobar la ley
an . a
am+n = am an
jamos m arbitrario y razonamos por induccin (estructural) en n:
52
CAPTULO 1. LGICA
Paso de induccin: Supongamos vlida la ley para n. Tenemos que deam+(n+1) = a(m+n)+1 = am+n a = = (am an ) a = am (an a) = am an+1 ,
donde la igualdad tercera es la hiptesis de induccin. Y tambin:
mostrar que en ese caso la ley tambin es vlida para (n + 1) y para (n 1):
am+(n1) = a(m+n)1 = =(
am+n = a
am an an ) = am ( ) = am an1 , a a donde de nuevo la igualdad tercera es la hiptesis de induccin. Con esto concluimos, como consecuencia del razonamiento por induccin estructural efectuado, que la ley es vlida n Z.
Ejemplo 1.5.6 Dada una forma proposicional A, denimos la forma proposicional complementaria de A del siguiente modo:
Si p es una variable proposicional, comp(p) = p, comp(p) = p, comp(A B) = comp(A) comp(B), comp(A B) = comp(A) comp(B).
Base de induccin: Los nicos casos (casos bsicos) para los que se puede
aplicar directamente la denicin de forma proposicional complementaria son: si C = p, comp(C) = comp(p) = p = C y si C = p
comp(C) = comp(p) = p = p = C.
Antes de hacer el paso de induccin recordar que {, , } es un conjunto adecuado de conectivos por lo que toda forma proposicional se puede construir
1.6. APLICACIONES
53
mediante las reglas de construccin de formas proposicionales y slo usando estos conectivos. Paso de induccin. Hiptesis de induccin: Supongamos que cualquie forma proposicional con n conectivos lgicos del tipo o satisface el teorema. Sea C una forma proposicional con n+1conectivos del tipo o . Si C = A B, tendremos que
comp(C) = C.
1.6
Aplicaciones
54
CAPTULO 1. LGICA
inputs, para cada uno de los cuales obtiene un output tras un nmero nito de pasos. Por un programa entenderemos una expresin o una secuencia nita de expresiones en algn lenguaje de programacin. El concepto de programa est relacionado con el concepto de algoritmo, pero no es exactamente igual, pues un programa es la realizacin concreta de un algoritmo, pero un algoritmo puede ser programado (o implementado) en diferentes lenguajes de programacin. En el siguiente captulo estudiaremos el concepto de eciencia relacionado con los algoritmos (tiempo de ejecucin y necesidades de memoria). En esta seccin nos ocuparemos de la siguiente pregunta: Cundo podemos asegurar que un algoritmo (o el programa que lo implementa) es correcto (i.e., que hace aquello para lo que fue diseado)? Probar que un algoritmo es correcto requiere mtodos de demostracin similares a los estudiados en el desarrollo del captulo. En cualquier caso, vericar que un algoritmo es correcto puede ser una tarea muy difcil. Slo algoritmos relativamente simples pueden ser vericados utilizando las tcnicas que vamos a describir a continuacin. En cualquier caso, la comprensin de estas tcnicas es seguro que servir de ayuda para disear algoritmos de una manera mejor.
Por otra parte es imposible disear un mtodo que nos permita vericar la correccin de cualquier programa. Esto es una consecuencia del teorema de incompletitud de Gdel sobre los lmites del razonamiento formal. No obstante, este resultado nos permite garantizar que no es posible desarrollar una maquinaria general de vericacin de la correccin de programas, pero el tipo de programas que aparecen en la prctica no son, en cualquier caso, totalmente generales, as que podemos desarrollar mtodos de vericacin en algunos casos importantes. Ms an, al hacerlo estaremos mejorando nuestra metodologa de programacin. El ideal sera disear programas junto con las demostraciones de su correccin. La vericacin de programas est muy relacionada con lo que se denomina Demostracin automtica de teoremas. De hecho, para ser riguroso con el concepto de vericacin, necesitaramos una descripcin precisa de aquello que se pretende que el programa haga, y esto debe expresarse en un lenguaje diseado para este propsito. A este tipo de lenguajes se les denomina lenguajes de especicacin. En cualquier caso el objetivo de este apartado es remarcar el papel que juega la induccin en las iteraciones y recursiones que se emplean en muchos lenguajes de programacin, para lo que incluimos algunos ejemplos para ilustrar las ideas.
1.6. APLICACIONES
55
para calcular el producto de dos nmeros naturales a y b utilizando slo la suma, la multiplicacin por 2 y la divisin por 2:
m 11 5 2 1 0
r 0 26 78 78 286
es decir, el output es 286=1126. Este programa particular tiene una estructura muy simple: despus de asignar el valor 0 a la variable r, ejecuta la iteracin while hasta que la variable m toma el valor 0. Probaremos por induccin sobre k que, despus de k ejecuciones de la iteracin while, los valores que alcanzan m, n y r satisfacen la igualdad: m n + r = ab iteracin while sea ejecutada por primera vez, los valores de m, n y r son, respectivamente, a, b y 0, con lo que el resultado es inmediato. Paso de induccin: Supongamos el resultado para k , estrictamente menor que el nmero de veces que se repite el bucle. Sean a1 , b1 y c1 los valores de m, n y r antes de la iteracin k + 1, y a2 , b2 y c2 los valores de m, n y r despus de dicha iteracin. Por hiptesis de induccin
a1 b1 + c1 = ab
CAPTULO 1. LGICA
a2 b2 + c2 = ab.
Distingamos dos casos: a) si a1 es par, entonces a2 =
a1 , 2
a2 b2 + c2 =
b) si a1 es impar, entonces a2 =
a1 2b1 + c1 = ab. 2
(a1 1) , 2
a2 b2 + c2 =
(a1 1) 2b1 + c1 + b1 = a1 b1 b1 + c1 + b1 = ab 2
con lo que la demostracin por induccin est completa. Una vez realizada esta demostracin podemos asegurar que el programa (en este caso el fragmento de programa) es correcto parcialmente ya que si el programa termina, entonces da la respuesta correcta. El otro ingrediente de la demostracin de correccin es la terminacin. Para que el programa sea correcto, tenemos que demostrar que el programa siempre termina. Examinando la clausula while, vemos que el programa termina slo cuando m toma el valor 0, y por otro lado en cada iteracin de la clausula while el valor de m decrece. Esto signica que, como mximo en la repeticin msima, tomar el valor 0, por lo que podemos asegurar que el programa es correcto.
1.6. APLICACIONES
57
volmenes de informacin que desbordan su capacidad. En cualquier caso el objetivo nal es el mismo de todas las aplicaciones informticas: relevar al hombre de tareas mecnicas y proporcionarle instrumentos amplicadores de sus capacidades mentales. Los sistemas expertos se construyen siguiendo una concepcin modular. Por una parte se construye una base de conocimientos o base de hechos y por otra se desarrollan los procedimientos que permiten manipular esa base para obtener una respuesta con datos concretos (motor de inferencia). Los problemas que surgen en relacin con estos dos apartados han dado lugar a un rea de trabajo que se conoce como ingeniera del conocimiento. En este apartado veremos cmo se utilizan las expresiones lgicas para representar el conocimiento y, en particular y para no complicar mucho la exposicin, las sentencias de la lgica proposicional. Un sistema de produccin es un modelo de computacin que distingue tres componentes: una base de hechos, una base de conocimientos y un motor de inferencias. La base de comocimientos no es necesariamente una base de datos en el sentido informtico habitual: segn el sistema puede ser desde una tabla de nmeros hasta una base de datos en sentido propio. Las reglas de produccin se aplican sobre la base de hechos, cambiando su estado y el sistema de control gobierna estos procedimientos y aplicaciones y hace que la computacin se detenga cuando el estado de la base de datos satisface alguna condicin de terminacin predenida. La base de hechos contendr los hechos iniciales y los que se vayan obteniendo como consecuencias en el proceso inferencial. Las reglas de produccin son pares ordenados (A,B). Segn el tipo de sistema se denominan antecedente y consecuente, condicin y accin o premisa y conclusin. Su formalizacin lgica es la de las sentencias condicionales AB. Por ejemplo, en la base de conocimientos del sistema XCON hay unas 2500 reglas. Una de ellas es:
Si el contexto actual es el de asignar una fuente de alimentacin, y se ha colocado un mdulo SBI en un armario, y se conoce la posicin que ocupa el mdulo, y se dispone de una fuente de alimentacin, entonces colocar la fuente en dicha posicin.
58
CAPTULO 1. LGICA
Es claro que, independientemente del signicado de esas expresiones en el contexto de dicho sistema, la regla se puede formalizar mediante la sentencia:
(p1 p2 p3 p4 ) q.
En el contexto de un sistema experto en medicina, podramos considerar las reglas: R1: Si el paciente tiene ebre,
R1 : [f t m] g R2 : [(g r) (u)] (a c)
Utilizando las equivalencias lgicas vistas, la regla R2 es lgicamente equivalente a
: : : :
Ante una situacin concreta en la que se hace una consulta al sistema, se tiene la evidencia de que un subconjunto de esos hechos son verdaderos y se trata de encontrar qu otros hechos pueden inferirse de esa certidumbre y de las reglas.
1.6. APLICACIONES
59
Si por ejemplo hicisemos una consulta al sistema sobre un paciente que satisface los hechos f, t, m y u, el sistema tratara de aplicar las reglas para ver qu terapia habra que aplicar. As pues, sabiendo que tenemos los hechos f, t, m y u, podemos hacer las siguientes inferencias, usando la regla de inferencia modus ponens:
f tm R1 : [f t m] g g (en este momento hemos ampliado la base de hechos con el nuevo hecho g) g (u) R2a : (g (u)) a a (en este momento hemos ampliado la base de hechos con el nuevo hecho a) g (u) R2b : (g (u)) c , c
es decir, la terapia es aspirina y coac. El problema que surge es que en general no tendremos dos, sino muchas reglas (en los sistemas expertos es frecuente que sean del orden de cientos o de miles), y en general hay que establecer en qu orden y de qu manera aplicamos las reglas (es decir, cul o cules se aplican primero) para establecer el procedimiento de inferencia. Para esto, hay dos estrategias bsicas: 1. Ir aplicando cuantas reglas de produccin y cuantas reglas de inferencia se puedan para ir sucesivamente ampliando la base de hechos, que es lo que hemos hecho en el ejemplo y que se conoce como encadenamiento hacia adelante. 2. Fijarse un hecho como objetivo y tratar de deducirlo, viendo de qu reglas de produccin es consecuente. Este es el principio de encadenamiento hacia atrs. En otras palabras, el encadenamiento hacia adelante consistira en ir recorriendo las reglas desde la primera hasta llegar a una que pueda aplicarse (de acuerdo con la ley de inferencia modus ponens), ampliar la base de hechos con la nueva consecuencia, empezar de nuevo con la primera regla, y
60
CAPTULO 1. LGICA
as sucesivamente hasta incluir el objetivo en la base de hechos, o hasta que ya no puedan aplicarse reglas. Cuando no se trata de derivar cuantas conclusiones se puedan, sino de inferir un objetivo, o vericar que un hecho concreto es consecuencia de otros hechos y de las reglas de produccin, lo que procede es aplicar el encadenamiento hacia atrs, para lo cual, si por ejemplo intentamos ver si puede deducirse un hecho x, buscaramos en primer lugar las reglas en las que gura como consecuente, y a partir de ellas iramos realizando el estudio hacia atrs. Un lenguaje grco muy adecuado es el de los rboles de decisin que estudiaremos en su momento.
1.7 Ejercicios
Ejercicio 18. Escribe la tabla de verdad de las siguientes proposiciones: 1) ((p q) m) m 2) (q (p q)) p 3) (p (m n)) m 4) (p (m n)) m Ejercicio 19. Determina si el siguiente razonamiento es verdadero: todo estudiante de esta clase mide menos estrictamente que 1.70 o ms de 1.70. Pedro mide ms de 1.70 luego es de esta clase. Ejercicio 20. Sea X el conjunto de pases e Y el conjunto de deportes olmpicos. La sentencia M (x, y) signica que el pas x X ha ganando una medalla en el deporte y Y . Escribe las siguientes frases utilizando cuanticadores, evitando la aparicin de un signo de negacin delante de un cuanticador: Ningn pas ha ganado todas las medallas. Todos los pases han ganado alguna medalla. Algn pas ha ganado alguna medalla. Algn pas no ha ganado ninguna medalla. Ejercicio 21. Sea Z el conjunto de los nmeros enteros y P (a, b) la sentencia a divide a b (esto es, el resto de dividir b entre a es 0). Determina el valor de verdad de las siguientes proposiciones: P (2, 3) P (5, 10)
1.7. EJERCICIOS
61
P (2, 3) P (5, 10) P (2, 3) P (5, 10) P (2, 3) P (5, 10) m Zn Z P (m, n) m Zn Z P (m, n) n Zm Z P (m, n) n Z P (1, n) m Z P (m, 1)
Ejercicio 22. Escribe formalmente las siguientes frases y su negacin en lenguaje formal y en lenguaje natural: Si vale menos de 1000 pts, comer en la cafetera. Todos los habitantes de Madrid viajan en metro. Ningn habitante de Mstoles coge el autobs. Hay personas en todas las ciudades que usan el transporte pblico. Ejercicio 23. Demuestra por induccin las siguientes armaciones: 12 + 22 + ... + n2 = n(n + 1)(2n + 1)/6. 2n > n + 1 para cada entero mayor o igual que 2. xn y n es divisible por x y para todo natural n. Ejercicio 24. Poner un ejemplo distinto al de las notas de una sentencia tal que siendo la armacin xyP (x, y) cierta no lo sea la armacin xyP (x, y). Ejercicio 25. Demuestra por casos la propiedad del valor absoluto por la cual:
|xy| = |x||y|
Ejercicio 26. Demuestra poniendo un contraejemplo que las siguientes armaciones no son verdaderas: Todo entero mayor que 17 es el cuadrado de un nmero entero. Todo entero mayor que 6 es mltiplo de 2 de 3. 100n + 1 > n2 para todo entero n. Ejercicio Demuestra por reduccin al absurdo las siguientes armaciones: 27. 2 no es racional,
62
Ejercicio 28. Escribe en lenguaje formal los siguientes razonamientos demostrando si son correctos: Si salgo a la calle me visto. Salgo a la calle, por tanto voy vestido. La comida incluye el primer plato y el segundo, por tanto incluye el primer plato. Venda es una palabra de gnero femenino, por tanto venda es femenino y singular. Si vale menos de 1000 pts. tengo dinero suciente. Si tengo dinero suciente lo comprar. Vale menos de 1000 por tanto lo compro.
siones B1 y B2.
bequal (B1,B2) - comprobacin de la equivalencia lgica de las expretautology(B) - comprobacin si la expresion B es una tautologa. convert/toinert - para poder evaluar. bsimp(A)- simplica una expresin.
Para obtener ms informacin sobre facilidades lgicas de Maple se puede consultar la ayuda.
>
?logic;
Conectivos lgicos
Maple slo tiene los conectivos lgicos and, or, not. Son sucientes por las equivalencias lgicas de la implicacin y la doble implicacin con sentencias lgicas slo hechas con and, or y not. Para evaluar las funciones hay que poner delante el smbolo & con que se representa la conjuncin y.
63
p and q;
p and q
>
p or q;
p or q
>
not p;
not p
Usemos la funcin bequal para comprobar que la negacin de (p or q) es equivalente a (not p and not q).
> >
Aunque el conectivo implies no est, s hay una funcin implies. La implicacin p implies q es equivalente a not p or q.
>
Podemos hacer un procedimiento para tener el conectivo implicacin (impl) y la doble implicacin (la vamos a llamar dimpl). Recordemos que p dimpl q es equivalente a (p impl q) and (q impl p).
> > > > > > > > >
impl:=proc(a,b) local c: c:=(not a or b): c; end: dimpl:=proc(a,b) local c: c:=(not a or b) and (not b or a): c; end: dimpl(p,q); impl(p,q);
( not p or q) and ( not q or p)
not p or q
64
CAPTULO 1. LGICA
Ejemplos de uso
Veamos algunos ejemplos donde se comprueba que ciertas expresiones son tautologas. La funcin convert/toinert pone los smbolos & para que se pueda evaluar:
Ejercicio 2.
ej2_1:=impl(p and impl(p,q),q): ej2_2:=impl(impl(p,q) and impl(q,r),impl(p,r)): ej2_3:=impl(impl(p,q) and impl(not p,q),q): ej2_4:=impl((p or q) and (not p),q):
>
>
tautology(convert(ej2_2,toinert));
true
>
tautology(convert(ej2_3,toinert));
true
>
tautology(convert(ej2_4,toinert));
true
>
tautology(convert(ej2_5,toinert));
true
implicaciones (en realidad esto slo comprueba que hemos hecho las cosas bien pues as hemos denido la doble implicacin al construir dimpl):
>
65
A1:=dimpl(p,q);
A1 := ( not p or q) and ( not q or p)
>
bequal(convert(A,toinert),convert(A1,toinert));
true
A:=impl(p,q);
A := not p or q
>
>
bequal(convert(A,toinert),convert(B,toinert));
true
3. Otra forma de ver la implicacin: p implica q es equivalente a que p and not q implica not p:
> >
B := not (( not p or q) and p and not q and p) and (p and not q and p or not p or q)
> >
4. Reduccin al absurdo:
>
C:=dimpl(p,impl(not p,p));
66
CAPTULO 1. LGICA
C := true
>
tautology(convert(C,toinert));
true
5. Reduccin al absurdo:
>
Ejercicio 4.
>
Doble negacin:
dimpl(not(not q),q);
true
And es asociativo:
> > > >
Or es asociativo:
> > > >
And es conmutativo:
> >
Distributivas:
> > >
67
>
tautology(convert(dist2,toinert));
true
Leyes de de Morgan:
>
>
Las restantes son obvias. Ejercicio 1. Para hacer tablas de verdad hay que construir un pequeo procedimiento en Maple. Se construyen para una, dos y tres variables y los nombres de las variables los da el nombre del procedimiento.
> > > > > > > > > > > > > > > > >
tablap:=proc(B) l ocal A, L, c, i, j: L:=[true,false]: for i from 1 to 2 do c:=bsimp(subs(p=L[i],q=L[i],B)); print(p=L[i],q=L[i],A=c); od: end: tablapq:=proc(B) local A, L, c, i, j: L:=[true,false]: for i from 1 to 2 do for j from 1 to 2 do c:=bsimp(subs(p=L[i],q=L[j],B)); print(p=L[i],q=L[j],A=c); od: od: end:
68
> >
CAPTULO 1. LGICA
tablapqr:=proc(B) local A, L, c, i, j, k: L:=[true,false]: for i from 1 to 2 do > for j from 1 to 2 do > for k from 1 to 2 do > c:=bsimp(subs(p=L[i],q=L[j],r=L[k],B)); > print(p=L[i],q=L[j],r=L[k],A=c); > od: > od: > od: end: Estos procedimientos se pueden usar siempre que haya una, dos o tres variables y stas se llamen p, q y r. Si no se llaman as las cambiamos el nombre. Si queremos aadir ms variables no hay ms que introducir otro bucle. Las cinco proposiciones que se presentan son: > ej1:=not(p or q): > ej2:=p and (not p): > ej3:=not(p and (not p)): > ej4:=impl(p,q and not r): > ej5:=dimpl(not(p and q),(not p) or (not > q)): Sus tablas de verdad son: > tablapq(ej1);
p = true, q = true, A = false p = true, q = false, A = false p = false, q = true, A = false p = false, q = false, A = true
>
tablapq(ej2);
p = true, q = true, A = false p = true, q = false, A = false p = false, q = true, A = false
69
tablap(ej3);
p = true, q = true, A = true p = false, q = false, A = true
>
tablapqr(ej4);
p = true, q = true, r = true, A = false p = true, q = true, r = false, A = true p = true, q = false, r = true, A = false p = true, q = false, r = false, A = false p = false, q = true, r = true, A = true p = false, q = true, r = false, A = true p = false, q = false, r = true, A = true p = false, q = false, r = false, A = true
>
tablapq(ej5);
p = true, q = true, A = true p = true, q = false, A = true p = false, q = true, A = true p = false, q = false, A = true
En el apartado 1 las variables proposicionales se llaman p, q y m. Como en nuestro procedimiento se llaman p,q y r, cambiamos el nombre de m por
Ejercicio 18.
70 r.
>
CAPTULO 1. LGICA
>
ej18_1:=subs(m=r,ej18_1);
ej18 _1 := not ((p or not q) and r) or r
>
tablapqr(ej18_1);
p = true, q = true, r = true, A = true p = true, q = true, r = false, A = true p = true, q = false, r = true, A = true p = true, q = false, r = false, A = true p = false, q = true, r = true, A = true p = false, q = true, r = false, A = true p = false, q = false, r = true, A = true p = false, q = false, r = false, A = true
>
tablapq(ej18_2);
p = true, q = true, A = true p = true, q = false, A = true p = false, q = true, A = true
71
>
tablapqr(ej18_4);
p = true, q = true, r = true, A = true p = true, q = true, r = false, A = true p = true, q = false, r = true, A = true p = true, q = false, r = false, A = true
72
CAPTULO 1. LGICA
p = false, q = true, r = true, A = true p = false, q = true, r = false, A = true p = false, q = false, r = true, A = false p = false, q = false, r = false, A = false
Ejercicio 5. Sean
A1 := p (q r) A3 := p
A2 := q r
A4 := q r.
A1 A2 A3 A4 .
Si tomamos p = V , q = F y r = V se observa que la proposicin P toma el valor F con lo que no es una tautologa. Ejercicio 6. 1) Sea p := H es un subgrupo, q := (H = ), r :=el elemento neutro pertenenece a H, s := H es cerrado. La primera hiptesis es:
A1 := (q r s) p.
La segunda hiptesis es:
A2 := (q s) r.
La conclusin es:
B := s p
Se trata de demostrar si la siguiente proposicin es una tautologa:
(A1 A2 ) B.
Y haciendo su tabla de verdad se comprueba que no lo es.
73
2) Sea p:=p es perfecto, q :=p es par e i:=n impar se comprueba que la proposicin siguiente es en efecto una tautologa:
((p q i) q i) p.
3) Si h es hay huelga, s es el sindicato miente y r es el ministro tiene razn entonces el razonamiento que se presenta no es correcto porque la siguiente proposicin no es una tautologa:
(h s r) (h (h r)) s.
Ejercicio 7. Sean p := Jos gan la carrera, q :=Pedro fue el segundo, r :=Ramn fue el segundo y s :=Carlos fue el segundo. El razonamiento que se presenta es correcto porque la siguiente proposicin es una tautologa:
((p q r) (q p) (s r) p) s.
En efecto, como la ltima hiptesis es p podemos suponer que p es verdadero. Como p es verdadero la primera hiptesis dice que o bien q es verdadero o lo es r. La segunda hiptesis indica que si q es verdadero entonces p es falso, por tanto no se puede dar q verdadero. Entonces r es verdadero. La sentencia contrarrecproca de la tercera hiptesis indica que si r es verdadero entonces s es verdadero, como queramos demostrar. Ejercicio 8. Si a > b entonces existe un nmero natural d tal que a = b+d. De igual manera si b > c entonces existe un nmero natural d tal que b = c + d . De este modo usando ambas igualdades se puede escribir
a = b + d = (c + d ) + d = c + (d + d )
con lo que efectivamente se verica a > c. Ejercicio 9. La tautologa que justica el mtodo de demostracin por casos es: ((p a1 ... an ) (a1 q) ... (an q)) (p q).
CAPTULO 1. LGICA
Ejercicio 11. Como la hiptesis P (x) P (x) es siempre falsa la implicacin es siempre verdadera. Ejercicio 12. Se deducen directamente de la tautologa:
(x U (E(x) P (x)))
75
x U (E(x) P (x)).
Su negacin es:
x U (E(x) P (x))
esto es, todos los espaoles son periodistas. 2) Sea U el conjunto de los caminantes y el predicado B(x) x bosteza. Entonces: (x U B(x)) (x U B(x)). Su negacin es:
(x U B(x)) (x U B(x)).
Esto es, existen personas que bostezan y personas que no bostezan. 3) En el universo U de las personas se toman los predicados M (x) x es modisto y P (x, y) x conoce a y:
x U y U (P (x, y) M (y)).
Su negacin es:
x U y U (P (x, y) M (y)).
Esto es, existen personas que no conocen a ningn modisto. 4)
p P q P p < q.
Su negacin es:
p P q P p q.
Esto es, existe un nmero primo mayor que el resto de los nmeros primos.
CAPTULO 1. LGICA
Ejercicio 16. Demostraciones por induccin: i) 1 + ... + n = n(n + 1)/2. Base de induccin: en efecto se cumple que 1 = (1 2)/2. Paso de induccin: usando la hiptesis de induccin se tiene:
ii)
n (2k 1) = n2 . k=1
Base de induccin: en efecto se cumple que 1 = 1. Paso de induccin: usando la hiptesis de induccin se tiene:
n2 + 2n + 1 = (n + 1)2 .
iii) 2n (n + 1)!. Base de induccin: en efecto se cumple que 2 2! = 2. Paso de induccin: usando la hiptesis de induccin se tiene:
2n+1 = 2n 2 (n + 1)!2.
77
2n+1 (n + 2)!
como queramos demostrar. Ejercicio 17. Base de induccin: ((p a1 ) (a1 q)) (p q) es una tautologa como vimos en los apuntes. Paso de induccin: Es una consecuencia inmediata de la equivalencia lgica:
Ejercicio 19. Sea x U donde U es el conjunto de estudiantes. Sea R(x) : el estudiante x es de esta clase. Sea P (x) : El estudiante x mide estrictamente menos que 1.70. El razonamiento se puede simbolizar en la forma
(H1 H2 ) T
donde
78
CAPTULO 1. LGICA
Ejercicio 21. P (2, 3) : F , P (5, 10) : V , P (2, 3) P (5, 10) : F , P (2, 3) P (5, 10) : V , P (2, 3) P (5, 10) : V , m Z m Z P (m, n) : F , m Z n Z P (m, n) : V ,n Z m Z P (m, n) : F , n Z P (1, n) : V, m Z P (m, 1) : F . Ejercicio 22. Si vale menos de 1000 ptas, comer en la cafetera. Sea U el conjunto de posibles precios de la comida. Sea P (x) : x < 1000. Sea q : comer en la cafetera. Nuestra frase es, en lenguaje formal, P (x) q . Su negacin es (P (x) q), que es lgicamente equivalente a (P (x) q). Por la ley de de Morgan, esto es equivalente a P (x)q. En lenguaje natural: vale menos de 1000 ptas y no como en la cafetera.
Todos los habitantes de Madrid viajan en metro. Sea U el conjunto de habitantes de Madrid. Sea P (x) : x viaja en metro. La frase es en lenguaje formal x U ; P (x). Su negacin es x U P (x) que es lgicamente equivalente a x U P (x). En lenguaje natural: existe algn habitante de Madrid que no viaja en metro. Ningn habitante de Mstoles coge el autobs. Sea U el conjunto de habitantes de Mstoles. Sea P (x) : x coge el autobs. La frase es en lenguaje formal (x U P (x)). Su negacin es x U P (x). En lenguaje natural: existe algn habitante de Mstoles que coge el autobs. Hay personas en todas las ciudades que usan el transporte pblico. Sea U el conjunto de personas y V el conjunto de ciudades. Sea P (x, y) : La persona x usa el transporte pblico en la ciudad y . Entonces, en lenguaje formal, nuestra frase es y V x U P (x, y). Su negacin es y V x U P (x, y), que es lgicamente equivalente a y V x U P (x, y) equivalente a su vez a y V x U P (x, y). En lenguaje natural: hay ciudades en las que ninguno de sus habitantes usa el transporte pblico.
Ejercicio 23. a)
n
P (n) :
k=1
k2 =
n(n + 1)(2n + 1) 6
1.8. EJERCICIOS RESUELTOS Veriquemos la base de induccin P (1). Por una parte,
1
79
k2 = 1
k=1
y por otra
1(1 + 1)(2 1 + 1) =1 6 En consecuencia, P (1) es V . Veriquemos que bajo la hiptesis de induccin (P (n) es V ) es P (n) P (n + 1) tambin V ; es decir, que P (n + 1) es V. Para ello calculamos
n+1 n
k =
k=1 k=1
> (n + 1) 2 = n + 2 + n > n + 2 = (n + 1) + 1
Luego n N, P (n) es V . c)
80
CAPTULO 1. LGICA
La base de induccin es V , ya que x y es divisible por x y (obvio). La hiptesis de induccin es que xn y n es divisible por xy . Veamos si P (n+1) es V :
100n + 1 > n2 . Basta tomar n sucientemente grande. Por ejemplo, n = 1000. Ejercicio 27. Si 2 es racional entonces existen p, q N primos entre s de modo que 2 = p/q.
Elevando al cuadrado se obtiene 2q 2 = p2 con lo que p2 es par y por tanto (demostrado en los apuntes) p es par. Si p es par entonces existe r N de modo que p = 2r con lo que p2 = 4r2 . De este modo 2q 2 = p2 = 4r2 de donde se deduce que q 2 es par y por tanto q es par. Entonces p y q son ambos pares en contradiccin con el hecho de que los hemos tomado primos entre s. Si + x es racional entonces existe y Q de modo que + x = y . Despejando obtenemos = y x, con lo que es la diferencia de dos
81
nmeros racionales por tanto racional. Como no es racional tenemos la contradiccin. Ejercicio 28. a) Sea p :=salgo a la calle y q :=me visto. Entonces, el razonamiento es [(p q) p] q. El razonamiento es vlido (modus ponens). b) Sea p :=la comida incluye el primer plato y q :=la comida incluye el segundo plato. El razonamiento sera [p q] p. Esto es una tautologa, ya que la implicacin solo puede ser falsa si p q es V y p es F . Pero esto es imposible, porque para que p q sea V es necesario que p sea V . El razonamiento es correcto. c) Sea p :=Venda es una palabra de gnero femenino. Sea q :=Venda es una palabra singular. El razonamiento sera p [p q]. Esto no es una tautologa, ya que si p es V y q es F se tiene V F que es F . El razonamiento no es correcto. d) Sea v :=vale menos de 100, s :=tengo dinero suciente, c :=lo compro. El razonamiento es correcto puesto que la siguiente sentencia es una tautologa:
((v s) (s c) v) c.