matemáticas discretas - lógicaldominguez/files/logic.pdf6/34 luis dominguez matem aticas discretas...

61
Matem´ aticas Discretas ogica Luis Dominguez Septiembre 2012 1 / 34 Luis Dominguez Matem´ aticas Discretas

Upload: others

Post on 25-Apr-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Matematicas DiscretasLogica

Luis Dominguez

Septiembre 2012

1 / 34 Luis Dominguez Matematicas Discretas

Page 2: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Abstract

La logica en ciencias computacionales proporcionaherramientas para deliberar si un problema puede o no serresuelto en una maquina, para transformar enunciados logicosen lenguaje comun a lenguaje de computadora, para provarque un programa es correcto o si es eficiente. Lascomputadoras estan disenadas a partir de dispositivos logicos yson programadas basandonos en la logica.Se analizaran los aspectos basicos de la logica, ası como susconectores y reglas de sustitucion.

2 / 34 Luis Dominguez Matematicas Discretas

Page 3: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Funciones

Funcion

Si A y B son conjuntos, una funcion de A a B es una regla que nospermite encontrar un b ∈ B para cada a ∈ A. Se escribe f (a) = by se puede pronunciar como f es una aplicacion de a a b, tambiense puede decir: el valor de F en a es b.

I Se escribe: f : A→ B para indicar que f es una funcion de Aa B. Al conjunto A se le conoce omo dominio de f , y alconjunto B el rango, o codominio de f .

I Cabe destacar que algunos autores utilizan diferentenomenclatura, por lo que si no se entiendo lo que el autormenciona, hay que revisar la seccion de notacion.

3 / 34 Luis Dominguez Matematicas Discretas

Page 4: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Funciones Booleanas

Funcion Booleana

Es una funcion f del producto Cartesiano ×n{0, 1} a {0, 1}.Alternativamente, se escribe f : ×n{0, 1} → {0, 1}. El conjunto×n{0, 1}, por definicion, el conjunto de todas las n-tuplas(x0, . . . xn−1) donde cada xi es 0 o 1, es llamado el dominio de f .El conjunto {0, 1} es llamado el codominio de f . El productoCartesiano ×n{0, 1} se escribe tambien {0, 1}n, que equivale aescribir el producto de n copias de y como yn.

4 / 34 Luis Dominguez Matematicas Discretas

Page 5: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejemplo, representacion tabular

p q f

0 0 00 1 11 0 01 1 1

p q r g

0 0 0 10 0 1 10 1 0 00 1 1 01 0 0 01 0 1 01 1 0 11 1 1 1

Definimos la funcion Booleana f : ×2{0, 1} → {0, 1} yg : ×3{0, 1} → {0, 1}. En el caso de la funcion f , tenemosf (0, 0) = 1, f (0, 1 = 1, . . ., para la funcion g , tenemosg(0, 0, 0) = 1, g(0, 0, 1) = 1 . . .

5 / 34 Luis Dominguez Matematicas Discretas

Page 6: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Numero de funciones booleanas

¿Cuantas funciones Booleanas existen para el dominio ×3{0, 1}?

Se utiliza la notacion |S | para denotar el numero de elementos deS , tambien se le conoce como cardinalidad.

Estamos pidiendo el valor de | ×n {0, 1}|. Podemos escogercualquier elemento del dominio al seleccionar n elementos dex0, x1, . . . , xn−1, donde xi ∈ {0, 1} para i = 0, 1, . . . , n, y dado quesolo hay dos opciones para cada xi , el numero total de elementosen el dominio es: 2× 2× · · · × 2 = 2n. En otra notacion:| ×n {0, 1}| = |{0, 1}|n.

Respuesta: | ×3 {0, 1}| = 23 = 8 . . .?

6 / 34 Luis Dominguez Matematicas Discretas

Page 7: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Numero de funciones booleanas

¿Cuantas funciones Booleanas existen para el dominio ×3{0, 1}?

Se utiliza la notacion |S | para denotar el numero de elementos deS , tambien se le conoce como cardinalidad.

Estamos pidiendo el valor de | ×n {0, 1}|. Podemos escogercualquier elemento del dominio al seleccionar n elementos dex0, x1, . . . , xn−1, donde xi ∈ {0, 1} para i = 0, 1, . . . , n, y dado quesolo hay dos opciones para cada xi , el numero total de elementosen el dominio es: 2× 2× · · · × 2 = 2n. En otra notacion:| ×n {0, 1}| = |{0, 1}|n.

Respuesta: | ×3 {0, 1}| = 23 = 8 . . .?

6 / 34 Luis Dominguez Matematicas Discretas

Page 8: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Numero de funciones booleanas

¿Cuantas funciones Booleanas existen para el dominio ×3{0, 1}?

Se utiliza la notacion |S | para denotar el numero de elementos deS , tambien se le conoce como cardinalidad.

Estamos pidiendo el valor de | ×n {0, 1}|. Podemos escogercualquier elemento del dominio al seleccionar n elementos dex0, x1, . . . , xn−1, donde xi ∈ {0, 1} para i = 0, 1, . . . , n, y dado quesolo hay dos opciones para cada xi , el numero total de elementosen el dominio es: 2× 2× · · · × 2 = 2n. En otra notacion:| ×n {0, 1}| = |{0, 1}|n.

Respuesta: | ×3 {0, 1}| = 23 = 8 . . .?

6 / 34 Luis Dominguez Matematicas Discretas

Page 9: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Numero de funciones booleanas II

De hecho no, porque una funcion puede tener dos valores ({0, 1})para cada uno de los elementos en el dominio, para el casoanterior: si tenemos 23 elementos, cada combinacion nos darıa unvalor en {0, 1}, por lo que:

h : ×n{0, 1} → {0, 1}, |h| = 2(2n).

7 / 34 Luis Dominguez Matematicas Discretas

Page 10: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Funciones Booleanas simples

Las funciones Booleanas mas simples son las funciones constantes.Dado que hay dos constantes 0 y 1, pues solo hay dos funcionesBooleanas constantes.

El siguiente nivel es con una variable: 221= 4 funciones Booleanas

de una sola variable, y dado que hay dos constantes, nos quedan 2funciones Booleanas no constantes de una variable.

Una es la funcion de identidad: f (p) = p para todo p ∈ {0, 1}, y laotra es la funcion “no p”. La funcion se denota como ¬p, o ∼ p.Este sımbolo es uniario, porque es una funcion que tiene una solavariable, el signo de menos es un operador similar.

8 / 34 Luis Dominguez Matematicas Discretas

Page 11: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Funciones Booleanas de dos variables

Para este caso, sabemos que hay 222= 24 = 16 funciones f (p, q),

son 2 constantes, 2 funciones que dependen solo de p (siendo qconstante) y 2 funciones que dependen solo de q. Tenemos 10funciones que dependen de las dos variables.

Definiremos primeramente:

I ∧I ∨I ⊕

9 / 34 Luis Dominguez Matematicas Discretas

Page 12: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Funciones Booleanas de dos variables II

Algunos operadores binarios de funciones Booleanas.

I p y q : a(p, q). Por definicion: a(p, q) = 0 salvo que p = 1 yq = 1, entonces a(p, q) = 1. La funcion se denota p ∧ q.

I p o q : o(p, q). Por definicion: o(p, q) = 1 salvo que p = 0 yq = 0, entonces o(p, q) = 0. La funcion se denota p ∨ q.

I p implica q. Por definicion: im(p, q) = 1 salgo que p = 0 yq = 1, etonces im(p, q) = 0. La funcion se denota p → q.

I p si y solo si q : b(p, q). Por definicion: b(p, q) = 0 si p = q,b(p, q) = 1 si p 6= q. La funcion se denota p ↔ q.

Nota: En algunos casos, se utiliza el sımbolo ⊃ para la implicacion.

10 / 34 Luis Dominguez Matematicas Discretas

Page 13: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Tablas de verdad

Conjuncion

p q p ∧ q

0 0 00 1 01 0 01 1 1

Disyuncion

p q p ∨ q

0 0 00 1 11 0 11 1 1

Implicacion

p q p → q

0 0 10 1 11 0 01 1 1

Bicondicional

p q p ↔ q

0 0 10 1 01 0 01 1 1

11 / 34 Luis Dominguez Matematicas Discretas

Page 14: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Otros operadores binarios

Existen otros operadores:

Disyuncion exclusiva1 EquivalenciaNAND NOR

(XNOR) (XOR)

p q p ⊕ q p ≡ q p ↑ q p ↓ q

0 0 0 1 1 10 1 1 0 1 01 0 1 0 1 01 1 0 1 0 0

Sin embargo, veremos que utilizando el operador ¬ se puedenconstruir los mismos.

1alternativo: 6↔, 6≡12 / 34 Luis Dominguez Matematicas Discretas

Page 15: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Tautologıa y Contradiccion

Tautologıa

Una proposicion es una tautologıa si es verdadera para todas lasasignaciones de valores de verdad.

Contradiccion

Una proposicion es una contradiccion si es falsa para todas lasasignaciones de valores de verdad.

usaremos T0 para denotar una tautologıa, y F0 para unacontradiccion.

13 / 34 Luis Dominguez Matematicas Discretas

Page 16: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Tautologıa o contraduccion

p ∨ ¬p es una

tautologıa

p → p es una

tautologıa

p ∧ ¬p es una

contradiccion

Si algunos casos son verdaderos y otros son falsos, se dice que aformula presenta una contingencia, por ejemplo: P

14 / 34 Luis Dominguez Matematicas Discretas

Page 17: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Tautologıa o contraduccion

p ∨ ¬p es una tautologıap → p es una

tautologıa

p ∧ ¬p es una

contradiccion

Si algunos casos son verdaderos y otros son falsos, se dice que aformula presenta una contingencia, por ejemplo: P

14 / 34 Luis Dominguez Matematicas Discretas

Page 18: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Tautologıa o contraduccion

p ∨ ¬p es una tautologıap → p es una tautologıap ∧ ¬p es una

contradiccion

Si algunos casos son verdaderos y otros son falsos, se dice que aformula presenta una contingencia, por ejemplo: P

14 / 34 Luis Dominguez Matematicas Discretas

Page 19: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Tautologıa o contraduccion

p ∨ ¬p es una tautologıap → p es una tautologıap ∧ ¬p es una contradiccion

Si algunos casos son verdaderos y otros son falsos, se dice que aformula presenta una contingencia, por ejemplo: P

14 / 34 Luis Dominguez Matematicas Discretas

Page 20: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Calculo proposicional

Una expresion gramatica- o sintacticamente correcta se dice que esuna formula bien formada. Ya hemos definido los operadores, asıque podemos armar proposiciones complejas para su evaluacion.

En el caso de las proposiciones compuestas, el orden de evaluaciones el siguiente:

1. ¬ (mas alta prioridad)

2. ∧3. ∨4. → (mas baja prioridad)

Se puede hacer uso de parentesis para evitar ambiguedades.

15 / 34 Luis Dominguez Matematicas Discretas

Page 21: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Agregando parentesis

p ∨ q ∧ r significa

p ∨ (q ∧ r)

p → q → r significa

(p → q)→ r

¬p ∨ q significa

(¬p) ∨ q

¬p → p ∧ q ∨ r significa

(¬p)→ ((p ∧ q) ∨ r)

¬¬p significa

¬(¬p)

16 / 34 Luis Dominguez Matematicas Discretas

Page 22: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Agregando parentesis

p ∨ q ∧ r significa p ∨ (q ∧ r)p → q → r significa

(p → q)→ r

¬p ∨ q significa

(¬p) ∨ q

¬p → p ∧ q ∨ r significa

(¬p)→ ((p ∧ q) ∨ r)

¬¬p significa

¬(¬p)

16 / 34 Luis Dominguez Matematicas Discretas

Page 23: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Agregando parentesis

p ∨ q ∧ r significa p ∨ (q ∧ r)p → q → r significa (p → q)→ r¬p ∨ q significa

(¬p) ∨ q

¬p → p ∧ q ∨ r significa

(¬p)→ ((p ∧ q) ∨ r)

¬¬p significa

¬(¬p)

16 / 34 Luis Dominguez Matematicas Discretas

Page 24: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Agregando parentesis

p ∨ q ∧ r significa p ∨ (q ∧ r)p → q → r significa (p → q)→ r¬p ∨ q significa (¬p) ∨ q¬p → p ∧ q ∨ r significa

(¬p)→ ((p ∧ q) ∨ r)

¬¬p significa

¬(¬p)

16 / 34 Luis Dominguez Matematicas Discretas

Page 25: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Agregando parentesis

p ∨ q ∧ r significa p ∨ (q ∧ r)p → q → r significa (p → q)→ r¬p ∨ q significa (¬p) ∨ q¬p → p ∧ q ∨ r significa (¬p)→ ((p ∧ q) ∨ r)¬¬p significa

¬(¬p)

16 / 34 Luis Dominguez Matematicas Discretas

Page 26: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Agregando parentesis

p ∨ q ∧ r significa p ∨ (q ∧ r)p → q → r significa (p → q)→ r¬p ∨ q significa (¬p) ∨ q¬p → p ∧ q ∨ r significa (¬p)→ ((p ∧ q) ∨ r)¬¬p significa ¬(¬p)

16 / 34 Luis Dominguez Matematicas Discretas

Page 27: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Figure : Ejercicio

p� ∨

-

q�

r

-

¿Cuales son todos los posibles valores de esta funcion?

17 / 34 Luis Dominguez Matematicas Discretas

Page 28: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Pruebas con tablas de verdad

Hagamos la tabla de verdad para la proposicionA = ((p → q) ≡ (¬q → ¬p)).

p q

¬p ¬q (p → q) (¬q → ¬p) ((p → q) ≡ (¬q → ¬p))

0 0

1 1 1 1 1

0 1

1 0 1 1 1

1 0

0 1 0 0 1

1 1

0 0 1 1 1

... la proposicion siempre es verdadera! A es una tautologıa.

18 / 34 Luis Dominguez Matematicas Discretas

Page 29: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Pruebas con tablas de verdad

Hagamos la tabla de verdad para la proposicionA = ((p → q) ≡ (¬q → ¬p)).

p q ¬p

¬q (p → q) (¬q → ¬p) ((p → q) ≡ (¬q → ¬p))

0 0 1

1 1 1 1

0 1 1

0 1 1 1

1 0 0

1 0 0 1

1 1 0

0 1 1 1

... la proposicion siempre es verdadera! A es una tautologıa.

18 / 34 Luis Dominguez Matematicas Discretas

Page 30: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Pruebas con tablas de verdad

Hagamos la tabla de verdad para la proposicionA = ((p → q) ≡ (¬q → ¬p)).

p q ¬p ¬q

(p → q) (¬q → ¬p) ((p → q) ≡ (¬q → ¬p))

0 0 1 1

1 1 1

0 1 1 0

1 1 1

1 0 0 1

0 0 1

1 1 0 0

1 1 1

... la proposicion siempre es verdadera! A es una tautologıa.

18 / 34 Luis Dominguez Matematicas Discretas

Page 31: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Pruebas con tablas de verdad

Hagamos la tabla de verdad para la proposicionA = ((p → q) ≡ (¬q → ¬p)).

p q ¬p ¬q (p → q)

(¬q → ¬p) ((p → q) ≡ (¬q → ¬p))

0 0 1 1 1

1 1

0 1 1 0 1

1 1

1 0 0 1 0

0 1

1 1 0 0 1

1 1

... la proposicion siempre es verdadera! A es una tautologıa.

18 / 34 Luis Dominguez Matematicas Discretas

Page 32: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Pruebas con tablas de verdad

Hagamos la tabla de verdad para la proposicionA = ((p → q) ≡ (¬q → ¬p)).

p q ¬p ¬q (p → q) (¬q → ¬p)

((p → q) ≡ (¬q → ¬p))

0 0 1 1 1 1

1

0 1 1 0 1 1

1

1 0 0 1 0 0

1

1 1 0 0 1 1

1

... la proposicion siempre es verdadera! A es una tautologıa.

18 / 34 Luis Dominguez Matematicas Discretas

Page 33: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Pruebas con tablas de verdad

Hagamos la tabla de verdad para la proposicionA = ((p → q) ≡ (¬q → ¬p)).

p q ¬p ¬q (p → q) (¬q → ¬p) ((p → q) ≡ (¬q → ¬p))

0 0 1 1 1 1 10 1 1 0 1 1 11 0 0 1 0 0 11 1 0 0 1 1 1

... la proposicion siempre es verdadera! A es una tautologıa.

18 / 34 Luis Dominguez Matematicas Discretas

Page 34: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Pruebas con tablas de verdad

Hagamos la tabla de verdad para la proposicionA = ((p → q) ≡ (¬q → ¬p)).

p q ¬p ¬q (p → q) (¬q → ¬p) ((p → q) ≡ (¬q → ¬p))

0 0 1 1 1 1 10 1 1 0 1 1 11 0 0 1 0 0 11 1 0 0 1 1 1

... la proposicion siempre es verdadera!

A es una tautologıa.

18 / 34 Luis Dominguez Matematicas Discretas

Page 35: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Pruebas con tablas de verdad

Hagamos la tabla de verdad para la proposicionA = ((p → q) ≡ (¬q → ¬p)).

p q ¬p ¬q (p → q) (¬q → ¬p) ((p → q) ≡ (¬q → ¬p))

0 0 1 1 1 1 10 1 1 0 1 1 11 0 0 1 0 0 11 1 0 0 1 1 1

... la proposicion siempre es verdadera! A es una tautologıa.

18 / 34 Luis Dominguez Matematicas Discretas

Page 36: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Pruebas con tablas de verdad

El metodo anterior para determinar si una proposicion essatisfasible o si es una tautologıa, es computacionalmente costoso,ya que requiere un numero exponencial de pasos para su solucion.

¿Es posible encontrar un metodo mas eficiente?

No, es unproblema NP-completo, por lo que probablemente no exista unmetodo rapido (para un numero grande de elementos es imposible).

Sin embargo, es posible trabajar de adelante hacia atras en buscade una proposicion que la haga falsa. (Metodo Gentzen)

19 / 34 Luis Dominguez Matematicas Discretas

Page 37: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Pruebas con tablas de verdad

El metodo anterior para determinar si una proposicion essatisfasible o si es una tautologıa, es computacionalmente costoso,ya que requiere un numero exponencial de pasos para su solucion.

¿Es posible encontrar un metodo mas eficiente? No, es unproblema NP-completo, por lo que probablemente no exista unmetodo rapido (para un numero grande de elementos es imposible).

Sin embargo, es posible trabajar de adelante hacia atras en buscade una proposicion que la haga falsa. (Metodo Gentzen)

19 / 34 Luis Dominguez Matematicas Discretas

Page 38: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Conjuntos completos de conectividad

Definicion

Sea A una formula conteniendo exactamente n sımbolosproposicionales. La funcion HA : BOOLn → BOOL esta definida detal forma que para cada (a1, . . . , an) ∈ BOOLn,

HA(a1, . . . , an) = υ(A)

con υ cualquier evaluacion tal que υ(Pi ) = ai para cada sımboloPi en A.

20 / 34 Luis Dominguez Matematicas Discretas

Page 39: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejemplo

La proposicionA = (p ∧ ¬q) ∨ (¬p ∧ q)

define la funcion de verdad H⊕ dada la siguiente tabla de verdad:

p q

¬p ¬q (p ∧ ¬q) (¬p ∧ q) ((p ∧ ¬q) ∨ (¬p ∧ q))

0 0

1 1 0 0 0

0 1

1 0 0 1 1

1 0

0 1 1 0 1

1 1

0 0 0 0 0

La funcion H⊕ es verdadera sı y solo sı sus argumentos tienenvalores diferentes, por lo que esta funcion es llamada funcion Oexclusivo.

21 / 34 Luis Dominguez Matematicas Discretas

Page 40: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejemplo

La proposicionA = (p ∧ ¬q) ∨ (¬p ∧ q)

define la funcion de verdad H⊕ dada la siguiente tabla de verdad:

p q ¬p

¬q (p ∧ ¬q) (¬p ∧ q) ((p ∧ ¬q) ∨ (¬p ∧ q))

0 0 1

1 0 0 0

0 1 1

0 0 1 1

1 0 0

1 1 0 1

1 1 0

0 0 0 0

La funcion H⊕ es verdadera sı y solo sı sus argumentos tienenvalores diferentes, por lo que esta funcion es llamada funcion Oexclusivo.

21 / 34 Luis Dominguez Matematicas Discretas

Page 41: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejemplo

La proposicionA = (p ∧ ¬q) ∨ (¬p ∧ q)

define la funcion de verdad H⊕ dada la siguiente tabla de verdad:

p q ¬p ¬q

(p ∧ ¬q) (¬p ∧ q) ((p ∧ ¬q) ∨ (¬p ∧ q))

0 0 1 1

0 0 0

0 1 1 0

0 1 1

1 0 0 1

1 0 1

1 1 0 0

0 0 0

La funcion H⊕ es verdadera sı y solo sı sus argumentos tienenvalores diferentes, por lo que esta funcion es llamada funcion Oexclusivo.

21 / 34 Luis Dominguez Matematicas Discretas

Page 42: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejemplo

La proposicionA = (p ∧ ¬q) ∨ (¬p ∧ q)

define la funcion de verdad H⊕ dada la siguiente tabla de verdad:

p q ¬p ¬q (p ∧ ¬q)

(¬p ∧ q) ((p ∧ ¬q) ∨ (¬p ∧ q))

0 0 1 1 0

0 0

0 1 1 0 0

1 1

1 0 0 1 1

0 1

1 1 0 0 0

0 0

La funcion H⊕ es verdadera sı y solo sı sus argumentos tienenvalores diferentes, por lo que esta funcion es llamada funcion Oexclusivo.

21 / 34 Luis Dominguez Matematicas Discretas

Page 43: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejemplo

La proposicionA = (p ∧ ¬q) ∨ (¬p ∧ q)

define la funcion de verdad H⊕ dada la siguiente tabla de verdad:

p q ¬p ¬q (p ∧ ¬q) (¬p ∧ q)

((p ∧ ¬q) ∨ (¬p ∧ q))

0 0 1 1 0 0

0

0 1 1 0 0 1

1

1 0 0 1 1 0

1

1 1 0 0 0 0

0

La funcion H⊕ es verdadera sı y solo sı sus argumentos tienenvalores diferentes, por lo que esta funcion es llamada funcion Oexclusivo.

21 / 34 Luis Dominguez Matematicas Discretas

Page 44: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejemplo

La proposicionA = (p ∧ ¬q) ∨ (¬p ∧ q)

define la funcion de verdad H⊕ dada la siguiente tabla de verdad:

p q ¬p ¬q (p ∧ ¬q) (¬p ∧ q) ((p ∧ ¬q) ∨ (¬p ∧ q))

0 0 1 1 0 0 00 1 1 0 0 1 11 0 0 1 1 0 11 1 0 0 0 0 0

La funcion H⊕ es verdadera sı y solo sı sus argumentos tienenvalores diferentes, por lo que esta funcion es llamada funcion Oexclusivo.

21 / 34 Luis Dominguez Matematicas Discretas

Page 45: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejemplos

Verifique que las siguientes propiedades se mantengan;

|= (A ≡ B) ≡ ((A→ B) ∧ (B → A)); (1)

|= (A→ B) ≡ (¬A ∨ B); (2)

|= (A ∨ B) ≡ (¬A→ B); (3)

|= (A ∨ B) ≡ ¬(¬A ∧ ¬B); (4)

|= (A ∧ B) ≡ ¬(¬A ∨ ¬B); (5)

|= ¬A ≡ (A→⊥); (6)

|=⊥ ≡ (A ∧ ¬A). (7)

|= significa tautologıa, ⊥ significa un valor constante ({0, 1})

22 / 34 Luis Dominguez Matematicas Discretas

Page 46: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Teorema

Principio de dualidad

Sean A y B dos proposiciones de las cuales es posible obtener sudial, entonces si A⇔ B, Ad ⇔ Bd .

23 / 34 Luis Dominguez Matematicas Discretas

Page 47: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Definiciones

I Dos proposiciones A y B son logicamente equivalentes,denotadas como A⇔ B, cuando la proposicion A esverdadera (resp. falsa) sı y solo sı la proposicion B esverdadera (resp. falsa).

I Sea A una proposicion. Si A no tiene conectivas logicasdistintas de wedge y ∨, entonces el dual de A, denotado Ad ,es la proposicion que se obtiene al reemplazar cada ocurrenciade wedge y ∨ con ∨ y ∧ respectivamente, y cada ocurrenciade una tautologıa T0 y una contradiccion F0 con F0 y T0

respectivamente.

24 / 34 Luis Dominguez Matematicas Discretas

Page 48: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejercicios

I Escriba las versiones con parentesis de las siguientesexpresiones:

I ¬p ∧ q → p ∨ rI p ∨ ¬q ∧ r → p ∨ r → ¬qI a→ b ∨ ¬c ∧ d ∧ e → f

I Escriba una secuencia proposicional para ”if A then B else C”

25 / 34 Luis Dominguez Matematicas Discretas

Page 49: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Reglas algebraicas para funciones Booleanas

Cada regla establece que las dos funciones Booleanas confrontadasson equivalentes, esto es, presentan la misma tabla de verdad.

Asociatividad (p ∧ q) ∧ r ⇔ p ∧ (q ∧ r) (p ∨ q) ∨ r ⇔ p ∨ (q ∨ r)Distributiva p ∧ (q ∨ r)⇔ (p ∧ q) ∨ (p ∧ r) p ∨ (q ∧ r)⇔ (p ∨ q) ∧ (p ∨ r)Idempotente p ∧ p ⇔ p p ∨ p ⇔ p

Doble negacion ¬¬p ⇔ pDeMorgan ¬(p ∧ q)⇔ ¬p ∨ ¬q ¬(p ∨ q)⇔ ¬p ∧ ¬q

Comutativas p ∧ q ⇔ q ∧ p p ∨ q ⇔ q ∨ pAbsorcion p ∨ (p ∧ q)⇔ p p ∧ (p ∨ q)⇔ p

Lımite p ∧ 0⇔ 0; p ∧ 1⇔ p p ∨ 1⇔ 1; p ∨ 0⇔ pNegacion p ∧ (¬p)⇔ 0 p ∨ (¬p)⇔ 1

Neutro p ∨ F0 ⇔ p p ∧ T0 ⇔ pInversas p ∨ ¬p ⇔ T0 p ∧ ¬p ⇔ F0

Dominacion p ∨ T0 ⇔ T0 p ∧ F0 ⇔ F0

26 / 34 Luis Dominguez Matematicas Discretas

Page 50: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejercicio

Simplifique la siguiente proposicion:

I (¬(p ∧ ¬q)) ∧ (p ∨ q)

Respuesta: q

27 / 34 Luis Dominguez Matematicas Discretas

Page 51: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejercicio

Simplifique la siguiente proposicion:

I (¬(p ∧ ¬q)) ∧ (p ∨ q)

Respuesta: q

27 / 34 Luis Dominguez Matematicas Discretas

Page 52: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Solucion

(¬(p ∧ ¬q)) ∧ (p ∨ q)⇔ ((¬p ∧ ¬¬q)) ∧ (p ∨ q)

⇔ ((¬p ∧ q)) ∧ (p ∨ q)

⇔ ((¬p ∨ q) ∧ p) ∨ ((¬p ∨ q) ∧ q)

⇔ (p ∧ (¬p ∨ q)) ∨ (q ∧ (q ∨ ¬p))

⇔ (p ∧ (¬p ∨ q)) ∨ q

⇔ (0 ∨ (p ∧ q)) ∨ q

⇔ (p ∧ q) ∨ q

⇔ q

¿Se puede mejorar?. . .

28 / 34 Luis Dominguez Matematicas Discretas

Page 53: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Solucion 2

(¬(p ∧ ¬q)) ∧ (p ∨ q)⇔ ((¬p ∧ ¬¬q)) ∧ (p ∨ q)

⇔ (¬p ∨ q) ∧ (p ∨ q)

⇔ (q ∨ ¬p) ∧ (q ∨ p)

⇔ q ∨ (¬p ∧ p)

⇔ q ∨ 0

⇔ q

29 / 34 Luis Dominguez Matematicas Discretas

Page 54: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejercicio de Tautologıas

Verifique las siguientes tautologıas

I Asociatividad:I ((A ∨ B) ∨ C ) ≡ (A ∨ (B ∨ C ))I ((A ∧ B) ∧ C ) ≡ (A ∧ (B ∧ C ))

I Conmutabilidad:I (A ∨ B) ≡ (B ∨ A)I (A ∧ B)equiv(B ∧ A)

I Distribuidad:I (A ∨ (B ∧ C )) ≡ ((A ∨ B) ∧ (A ∨ C ))I (A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ (A ∧ C ))

30 / 34 Luis Dominguez Matematicas Discretas

Page 55: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

contiuacion

I De Morgan’s:I ¬(A ∨ B) ≡ (¬A ∧ ¬B)I ¬(A ∧ B) ≡ (¬A ∨ ¬B)

I Idempotencia:I (A ∨ A) ≡ AI (A ∧ A) ≡ A

I Double negation rule:I ¬¬A ≡ A

I Absorption rules:I (A ∨ (A ∧ B)) ≡ AI (A ∧ (A ∨ B)) ≡ A

31 / 34 Luis Dominguez Matematicas Discretas

Page 56: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejercicios de sustitucion2

Verifique si las siguientes proposiciones son una tautologıa:

I ((¬p ∨ q) ∧ (p ∨ ¬r)) ∧ (¬p ∨ ¬q) ≡ (¬p ∨ r)

I (r ∨ p) ∧ (¬r ∨ (p ∧ q)) ∧ (r ∨ q) ≡ (p ∧ q)

I ¬(p ∨ ¬q) ∨ (¬p ∧ ¬q) ≡ ¬pI (p ∧ (¬(¬p ∨ q))) ∨ (p ∧ q)

2I lost the original of this page T T32 / 34 Luis Dominguez Matematicas Discretas

Page 57: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejercicios de sustitucion2

Verifique si las siguientes proposiciones son una tautologıa:

I ((¬p ∨ q) ∧ (p ∨ ¬r)) ∧ (¬p ∨ ¬q) ≡ (¬p ∨ r)

I (r ∨ p) ∧ (¬r ∨ (p ∧ q)) ∧ (r ∨ q) ≡ (p ∧ q)

I ¬(p ∨ ¬q) ∨ (¬p ∧ ¬q) ≡ ¬pI (p ∧ (¬(¬p ∨ q))) ∨ (p ∧ q)

2I lost the original of this page T T32 / 34 Luis Dominguez Matematicas Discretas

Page 58: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejercicios de sustitucion2

Verifique si las siguientes proposiciones son una tautologıa:

I ((¬p ∨ q) ∧ (p ∨ ¬r)) ∧ (¬p ∨ ¬q) ≡ (¬p ∨ r)

I (r ∨ p) ∧ (¬r ∨ (p ∧ q)) ∧ (r ∨ q) ≡ (p ∧ q)

I ¬(p ∨ ¬q) ∨ (¬p ∧ ¬q) ≡ ¬p

I (p ∧ (¬(¬p ∨ q))) ∨ (p ∧ q)

2I lost the original of this page T T32 / 34 Luis Dominguez Matematicas Discretas

Page 59: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Ejercicios de sustitucion2

Verifique si las siguientes proposiciones son una tautologıa:

I ((¬p ∨ q) ∧ (p ∨ ¬r)) ∧ (¬p ∨ ¬q) ≡ (¬p ∨ r)

I (r ∨ p) ∧ (¬r ∨ (p ∧ q)) ∧ (r ∨ q) ≡ (p ∧ q)

I ¬(p ∨ ¬q) ∨ (¬p ∧ ¬q) ≡ ¬pI (p ∧ (¬(¬p ∨ q))) ∨ (p ∧ q)

2I lost the original of this page T T32 / 34 Luis Dominguez Matematicas Discretas

Page 60: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Lectura

3.3.5.- Problemas NP-Completos.

33 / 34 Luis Dominguez Matematicas Discretas

Page 61: Matemáticas Discretas - Lógicaldominguez/files/logic.pdf6/34 Luis Dominguez Matem aticas Discretas Numero de funciones booleanas II De hecho no, porque una funcion puede tener dos

Bibliography

I Ricardo Landa,Matematicas Discretas. Breves Notas del Curso

I Jean H. GallierLogic for computer science: foundations of automatic theoremproving,1985. ISBN 0-06-042225-4. Harper & Row Publishers, Inc. NewYork, NY, USA,

I James L. HeinDiscrete Structures, Logic, and Computability,2009. ISBN 978-0763772062. Jones & Bartlett Publishers

I Edward A. Bender and S. Gill WilliamsonLectures in Discrete Mathematicshttp://cseweb.ucsd.edu/˜gill/BWLectSite/

34 / 34 Luis Dominguez Matematicas Discretas