Beruflich Dokumente
Kultur Dokumente
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.
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: ~, , , ,
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
q
verdadero
falso
verdadero
falso
p q
verdadero
verdadero
verdadero
falso
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)
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
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
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
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
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
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)
Premisas
Conclusion
12
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
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
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)
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
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.
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
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
(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.
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
-eliminacin (EG)
-introduccin (IP)
-eliminacin (EP)
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
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)
n=1
F( n/2 ) + 1
n>1
siendo F(n):
29
30
31