You are on page 1of 31

MATEMATICA DISCRETA Y LGICA

Grado en Ingeniera Informtica


TEMA 1:
-LOGICA MATEMTICAApuntes de Fernando Barber Miralles

1. INTRODUCCION
1.1-INTRODUCCION A LA LOGICA
Lgica es la ciencia del razonamiento correcto, no la ciencia acerca de la verdad de este mundo. La
Lgica es un mtodo que permite la derivacin de nuevas expresiones simblicas, dados un
conjunto de expresiones iniciales (llamados axiomas) y un conjunto de reglas de inferencia (una
convencin que permite deducir nuevas expresiones a partir de otras anteriores).
La utilizacin de la lgica en Informtica es constante, de hecho se ha llegado a decir que la
Informtica puede definirse como lgica aplicada. En cualquier caso la encontraremos en muchas
materias:
-Para construir expresiones lgicas en programacin.
-Escribir pre y post condiciones para describir el comportamiento de los programas.
-En la fundamentacin de diseo de computadores.
-Construcciones de lenguajes de programacin basados en ello.
-Etc.
Existen distintos sistemas lgicos, el ms bsico de ellos, la lgica proposicional, naci entre 1847 y
1854 fruto de los trabajos de Georges Boole (1815-1864) publicados bajo el ttulo de Las leyes del
pensamiento. La observacin bsica de Boole fue la de detectar la similitud entre los operaciones
lgicas Y(and) y O (or) y las operaciones aritmticas producto y suma- Ello le permiti
desarrollar un sistema de manipulacin de expresiones lgicas, que era tan preciso operando sobre
estas expresiones, como lo es la aritmtica para manipular nmeros.
1.2. Historia de la Lgica
La lgica naci hace 2500 aos, creada por Aristteles y los Estoicos, y permaneci casi sin
cambios durante ms de 2000 aos. A este respecto, en el siglo XVIII, Kant estuvo estudiando la
lgica y llego a la conclusin de que Aristteles empez y termino la lgica, y no haba ms que se
pudiera mejorar.
A mediados del siglo XIX, Boole y posteriormente Frege, matematizan la lgica, permitiendo un
gran desarrollo de sta (gracias al desarrollo de las matemticas) y la creacin de nuevos tipos de
lgica.
A la lgica de Aristteles se le denomina normalmente lgica clsica, y a la lgica actual, lgica
matemtica o lgica simblica.
Ejemplo:
Log. Clsica

Log. Matemtica

Si A entonces B; pero no B.

A B, ~B ~A

Por tanto no A
La lgica matemtica distingue adems entre el lenguaje lgico y el metalenguaje y las reglas de
inferencia.
La lgica que se utiliza actualmente es la lgica matemtica, y es la que utilizaremos nosotros.

1.3. Lenguajes Formales


Para escribir frases en lgica se utiliza un lenguaje formal en vez del lenguaje natural.
Un lenguaje formal consta de 3 categoras de elementos:
1. Una tabla de smbolo formales (Vocabulario)
2. Un conjunto de reglas de formacin de frmulas (Sintaxis)
3. Un conjunto de reglas de transformacin de frmulas (Reglas de Inferencia), que permiten
pasar de unas expresiones a otras (deducir nuevas expresiones).
4. (Opcional) Axiomas. Frmulas que se consideran siempre ciertas.
Adems del lenguaje formal, la lgica viene caracterizada por su semntica, es decir, las
condiciones bajo las cuales las frmulas son ciertas o falsas.
Segn el vocabulario, sintaxis y reglas que definamos tendremos diferentes tipos de lgica. En
concreto nosotros estudiaremos dos tipos distintos: Lgica Proposicional y Lgica de Predicados.

2. LGICA PROPOSICIONAL
Def. (Proposicin): Frase que es, o bien verdadera (V), o bien falsa (F).
Ejemplo de proposiciones:
Est lloviendo
Hace fro
Est lloviendo y hace frio
No son proposiciones:
El valor de X est entre 1 y 10. -> Lgica de predicados
Esta frase es falsa. -> Paradoja
Definicin informal de lgica proposicional:
La Lgica proposicional estudia argumentaciones lgicas en donde se utilizan nicamente
proposiciones.
Para definir formalmente la lgica proposicional debemos definirla como lenguaje formal,
definiendo cada una de las categoras: Sintaxis, reglas de inferencia y semntica.
2.1-SINTAXIS DE LA LGICA PROPOSICIONAL
Vocabulario:
Constantes: V, F.
(Verdadero y Falso)
Variables: p, q, r, ...
Operadores: ~, , , ,

Tabla I. Los operadores lgicos


Prioridad

Smbolo

Equivalente
castellano
no
y
o
implica
si y solo si

en Significado
Negacin
Conjuncin
Disyuncin
Implicacin
Equivalencia o
Coimplicacin

Reglas Sintcticas:
Regla 1: Verdadero (V) y falso (F) son proposiciones.
Regla 2: Cualquier variable cuyo tipo sea {verdadero, falso} (conocido como
tipo booleano) es una proposicin.
Regla 3: Si p es una proposicin, tambin lo es ( p).
Regla 4: Si p y q son proposiciones, tambin lo son (pq), (pq), (pq), (pq).
Obsrvese que la definicin anterior es recursiva. Es decir, las reglas 3 y 4 definen una
proposicin en trminos de una o ms proposiciones ya existentes, las cuales pueden haber sido
construidas utilizando las reglas 3 y 4, y as sucesivamente. Sin embargo, debido a que existen
proposiciones elementales formadas utilizando las reglas 1 y 2, que no utilizan la palabra
proposicin en la definicin, el proceso para determinar si algo es una proposicin, utilizando estas
reglas, afortunadamente no es infinito; es decir, la definicin no es circular.
Ejemplo 1. Si p, q y r son variables booleanas, entonces las siguientes expresiones son
proposiciones vlidas:
1- p
2- q
3- ( p)
4- (p q)
5- (p (q r))
6- (p (q (r (pq))))
De las Reglas 2 y 3 puede deducirse, de forma inmediata, que las cuatro primeras son
expresiones. Para la quinta expresin puede aplicarse reiteradamente la cuarta regla,
siguiendo los siguientes pasos:
p,q y r son proposiciones por la segunda regla.
(qr) es una proposicin segn la regla 4.
(p(qr)) es una proposicin segn la regla 4.
Una lnea de razonamiento similar sirve para demostrar que el sexto ejemplo es una
proposicin:
p,q y r son proposiciones por la segunda regla.
(qr) es una proposicin segn la regla 4.
4

(r(pq))) es una proposicin segn la regla 4.


(q(r (pq))) es una proposicin segn la regla 4.
(p(q(r(pq)))) es una proposicin segn la regla 4.
Ejemplo 2. Las expresiones siguientes no son proposiciones:
(p)
(p q) p)
(p)
Observando el Ejemplo 2, si somos estrictos en la aplicacin de las reglas, los parntesis
juegan un papel crucial en la determinacin de si una expresin es una proposicin. Sin embargo,
podemos prescindir de ellos siempre que el significado de la expresin est claro. Por ejemplo,
podemos escribir p en lugar de (p), pq en lugar de (pq), y as sucesivamente.
2.2-SEMANTICA DE LA LGICA PROPOSICIONAL
La semntica de la lgica proposicional asigna a cada proposicin un valor lgico
verdadero o falso.
Definicin (Estado de una proposicin): Sean p1, ..., pn las variables de una proposicin. El
estado de la proposicin es el resultado de asignar los valores booleanos verdadero o falso a cada
una de las variables p1, ..., pn.
Por ejemplo, supongamos que tenemos la proposicin p q. Puesto que la proposicin consta slo
de dos variables, cada una de las cuales puede tomar slo dos valores posibles (verdadero o falso),
existen slo cuatro posibles estados para las variables de la proposicin p q. De forma alternativa,
podemos considerar la proposicin p q como una funcin en dos variables p y q, con dominio
{verdadero, falso} x {verdadero, falso} y con rango {verdadero, falso}. As, al contrario que las
funciones con dominios infinitos (tales como N o R), la funcin p q tiene un dominio tan reducido
que pueden tabularse sus valores para todos los estados posibles de sus variables. estas tablas
reciben el nombre de tablas de verdad.
Def. (Tabla de Verdad): La tabla de verdad de una proposicin es la descripcin de todos los
posibles estados de la proposicin.
p
verdadero
verdadero
falso
falso

q
verdadero
falso
verdadero
falso

p q
verdadero
verdadero
verdadero
falso

Figura 1. Tabla de verdad para la funcin p q.


En la tabla, se puede apreciar que el valor de la funcin es verdadero siempre que cualquiera de las
variables, o ambas, valga verdadero; en caso contrario valdr falso.
5

Utilizando las tablas de verdad podremos definir el significado (semntica) de cada uno de los
operadores. Con ello tendremos definida la semntica de la lgica proposicional.
Negacin:

Conjuncin:
p

p
verdadero
falso

falso
verdadero

p
verdadero
verdadero
falso
falso

a)
p
verdadero
verdadero
falso
falso

q
pq
verdadero verdadero
falso
falso
verdadero verdadero
falso
verdadero
c)

q
verdadero
falso
verdadero
falso
b)

p
verdadero
verdadero
falso
falso

pq
verdadero
falso
falso
falso

q
pq
verdadero verdadero
falso
falso
verdadero falso
falso
verdadero
d)

Figura 2. Tablas de verdad para proposiciones: (a) Negacin; (b) conjuncin;


(c)implicacin, (d) equivalencia.
Implicacin:
El operador implicacin precisa una discusin ms cuidadosa, sobre todo en el caso en que p
vale falso. Lo anterior, no es difcil de entender si consideramos el ejemplo siguiente:
Si llueve, entonces en mi pueblo hace frio..
p = "llueve", q = "en mi pueblo hace frio"
La frase anterior se representa por p q y establece una ley sobre el clima de mi pueblo. Si llueve y
hace fro, la afirmacin sigue siendo vlida. Sin embargo, si no llueve la ley sigue siendo vlida. El
hecho de que no llueva y haga calor no contradice la afirmacin. Tampoco la contradice el que no
llueva y haga fro. Por tanto, en la nica situacin en la que se contradice la afirmacin p q, y en
la que debemos considerarla como falsa, es cuando p es cierta y q es falsa (si llueve y no hace fro).
Conociendo las tablas de verdad de todos los operadores, podemos construir la tabla de verdad para
cualquier proposicin.
Cuando una proposicin involucra a ms de un operador, la evaluacin de su valor se realiza
siguiendo el orden de prioridad de los operadores. Esto se ilustra en el Ejemplo 3.

Ejemplo 3. Para construir la tabla de verdad de (p q) p comenzamos por p y q, a


continuacin, se deriva la tabla para cada subproposicin (p q) y p, combinando
finalmente los resultados utilizando la tabla de verdad de la operacin . Habitualmente se
trabaja siempre de izquierda a derecha, tal y como se muestra abajo:
p
verdadero
verdadero
falso
falso

q
verdadero
falso
verdadero
falso

(p q)
verdadero
verdadero
verdadero
falso

p
falso
falso
verdadero
verdadero

(p q) p
falso
falso
verdadero
verdadero

Una forma alternativa de construir tablas de verdad es la de escribir la operacin una nica vez y
colocar el resultado de la evaluacin de cada subproposicin debajo del operador correspondiente.
Si lo hacemos as, debemos tener cuidado de rellenar las columnas en el orden adecuado. como se
muestra en la tabla de verdad siguiente:
p
verdadero
verdadero
falso
falso

q
verdadero
falso
verdadero
falso

(p q)
verdadero
verdadero
verdadero
falso

falso
falso
verdadero
verdadero

p
falso
falso
verdadero
verdadero

En este caso, comenzamos rellenando las columnas de p y q; a continuacin, rellenamos la


columna de (p q); a continuacin, la de p, y finalmente la columna correspondiente a . La
tabla de verdad de la proposicin completa se corresponde con los valores de la ltima columna de
ms a la derecha.
El nmero de filas de una tabla de verdad crece exponencialmente con el nmero de
variables presentes en la proposicin. Es decir, si una proposicin tiene una variable como, por
ejemplo, p, su tabla de verdad tiene dos filas. Proposiciones con dos variables como p q tienen
tablas de verdad de cuatro filas. Proposiciones de tres variables tendrn ocho filas, puesto que
3
existen 2 = 8 formas diferentes de asignar los valores verdadero y falso a las tres variables. En
n
general, el tamao de una tabla de verdad con n variables ser de 2 filas. Por este motivo, si
trabajamos con ms de cuatro o cinco variables, el tamao de las tablas de verdad resulta
inmanejable.
2.2.1. Tautologas y Contradicciones
Algunas proposiciones se distinguen por el hecho de que son siempre verdaderas. Es decir,
cualquiera que sea la asignacin de valores a sus variables, siempre se obtendr el valor verdadero
en la ltima columna de la evaluacin de la proposicin. Formalmente, estas proposiciones reciben
el nombre de tautologas.
Definicin: Una tautologa es una proposicin que se evala a verdadero en cualquier
estado.
Definicin: Una contradiccin es una proposicin que se evala a falso en cualquier
estado.

Podemos comprobar si una proposicin es una tautologa sin ms que escribir su tabla de verdad.
Tambin existen otros mtodos para comprobar si una proposicin compleja es o no una tautologa.
Estos mtodos implican el desarrollo de demostraciones, y stos juegan un papel trascendental en la
informtica, por lo que les dedicaremos un inters especial en este captulo.
Ejemplo 5. Para verificar que la proposicin (p q) p) q es una tautologa, podemos
desarrollar su tabla de verdad y examinar la columna ms a la derecha para comprobar que
todas las entradas son verdadero.
p
verdadero
verdadero
falso
falso

q
verdadero
falso
verdadero
falso

pq
verdadero
falso
verdadero
verdadero

(p q) p
verdadero
falso
falso
falso

(p q) p) q
verdadero
verdadero
verdadero
verdadero

Ejemplo 6. La proposicin p p es una contradiccin. esto puede verse en la tabla de


verdad siguiente:
p
verdadero
falso

p
falso
verdadero

pp
falso
falso

Esto confirma algo intuitivo: es imposible para una proposicin ser simultneamente verdadera y
falsa. Igualmente, p p es una tautologa.
p
verdadero
falso

p
falso
verdadero

pp
verdadero
verdadero

La aseveracin de que p p es una tautologa recibe el nombre de ley de exclusin del


caso intermedio. Es decir, para cualquier proporcin, ella misma o su negacin deben ser cierta; no
existe una tercera posibilidad. Se han desarrollado otros modelos lgicos que no incluyen la ley de
exclusin del caso intermedio, estos modelos son de gran utilidad en el estudio de las bases de
datos. La ley de exclusin del trmino medio, junto con el hecho de que la proposicin p p es
una contradiccin, nos indica que cualquier proposicin, o es una tautologa o no lo es; no puede ser
ambas cosas al mismo tiempo.
Para indicar que una expresin es una tautologa se utiliza la conclusin semntica:
pp
2.2.2. Equivalencia
Def. (Equivalencia): Se dice que dos proposiciones p y q son equivalentes y lo simbolizamos como
p q, si tienen el mismo valor para cada estado., En otras palabras, p y q son equivalentes si tienen
la misma tabla de verdad.
Por tanto, una forma de comprobar si dos proposiciones son equivalentes es escribiendo su tabla de
verdad.

Considrese la proposicin (p q) (p q), cuya tabla de verdad se muestra abajo:


p
verdadero
verdadero
falso
falso

q
verdadero
falso
verdadero
falso

(pq)(pq)
verdadero
verdadero
falso
falso

Los valores de la ltima columna de la tabla son exactamente los mismos que los de la columna de
la p; por tanto, podemos decir que (p q) (p q) es equivalente a p. Por tanto, si en alguna
situacin nos encontramos con (p q) (p q) podemos sencillamente reemplazarla por p.
La equivalencia nos va a permite simplificar proposiciones complejas.
Existe otro mtodo para saber si dos proposiciones son equivalentes, basado en el siguiente
teorema.
Teorema. Dos proposiciones p y q son equivalentes, si y slo si la proposicin p q es una
tautologa. Es decir, p q sii p q
Demostracin: El teorema no es difcil de probar. Primero, supongamos que p y q son equivalentes.
Entonces en cualquier estado ambas son bien verdaderas bien falsas. Por tanto, en cualquier estado
p q es bien (verdadero verdadero) bien ( falso falso) haciendo de p q una tautologa.
Por el contrario, supongamos ahora que p q es una tautologa, y que S es un estado en que p es
falso. Puesto que p q es una tautologa, q tiene que ser tambin falso. Igualmente, si S es un
estado en que p es verdadero, entonces q tambin debe serlo en ese estado.
Cqd.
Equivalencias importantes
Existen diversas equivalencias que nos sern muy tiles para simplificar proposiciones y que
conviene conocer.
Tabla 2. Equivalencias importantes.
Leyes
ppV
p p F
pFp
pVp
pVV
pFF
ppp
ppp
( p) p
pqqp
pqqp
p (q r) (p q) r
p (q r) (p q) r

Nombre
Ley de exclusin del trmino medio
Ley de contradiccin
Leyes de identidad
Leyes de dominacin
Leyes de idempotencia
Ley de doble negacin
Leyes conmutativas
Leyes asociativas
9

p (q r) (p q) (p r)
p ( q r) (p q) (p r)
(p q) p q
(p q) p q
pqpq
p q (pq) (qp)

Leyes distributivas
Leyes de De Morgan
Definicin de la implicacin
Definicin de la coimplicacin

Obsrvese que muchas de estas expresiones tienen una propiedad anloga para los operadores y
. Adems, muchas de estas propiedades tienen tambin una anloga en la aritmtica. As, las
propiedades conmutativa, asociativa y distributiva permiten la simplificacin de expresiones
aritmticas. De una forma similar la asociatividad, conmutatividad y distributividad introducidas en
la Tabla 2 permiten la simplificacin de proposiciones lgicas.
Estas propiedades se utilizan de diversas maneras. Por ejemplo, la conmutatividad se utiliza para
reordenar las proposiciones y as poder realizar otras simplificaciones. La asociatividad permite la
eliminacin de parntesis. Por ejemplo, puesto que p (q r) (p q) r, de forma equivalente
es posible escribir p q r. Las leyes de la distributividad permiten la factorizacin de las
proposiciones. Esta ley es totalmente equivalente a la ley aritmtica que permite escribir 3 x 5 + 3 x
7 = 3 x (5 + 7). Las leyes de De Morgan son de gran utilidad cuando se trabaja con expresiones que
incluyen negaciones. La ley de la implicacin permite escribir expresiones equivalentes a la
implicacin, pero utilizando slo , y .
Para comprobar que las equivalencias presentadas son correctas, es suficiente construir una tabla de
verdad para cada lado de la equivalencia y verificar que ambas tablas son idnticas. demostraremos
lo anterior para la ley de la implicacin, dejando el resto como ejercicio.
Ejemplo 9. Para demostrar que (p q) (p q), podemos construir sus tablas de verdad
de la forma siguiente:
p

pq

verdadero
verdadero
falso
falso

verdadero
falso
verdadero
falso

verdadero
falso
verdadero
verdadero

p q

(pq)(p
q)
verdadero
verdadero
falso
verdadero
verdadero
verdadero
verdadero
verdadero

Ejemplo 7. Las proposiciones (p q) y ( p q) son equivalentes.


p
verdadero
verdadero
falso
falso

q
verdadero
falso
verdadero
falso

p
falso
falso
verdadero
verdadero

q
falso
verdadero
falso
verdadero

(p q)
falso
verdadero
verdadero
verdadero

(pq)
falso
verdadero
verdadero
verdadero

Simplificacin de proposiciones mediante la utilizacin de las propiedades de la equivalencia.


Centremos nuestra atencin en la simplificacin de proposiciones. Entendemos por simplificacin
el proceso de modificar una proposicin para que resulte ms til para un determinado propsito,
como por ejemplo conseguir que contenga menos variables y/o operadores que la proposicin
original.
Para simplificar una proposicin, escribimos una serie de pasos numerados.
10

Cada paso se compone de una proposicin en la parte izquierda, y de una referencia a una ley
particular en la parte derecha. La proposicin de la izquierda es siempre equivalente a la del paso
inmediatamente anterior, en virtud de la propiedad escrita en la derecha. Por ejemplo, supongamos
que se desea reducir la proposicin (p q) (p r).
En el paso 1 se escribe la proposicin, y los pasos 2 al 4 contienen las proposiciones equivalentes.
1. (p q) (p r).
2. ( pq)(pr)
3. p (q r)
4. p (q r)

Ley de implicacin
Distributividad
Ley de la implicacin

Donde puede observarse que la proposicin del paso 2 resulta de la del paso 1, tras la aplicacin de
la ley de la implicacin. La del paso 3 se obtiene de la del 2 aplicando la distributividad, y la del 4
se obtiene de la del 3 por la ley de la implicacin. El Ejemplo 10 es ms complicado:
Ejemplo 10. Puede utilizarse una tabla de verdad para demostrar que la proposicin ((p
q) p) q es una tautologa. Pueden utilizarse las propiedades de la equivalencia para
demostrar de nuevo que lo es. En este caso demostraremos que la proposicin anterior es
equivalente a la proposicin simple verdadero.
1. ((p q) p) q
2. (( p q) p) q
Ley de implicacin
3. .(( p p) (q p)) q
Distributividad
4. (falso (q p)) q
Contradiccin
5. (q p) q
Identidad
6. (q p) q)
Ley de la implicacin
7. q p q
Ley de De Morgan
8. q q p
Ley Conmutativa
9. V p
Ley de medio excluido
10. verdadero
Ley de Dominacin
El ejemplo 10 se ha desarrollado con excesivo detalle; cada propiedad se ha aplicado en un
paso separado. cuando nos familiaricemos ms con estas propiedades, ser posible abreviar los
clculos. De hecho, es lo mismo que en el caso del lgebra, donde nuestra familiaridad y costumbre
en la manipulacin de expresiones complejas nos permite la simplificacin mediante la aplicacin
de varias reglas a la vez.
El ejemplo 11 muestra una serie de pasos ms corta, en la simplificacin de la proposicin (p
(q r)) (p (q s)). En ella q aparece como parte del consecuente de dos condiciones
diferentes, que estn conectados con el operador . En la simplificacin se extrae q de ambas, de
forma que la proposicin puede escribirse como la conjuncin de q con dos implicaciones.
Ejemplo 11. Simplificar la proposicin (p (q r)) (p (q s))
1. (p (q r)) (p (q s))
2. (p (q r)) (p (q s))
3. (p q) (pr)(pq) (ps)
4. ((p p) q) (p r) (p s)
5. q (p r) (p s)
6. q (p r) (p s)

Ley de la implicacin, negacin


Distributividad, asociatividad
Conmutatividad, distributividad
Ley de la contradiccin
-simplificacin
Ley de la implicacin
11

2.3-RAZONAMIENTO EN LGICA PROPOSICIONAL


En esta seccin vamos a analizar algunos aspectos fundamentales del razonamiento con
proposiciones.
Definicin. Entendemos por razonamiento vlido o demostracin la obtencin de nuevas
proposiciones (llamadas conclusiones) a partir de otras (llamadas premisas) que se suponen
verdaderas.
En otras palabras, el desarrollo de nueva informacin a partir de otra dada. En cierto modo, con las
demostraciones lo que hacemos es establecer implicaciones entre diversas proposiciones.
Ejemplo:
Si tenemos la siguiente demostracin:
A B, ~B ~A
En realidad lo que estamos diciendo es que entre las premisas y la conclusin hay una implicacin:
((A B) ~B) ~A
Las demostraciones nos permitirn establecer cuando dos proposiciones son equivalentes, o tambin
cundo una proposicin arbitraria es una tautologa. Este ltimo caso consiste en una demostracin
sin premisas.
2.3.1. Razonamiento con Tablas de Verdad
El razonamiento mediante tablas de verdad se realiza siguiendo los siguientes pasos:
1. Formar la tabla de verdad de las premisas y la(s) conclusion(es).
2. Eliminar aquellas lneas en las que alguna premisa sea falsa (las premisas son verdaderas).
3. Observar las filas resultantes y la(s) columna(s) correspondiente(s) a la(s) conclusion(es). Si
a) Todas son verdaderas, el razonamiento es valido.
b) Alguna es falsa, el razonamiento es invalido.
c) No queda ninguna fila, las premisas son inconsistentes.
Ejemplo 8. Para demostrar que:
(p q) r
r
q
p

Premisas
Conclusion

o utilizando el smbolo de conclusin semntica:


(p q) r, r, q p

12

construimos la tabla de verdad segn el mtodo anterior:


Variab Premis
les
as
p
Q
V
V
V
V
F
F
F
F

V
V
F
F
V
V
F
F

Conclusin
r

V
F
V
F
V
F
V
F

F*
V
F*
V
F*
V
F*
V

F*
F*
V
V
F*
F*
V
V

(p
q) r
V
V
V
F*
V
V
V
V

p
F
V
F
V
F
V
F
V

Tras eliminar todas las lneas donde alguna premisa es falsa, slo queda la ltima lnea, que
corresponde a una conclusin verdadera, por lo que el razonamiento es vlido.
2.3.2. Razonamiento con reglas de inferencia
Cuando se estudia la lgica, el primer objetivo es el de conseguir patrones de razonamiento.
Sabemos que las tablas de verdad son un buen instrumento cuando trabajamos con proposiciones
sencillas, pero resultan tediosas cuando las proposiciones contienen ms de tres o cuatro variables u
operadores. Por tanto, pretendemos encontrar una metodologa alternativa que nos permita llegar a
conclusiones vlidas de una forma legtima.
Definicin. Llamamos derivacin a un tipo de demostracin consistente en una lista de
expresiones lgicas, cada una de las cuales se obtiene a partir de las anteriores mediante
una regla de inferencia.
El proceso de demostracin es una extensin de la metodologa desarrollada para simplificar
proposiciones. Sin embargo, las demostraciones contienen un ingrediente adicional de gran
importancia: se realiza una inferencia a partir de una suposicin. Las inferencias de una
demostracin se realizan aplicando un reducido conjunto de reglas de inferencia. Es decir, las reglas
de inferencia permiten obtener proposiciones a partir de otra, de las que se conocen si son
verdaderas o se supone que lo son. Estas reglas se resumen en la Tabla 3 que fue desarrollada por el
matemtico alemn Gerhard Gentzen. En ella se reflejan las reglas de inferencia que se utilizan en
el razonamiento normal, y que constituyen las bases de la mayora de los estudios y aplicaciones de
la lgica formal. Cada regla de la tabla tiene la forma:
p
q

Premisas
Conclusin

La proposicin p que aparece encima de la lnea indica un paso anterior (suposicin u otro)
que ya aparece en la demostracin. La proposicin q que aparece debajo de la lnea puede obtenerse
o ser inferida en el siguiente paso de la demostracin. As, la regla denominada -introduccin en
las tablas permite realizar la inferencia p q en cualquier paso de la demostracin, en la que p
aparece como suposicin y q como conclusin en un paso subsiguiente.

13

Tabla 3. Reglas de inferencia


Reglas de Introduccin
II

Reglas de Eliminacin
EI (Modus Ponens)

Implicacin
IC

EC1

EC2

Conjuncin
ID1

ID2

ED

Disyuncin
IN

EN

Negacin
La sencilla prueba del ejemplo 12 muestra que p p es una tautologa.
Podramos demostrar esto utilizando una tabla de verdad, pero representa una buena oportunidad
para introducir la notacin y estilo de las demostraciones.
Ejemplo: Demostrar p p:
1.
2.
3.

[p]
p
p p

1
II 1,2

La primera lnea contiene la suposicin [p]. Al comienzo de la demostracin, podemos suponer


cualquier cosa que creamos que puede llevarnos a la conclusin.
La suposicin, junto con los pasos subsiguientes que se obtienen de ellas, suelen presentarse
sangrados, de forma que la lgica de pasos subsiguientes pueda distinguirse del resto de la prueba.
Puesto que suponemos que p es verdadero, se puede deducir que p es verdadero, luego el paso 2 se
obtiene del 1 directamente. Colocamos un 1 en la columna de la derecha de la demostracin como
justificacin del paso realizado. A continuacin utilizamos la regla de inferencia II (sustituyendo p
por q en la frmula general de la tabla 3.3) con lo que se concluye en el paso 3 que p p es una
tautologa.
Para indicar que a partir de unas premisas se deduce una conclusin mediante una demostracin
formal se utiliza el smbolo .
p p
Se puede demostrar mediante tablas de verdad que las reglas presentadas son semnticamente
correctas.
Ejemplo: Demostrar

p q, q r p r

Ejemplo: Demostrar:

p (q r), q r, r s p s

Ejercicio: Demostrar:

(p r) (q s) (p q r s)

Estrategias de demostracin
En esta seccin se estudian las estrategias bsicas ms comunes para realizar una demostracin.
14

Reduccin al absurdo:
Si queremos demostrar que A es cierto, podemos tomar como suposicin A y si conseguimos
llegar a una contradiccin, tendremos por la regla IN: A y por EN: A.
Esta estrategia se utiliza mucho ya que normalmente es ms fcil llegar a una contradiccin.
Ejemplo: Demostrar por reduccin al absurdo la regla de Modus Tollens
p q, q p
Ejercicio: Demostrar
p q, r q (p r)
Demostracin de la coimplicacin:
Puesto que una coimplicacin (p q) se define como dos implicaciones (p q q p), lo que
hacemos es demostrar las dos implicaciones utilizando la regla II.

La demostracin de la coimplicacin nos ser muy til para demostrar equivalencias, puesto que ya
vimos que p q sii p q.
Suponiendo que p q y p q son lo mismo, basta con demostrar que p q es una tautologa.
Ejemplo: Demostrar que p q (p q)

2.4. Consistencia y completitud


Un sistema formal, como la lgica proposicional, es una estructura totalmente sintctica:

Vocabulario

Sintaxis

Reglas de inferencia

Axiomas

pero se construye intentando que se ajuste a una determinada semntica, que en el caso de la lgica
proposicional son las tablas de verdad.

15

La ciencia que estudia la correspondencia entre un sistema formal y su semntica se llama


Metolgica.
La Metalgica se hace 3 preguntas fundamentales sobre cualquier sistema:
1) Est el sistema exento de contradiccin?, es decir, Tenemos la garanta de que el sistema nunca
va a derivar una conclusin contradictoria?.
Cuando un sistema cumple esta condicin se dice que es consistente, en caso contrario es
inconsistente.
Para averiguar si un sistema es consistente, lo que hay que hacer es comprobar que toda frmula
que se pueda deducir del sistema mediante las reglas de inferencia es semnticamente cierta:
Para toda frmula A, Si A entonces A
Visto utilizando conjuntos:
R: Frmulas deducibles en el sistema.
S: Frmulas semnticamente ciertas.

En general, si un sistema es inconsistente es muy poco til, porque no podemos fiarnos de lo que
deducimos. De hecho, si un sistema es capaz de deducir una contradiccin, es capaz de deducir
cualquier frmula, sea cierta o no.
2) El sistema es capaz es capaz de calcular todas las frmulas que son semnticamente ciertas?
En el caso de que se cumpla esta condicin se dice que el sistema es completo, en caso contrario el
sistema es incompleto.
Un sistema ser completo si todas las frmulas que son ciertas se pueden deducir mediante el
sistema:
Para toda frmula A, Si A entonces A
Visto utilizando conjuntos:
R: Frmulas deducibles en el sistema.
S: Frmulas semnticamente ciertas.

Aunque un sistema sea incompleto, sigue siendo utilizable.


Lo ideal es que se cumplan las dos condiciones, en cuyo caso tenemos un sistema consistente y
completo:
Para toda frmula A, A sii A
16

Visto utilizando conjuntos:


R: Frmulas deducibles en el sistema.
S: Frmulas semnticamente ciertas.

3) Existe un procedimiento que permita deducir de un modo mecnico si una frmula es deducible
o no en el sistema?
Esta pregunta es especialmente interesante para la informtica, pues indica si existe un algoritmo
capaz de deducir si una frmula es cierta o falsa.
Si se cumple esta condicin se dice que el sistema es decidible, en caso contrario es indecidible.
La lgica proposicional es consistente, completa y decidible. Un posible algoritmo con el que se
puede deducir si una frmula es cierta o falsa son las tablas de verdad.
La lgica de predicados es consistente y completa, pero no es decidible. Esto significa que no existe
un algoritmo general que pueda decirnos si una frmula cualquiera es cierta o falsa.
Las lgicas de predicados de orden superior y la aritmtica elemental son consistentes, incompletas
e indecidibles.
(NOTA: Poner ejemplo de los tres con la suma matemtica)

17

3. LGICA DE PREDICADOS
3.1. INTRODUCCIN
Existen numerosos argumentos que aparentemente son perfectamente lgicos, pero que no son
representables mediante la lgica proposicional. Por ejemplo, el siguiente razonamiento:
1 Todos los gatos tienen cola
p
2 Tom es un gato
q
Por consiguiente:
--3 Tom tiene cola
r ??
Aparentemente es perfectamente vlido, pero no hay forma de deducirlo utilizando lgica
proposicional. Para poder representar este tipo de razonamiento introduciremos dos conceptos
nuevos: los predicados y los cuantificadores. La lgica resultante se denomina lgica de predicados.
Los predicados se utilizan para describir propiedades o relaciones entre individuos u objetos. En el
ejemplo seran predicados "tener cola" y "ser gato" y un individuo sera "Tom". Los individuos u
objetos se denominan trminos.
Los cuantificadores nos indican para que elementos de un cierto dominio es verdadera la frase. Slo
tenemos dos opciones (y sus negaciones): Para todos los elementos del dominio (cuantificador
universal ) y para al menos un elemento del dominio (cuantificador existencial ).
De esta forma, el razonamiento que hemos escrito antes lo podemos reescribir en lgica de
predicados:
1 X (gato(X) tiene_cola(X) )
2 gato(tom)
-------------3 tiene_cola(tom)
Una de las aplicaciones de lgica de predicados en la informtica ser para especificar algoritmos,
es decir, para indicar que es lo que ha de hacer un algoritmo. Por ejemplo, si queremos especificar
un algoritmo para escribir un valor concreto en todas las posiciones de un vector se hara de la
siguiente manera:
Vector: Vector[1..N] de Enteros
PonerValor(v: Vector, valor: Entero)
Resultado: : 1 N: v[] = valor
En este ejemplo, Resultado indica la expresin que se ha de cumplir al acabar la funcin: que todos
los elementos del vector sean igual a valor. Como se puede ver en este ejemplo, al cuantificador se
le ha puesto el dominio en el cual es aplicable (de 1 a N). Cuando no se ponga dominio ser porque
se sobreentiende o porque es aplicable a cualquier elemento. El dominio tambin se denomina a
veces universo del discurso.
La lgica de predicados puede ser de primer orden o de orden superior. La lgica que
veremos aqu es de primer orden, que se caracteriza porque los cuantificadores actan slo sobre
trminos y no sobre predicados: no son admisibles enunciados del tipo "Para todo predicado
P(x)...".
18

Ejemplos de lgicas de orden superior seran la teora de conjuntos y la teora de nmeros.


Un ejemplo de una asercin en una lgica de orden superior sera el principio de igualdad de
Leibnitz, que dice que dos objetos son iguales si comparten las mismas propiedades, es decir, (a=b)
(p, p(a) p(b)). Este principio se expresa mediante un cuantificador que acta sobre predicados, lo
que no puede hacerse en lgica de predicados de primer orden.
3.2. SINTAXIS DE LA LGICA DE PREDICADOS
La sintaxis de la lgica de predicados de primer orden es la siguiente (en transparencia):
Smbolos terminales (Vocabulario):
a)
Conjunto de smbolos predicados: P={p1,p2,...}
b)
Conjunto de variables individuales: Var={v1,v2,...}
c)
Conjuntos de constantes individuales: Cons={c1,c2,...}
d)
Un conjunto de smbolos de funciones: F={f1,f2,...}
e)
Un conjunto de juntores lgicos: F={,,,,,}
f)
Dos cuantificadores: (universal), (existencial)
g)
Parntesis

PROLOG
X, Y, ...

Trminos:
a)
Todas las constantes individuales son trminos
b)
Todas las variables individuales son trminos
c)
Si t1,...,tn son trminos y f es una funcin n-aria, entonces f(t1,...,tn) es un trmino.
Frmulas atmicas:
a)
Si t1,...,tn son trminos y p es un smbolo de predicados n-arios entonces p(t1,...,tn) es una
frmula atmica.
Literales: frmulas atmicas y sus negaciones
Frmulas bien formadas (fbf):
a)
Si A es una frmula atmica es una fbf.
b)
Si A y B son fbf, entonces:
(A), A, A B, A B, A B, A B, A B,
v : v Dom : A
v : v Dom : A
son fbf.
Como constantes individuales pueden aparecer tomos (es decir, constantes o identificadores que
representan un elemento), nmeros enteros, reales y los valores lgicos verdadero y falso. Cada
constante ha de representar un nico elemento.
Las funciones, como trminos que son, representan individuos u objetos; no hay que confundirlas
con predicados. As, una funcin que podra servir para representar a una persona podra ser la
siguiente:
persona(pepe, perez, perez)
Como funciones sobre nmeros enteros y reales pueden aparecer operaciones aritmticas (+, *,
etc.):
19

+(2, 3)
o en notacin infija:
2+3
Ntese que las funciones matemticas siguen representando elementos del dominio, en este caso
enteros.
Las operaciones relacionales (<, , >, , =, , , etc.), que tienen el valor verdadero o falso,
resulta ms correcto tratarlas como predicados, aunque en general cualquier predicado puede ser
considerado como una funcin que representa un valor booleano, pero en este caso estaramos en
una lgica de orden superior.
3.2.1. Los cuantificadores universal y existencial
Como ya hemos comentado, el cuantificador universal () es equivalente ms o menos al castellano
para todo. La frmula siguiente:
: 1 10: v[] = valor
significa que para todos los valores de entre 1 y 10, v[] = valor. El cuantificador universal se
puede considerar tambin como la repeticin de la conjuncin, por lo que lo frmula anterior es
equivalente a esta:
v[1] = valor v[2] = valor ... v[10] = valor
Ejemplo 25.
Cada una de las frases de abajo va seguida de su representacin como fbf, que
utiliza el cuantificador universal:
a) Cada elemento ei de la lista desde e1 hasta e21 es distinto de 9.
i: i {1,2, ..., 21}: ei 9
b) Todos los ej entre em y en son nmeros positivos.
j: j {m,n, + 1,..., n}: ei > 0
c) En un vector v indexado de 0 a N, todos los elementos estan ordenados en orden creciente.
i: 0 i < N: v[i] v[i + 1]
d) En una lista A = (e1, e2, ..., en) los elementos hasta el j-simo, excluido l mismo, estn
colocados en orden creciente (vase Figura 4.)
i {1, 2, ..., j - 2}: ei ei+1
(1 3 5 6 7 9 2 8 4)
^
^
ej
e1
El otro cuantificador de inters es el cuantificador existencial, simbolizado por . Su
significado es existe, o bien existe al menos o para algn. Se utiliza para abreviar mltiples

20

ocurrencias de disyunciones cuando varios predicados similares estn relacionados con este
operador.
Por ejemplo, si queremos decir que el vector v contiene al menos un cero, se escribira de la
siguiente forma:
: 1 10: v[] = 0
que sera equivalente a:
v[1] = 0 v[2] = 0 ... v[10] = 0
Ejemplo 26.
Las frases siguientes se acompaan con su representacin abreviada
utilizando el cuantificador existencial.
b) Los elementos de (e1, e2, ..., en) no estn todos en orden ascendente.
j {1, ..., n - 1}: ej+1 > ej
c) Algn punto del conjunto del plano R, se encuentra en el tercer cuadrante.
(i, j) R : i < 0 j < 0
3
3
3
d) Existen enteros a b y c, distintos de cero, que verifican a + b = c .
3
3
3
a, b, c 0: a + b = c

La relacin entre ambos cuantificadores podemos encontrarla en la generalizacin de las leyes de


Morgan siguiente:
i: R(i) : P(i) i: R(i): P(i)
i: R(i) : P(i) i: R(i): P(i)

(1)
(2)

La Ecuacin (1) dice que la frase no es cierto que todos los es en el dominio satisfacen p es
equivalente a para algn i del dominio, P es falso. La Ecuacin (2) tiene una interpretacin
similar: la frase no es cierto que algn i en el dominio satisface P es equivalente a la frase para
cada i en el dominio, P es falso.
Estas son generalizaciones de la versin simple de las leyes de Morgan, que fueron introducidas
anteriormente. Tngase en cuenta que los cuantificadores utilizados ahora representan abreviaturas
de conjunciones y disyunciones. Por ejemplo, las equivalencias siguientes son interpretaciones
vlidas de las Ecuaciones (1) y (2), cuando el rango de i es el conjunto {1, 2}:
(P(1) P(2)) P(1) P(2)
(P(1) P(2)) P(1) P(2)

(3.3)
(3.4)

21

Ejemplo 27.

A continuacin, se muestran dos ejemplo concretos:

a) i {1, ..., n}: ei = 0 es equivalente a


i {1, ..., n}: ei 0
b) i {1, ..., 21}: ei 9 es equivalente a
i {1, ..., 21}: ei = 9
A menudo son necesarios ambos cuantificadores para expresar una nica fbf:
Ejemplo:
3.2.2. Otros cuantificadores
En informtica suelen utilizarse otros cuantificadores junto con los dos anteriores, y . Estos
cuantificadores pueden verse a continuacin:
R(i): f(i)
R(i): f(i)
N R(i): P(i)
Min R(i): P(i)
Max R(i): P(i)
N R(i): P(i) da el nmero de valores de i en el rango determinado por R, que satisfacen el predicado
P. Min devuelve el valor mnimo de la funcin f(i), donde i est restringida al rango especificado
por R. Max es similar a Min pero devuelve el valor mximo.
Ejemplo 28. Las expresiones siguientes muestran la utilizacin de estos cuantificadores. El
valor que resulta de evaluarlas aparece a la derecha:
2
a) i {0, ..., 3}: i - i = 0 + 0 + 2 + 6 = 8
2
b) i {1, ..., 4}: i = 1 x 4 x 9 x 16 = 576
2
c) N i {0, ..., 3}: i > i = 2
2
d) Min i {0, ..., 3}: i - i = 0
2
e) Max i {0, ..., 3}: i - i = 6
Dominio nulo:
El dominio de los cuantificadores (excepto min y max) puede ser nulo. Cuando esto sucede, el
resultado de la expresin es el elemento neutro de la operacin asociada al cuantificador.
: 1 <= <= 0: E() = 0
: 1 <= <= 0: B() = cierto
22

: 1 <= <= 0: B() = 0


Sobre los cuantificadores min y max no est definido puesto que normalmente no tienen elemento
neutro.
3.3. SEMANTICA DE LA LGICA DE PREDICADOS
La semntica de la lgica de predicados de primer orden asigna a cada fbf un valor lgico
verdadero o falso.
Sin embargo no de todas las fbf se puede calcular su valor de verdad o falsedad. Por ejemplo,
comprese la siguiente fbf:
X=2+2
con la expresin cuantificada
X, X = 2+2
En la primera expresin, la variable X no se encuentra ligada a ningn cuantificador, razn por la
cual la expresin carece de significado. No es posible saber si la expresin es verdadera o falsa. En
este caso, X recibe el nombre de variable libre. Sin embargo, en el segundo caso, la variable X est
ligada por el cuantificador existencial, lo que hace que la expresin adquiera significado. Ahora s
tiene sentido afirmar si la expresin es verdadera o falsa. En este caso, se dice que i es una variable
ligada.
En general, todas las variables cuyos valores estn restringidos por la aplicacin de un
cuantificador, son ligadas; las variables que no estn ligadas son libres. (Veremos que la misma
distincin entre variables libres y ligadas existe entre variables globales y locales, respectivamente,
cuando definamos procedimientos y funciones en programacin.)
Considrese la expresin
X, p(X,Y)
En esta expresin, X es una variable ligada, mientras que Y es libre.
f.b.f. abiertas y cerradas
Def: Decimos que una f.b.f. es abierta si tiene al menos una variable libre, en cuyo caso no tiene
sentido hablar del valor de verdadero o falso de la f.b.f., por lo que las f.b.f. abiertas no pueden ser
utilizadas como premisas (se les exige ser verdaderas) ni pueden ser conclusiones de un
razonamiento deductivo.
Son ejemplos de f.b.f. abiertas las siguientes:
X ( p(X,Y) )
X ( p(X) q(Y) )
Def: Decimos que una f.b.f. es cerrada si no tiene ninguna variable libre, y tiene sentido asignar un
valor de verdadero o falso a la f.b.f., por lo que estas s pueden ser axiomas o conclusiones de
razonamientos deductivos.
Son ejemplos de f.b.f. cerradas las siguientes:

23

X (Y ( p(X,Y) ) )
X (Y ( p(X) q(Y) ) )
Equivalencias en lgica de predicados:
Utilizando las reglas que hemos visto, es posible demostrar varias equivalencias muy tiles. Dos de
ellas ya las hemos visto, son la generalizacin de las leyes de De Morgan. Algunas equivalencias
ms son las siguientes:
X : P(X) X : Q(X) X : (P(X) Q(X) )
X : P(X) X : Q(X) X : (P(X) Q(X) )
Adems de estas tenemos tambin una propiedad muy importante y es que siempre podemos
cambiar de nombre una variable ligada, las variables ligadas se pueden ver como variables locales
al mbito del cuantificador. Esto resulta muy til para evitar confusiones en las frmulas.
X : P(X) Y : P(Y)
Esto nos permite hacer simplificaciones como la siguiente:
X : P(X) Y : Q(Y) X : P(X) X : Q(X) X : (P(X) Q(X) )
Interpretacin y validez
Sea una fbf con un cuantificador con dominio como la siguiente:
i: i {1,2, 3, 4}: par(i)
Es posible evaluar la fbf dando un significado concreto a cada predicado y reemplazando todas las
apariciones de la variable por los diferentes valores del dominio, unidos por la operacin asociada al
cuantificador:
par(1) par(2) par(3) par(4)
Si al predicado le damos el significado "el numero es par", entonces la anterior fbf sera falsa.
Def: Llamaremos interpretacin a la evaluacin de una fbf utilizando un dominio y un significado
de constantes y predicados determinado.
Def: Diremos que una fbf es satisfacible (o viable) si existe al menos una interpretacin que la
haga cierta.
En la frmula anterior, si al predicado le damos el significado "menor que 5", entonces la fbf sera
verdadera, con lo que si que es satisfacible. En este caso decimos que esta interpretacin satisface
la fbf.
Definicin. Una fbf (A) que se satisface para todas las interpretaciones se dice que es vlida y se
representa como A.
Una fbf vlida es lo equivalente a una tautologa en lgica proposicional.
Def: Una fbf que no tiene ninguna interpretacin que la satisface se dice que es contradictoria.
La negacin de una fbf vlida es contradictoria.
Def: Sean A y B dos fbf, decimos que A es equivalente a B (A B) si A B es vlida.
24

3.4. RAZONAMIENTO CON PREDICADOS


El razonamiento con predicados es similar al razonamiento con proposiciones.
Generalmente, las fbf se convierten en proposiciones y se utilizan las reglas de inferencia para
proposiciones para posteriormente volver a aadir los cuantificadores. Para introducir y eliminar los
cuantificadores tenemos las reglas de la Tabla 4, que junto con las reglas de la lgica proposicional
forman las reglas de la lgica de predicados.
Los pasos a realizar para realizar razonamientos en lgica de predicados son por tanto los
siguientes:
1. Abrir las frmulas cerradas por cuantificadores, suprimiendo provisionalmente stos.
2. Utilizar las reglas de la lgica proposicional para operar con las frmulas.
3. Restituir al acabar los cuantificadores que se haban suprimido.
Tabla 4. Reglas de inferencia para predicados cuantificados
-introduccin (IG)

-eliminacin (EG)

-introduccin (IP)

-eliminacin (EP)

Veamos en detalle cada una de las reglas:


Eliminacin del generalizador:
Tambin llamada de instanciacin universal. Consiste en que si una propiedad P se cumple para
todos los elementos de un dominio, se cumplir para uno de ellos en particular.
Ejemplo:
-1 X (gato(X) tiene_cola(X) )
-2 gato(tom)
3 gato(tom) tiene_cola(tom) EG 1
4 tiene_cola(tom)
EI 2,3
Introduccin del generalizador:
Tambin llamada generalizacin. Consiste en la aplicacin de que lo que vale para un caso
cualquiera, vale para todo caso.
Para aplicar esta regla la condicin es que debemos tener un elemento genrico del dominio, es
decir, un elemento que podra ser cualquiera de los elementos del dominio. Esto implica que este
elemento no puede formar parte de un supuesto sin cerrar.
Veamos un ejemplo de aplicacin de esta regla en matemticas:
Supongamos que se quiere demostrar que todos los naturales pares mayores que 2 no son
primos. En este caso, el dominio de aplicacin sern los naturales mayores que 2 y pares.
Lo primero ser escoger un elemento cualquiera del dominio.
Sea io un entero par que verifique io > 2. io ser de la forma io = 2*j + 4 siendo j un natural.
25

Como se ve este elemento que hemos escogido podra ser cualquiera de los elementos del dominio.
Puesto que io = 2*(j + 2), podemos dividirlo por 2, con lo que io no es primo.
Puesto que io era un elemento cualquiera, aplicando la regla IG deducimos que todos los naturales
mayores que 2 no son primos.
Otro ejemplo:
Todos son negros o todos son amarillos; por consiguiente, todos son negros o amarillos.
Este razonamiento se puede escribir de la siguiente forma:
X: negro(X) X: amarillo(X) X: (negro(X) amarillo(X) )
-1 X: negro(X) X: amarillo(X)
2 [X: negro(X) ]
3 negro(a)
EG 2
4 negro(a) amarillo(a)
ID 3
5 [X: amarillo(X) ]
6 amarillo(a)
EG 5
7 negro(a) amarillo(a)
ID 6
8 negro(a) amarillo(a)
ED 1-7
9 X: (negro(X) amarillo(X) )
IG 8
Sin embargo el siguiente razonamiento no sera vlido:
Todos son o negros o amarillos; por consiguiente, o todos son negros o todos son amarillos.
X: (negro(X) amarillo(X) ) X: negro(X) X: amarillo(X)
1 X: (negro(X) amarillo(X) )
2 negro(a) amarillo(a)
EG 1
3 [negro(a)]
4 X: negro(X)
IG 3 MAL porque era una suposicin.
Introduccin de particularizador:
Parte del supuesto de que si una propiedad es cierta para un individuo concreto de un dominio,
podemos decir que es cierta para algun individuo del dominio.
Ejemplo: Demostrar que algn hombre es mortal a partir de las siguientes premisas:
1. hombre(socrates)
Premisa1
2. X (hombre(X) mortal(X))
Premisa2
3 hombre(socrates) mortal(socrates)
4 mortal(socrates)
5 X : mortal(X)

EG 2
EI 1,3
IP 4

Eliminacin de particularizador:
Se basa en que si sabemos que existe algn individuo que cumple una propiedad P, entonces
podemos suponer que existe un individuo concreto con esa propiedad y darle un nombre
imaginario.
26

Esto slo se puede realizar si el nombre que elegimos es un nombre sin ningn significado previo.
La segunda condicin que ha de cumplir esta regla es que el nombre es inventado, por tanto se
considera una suposicin, por lo que cuando se hayan deducido las conclusiones que se pretendan,
habr que descartar la suposicin y en consecuencia el nombre no podr aparecer en las
conclusiones.
Ejemplo: Realizar la deduccin:
X (hombre(X) mortal(X)), X : hombre(X) X : mortal(X)
1. X (hombre(X) mortal(X))
2 X : hombre(X)
3 [hombre(a)]
4 hombre(a) mortal(a)
5 mortal(a)
6 X : mortal(X)
7 X : mortal(X)

EG 1
EI 3,4
IP 5
EP 2-6

Ejercicio:
- Demostrar la afirmacin dios(socrates) a partir de las premisas siguientes:
1. hombre(socrates)
2. X (hombre(X) mortal(X))
3. Y (dios(Y) mortal(Y))
Principio de induccin
La validez de fbf que contienen cuantificadores, puede muchas veces establecerse mediante
el Principio de induccin. Este es un concepto tan importante para la programacin como para las
matemticas. Es decir, los mtodos de demostracin inductivos se utilizan en la verificacin formal
de programas. La induccin tiene tambin una relacin muy estrecha con el concepto matemtico
de funciones recursivas y una gran aplicacin en la resolucin de problemas y en programacin.
P ( [P(0) (P(k - 1) P(k) k > 0, k N) ] P(n) n N )
Es decir, para demostrar que una propiedad P(n) es cierta para los naturales basta con demostrar que
es cierta para 0 y que es cierta para un n cualquiera suponiendo que ya es cierta para n 1. En la
demostracin por induccin tenemos entonces 3 partes bien diferenciadas:
Base de induccin (BI): Demostracin de P(0).
Hiptesis de induccin (HI): P(k 1)
Paso de induccin (PI): Demostracin de P(k - 1) P(k) k > 0, k N

El principio de induccin se puede ver como la repeticin infinita de la regla de ED o Modus


Ponens:
P(0)
P(0) P (1)
P(1) P (2)
.........

P(1)
P(2)
27

Combinando las dos primeras lneas es posible concluir, utilizando modus ponens, que P(2) es
vlido. Combinando la veracidad de P(2) con la tercera lnea, es de nuevo posible concluir que P(3)
es verdadero. Es posible continuar de esta forma indefinidamente hasta demostrar que i
{1,2, ...}: P(n) es vlido.
El principio de induccin es un principio de lgica de predicados de orden superior, puesto que
estamos aplicando un cuantificador al predicado P.
El principio de induccin es tambin fundamental en informtica puesto que en el se basan la
verificacin de la recursividad y los bucles, de hecho la recursividad es una aplicacin directa del
principio de induccin:
Ejemplo Factorial.
int fact(int n)
{
if(n == 0)
f = 1;
else
f = fact(n 1) * n;
return f;
}

// Base de Induccin
// Paso de Induccin

28

4 PRINCIPIO DE INDUCCIN
El principio de induccin matemtica es una herramienta muy utilizada en todo tipo de
demostraciones. En esta asignatura lo utilizaremos para la demostracin de ciertas propiedades
sobre TADs, para la verificacin de funciones recursivas y de bucles y para calcular costes de
funciones recursivas.
Existen 3 variantes del principio de induccin: induccin dbil, induccin fuerte e induccin general
o noetheriana.
4.1-INDUCCIN DBIL
Es el principio de induccin ms bsico y ms conocido y est definido sobre el conjunto de los
naturales.
Def: Sea P: N B una propiedad definida sobre N.
[P(0) (P(k - 1) P(k) k > 0, k N) ] P(n) n N
Es decir, para demostrar que una propiedad P(n) es cierta para los naturales basta con demostrar que
es cierta para 0 y que es cierta para un n cualquiera suponiendo que ya es cierta para n 1. En la
demostracin por induccin tenemos entonces 3 partes bien diferenciadas:
Base de induccin (BI): Demostracin de P(0).
Hiptesis de induccin (HI): P(k 1)
Paso de induccin (PI): Demostracin de P(k - 1) P(k) k > 0, k N
Ejemplo (en hojas): Demostrar

n2 = : 1 n: (2 - 1)

Ejemplo 2: Demostrar que 10n 1 es divisible por 9 n N, n > 0.


4.2. INDUCCIN COMPLETA O FUERTE
En la induccin, para demostrar el caso n (paso de induccin) se puede suponer no slo que el caso
inmediatamente anterior es cierto sino que cualquier caso anterior es cierto. En este caso se
denomina induccin completa o fuerte.
Def: Sea P: N B una propiedad definida sobre N.
[P(0) ( (P(l) l < k) P(k) k N) ] P(n) n N
Ejemplo (en hojas): Demostrar que F(n) = 1 + lg n
F(n) =

n=1

F( n/2 ) + 1

n>1

siendo F(n):

4.3-PRINCIPIO DE INDUCCIN GENERAL O NOETHERIANO


El principio de induccin tambin puede aplicarse a dominios que no sean naturales siempre que
exista una cierta relacin de orden. Es lo que se denomina el principio de induccin general o
noetheriano.

29

Def (Preorden): Una relacin binaria en D, D x D se dice que es un preorden en D si es


reflexiva y transitiva.
reflexiva: x D, x x
transitiva: x, y, z D, x y y z x z
Cuando un preorden cumple adems la propiedad antisimtrica, se dice que es un orden parcial.
antisimtrica: x, y D, x y y x x = y
Def (preorden estricto): Dado un preorden en D, definimos la relacin , que llamaremos
preorden estricto, como:
x y x y ( y x)
El preorden estricto cumple las propiedades transitiva y antirreflexiva.
antirreflexiva: x D, (x x)
Def (elemento minimal): Dado un preorden en D, se dice que un elemento m D es minimal si
no tiene predecesores estrictos:
( x D, x m)
Def (preorden bien fundado o pbf): Un preorden en D, se dice que es bien fundado si no existen
en D sucesiones infinitas estrictamente decrecientes, es decir:
{xi} tales que i N, xi+1 xi
Un ejemplo de preorden bien fundado es la relacin de los naturales o tambin el orden
lexicogrfico.
Teorema: Si 2 es un pbf en D2, D1 un conjunto, f: D1 D2 una aplicacin y a, b D1 y
definimos a 1 b f(a) 2 f(b). Entonces 1 es un pbf en D1.
Este teorema nos permitir construir preordenes bien fundados a partir de uno dado.
Por ejemplo, si definimos sobre las pilas una relacin de orden atendiendo a su altura, esta relacin
ser un pbf, pues podemos encontrar una aplicacin mediante la cual se defina este orden a partir
del de los naturales, que sabemos que es un pbf.
p1, p2 pila, p1 p2 altura(p1) altura(p2)
Hay ocasiones en donde no se puede encontrar dicha aplicacin, aunque ello no significa que no sea
un pbf. Por ejemplo, el orden lexicogrfico si el dominio de m y n es infinito (N o Z o ...); si el
dominio es finito si que se puede, como las fechas.
Teorema (Principio de induccin noetheriano): Sea un pbf en D, P(x) una propiedad sobre los
elementos x de D y M el conjunto de los elementos minimales en D (M = {m: -( x D, x m)})
[P(m) m M ( (P(l) l k) P(k) k D) ] P(n) n D

30

4.4-TEOREMAS INDUCTIVOS SOBRE TADS.


Para demostrar muchas de las propiedades sobre los tipos abstractos de datos es necesario aplicar el
principio de induccin. A estas propiedades las denominaremos teoremas inductivos. Adems,
puesto que el dominio no son naturales, tendremos que utilizar el principio de induccin
noetheriano. Para garantizar que tenemos un pbf utilizaremos normalmente la funcin de tamao
del tipo.
Ejemplo (en hojas): Suma de una cola:
suma(c_nula) 0
suma(pide_turno(n, c) ) n + suma(c)
Demostrar que para toda cola distinta de c_nula se cumple
suma(c) primero(c) + suma(avance(c) )

31

You might also like