Introduccion a los Algoritmos´ Calculo...

Post on 10-Jul-2020

9 views 0 download

Transcript of Introduccion a los Algoritmos´ Calculo...

Introduccion a los AlgoritmosCalculo Proposicional

Pedro Sanchez Terraf

CIEM-FaMAF — Universidad Nacional de Cordoba

FaMAFUNC

26 de abril de 2017

Contenido

1 Validez y SatisfactibilidadTablas de Verdad

2 Repaso de demostraciones

3 Demostraciones con expresiones booleanasVariantes en demostraciones con booleanos

Asociatividad de ≡Conmutatividad de ≡

Axiomas y TeoremasReglas para demostrar teoremas

4 Tarea.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 2 / 15

Expressiones Booleanas Validas y Satisfactibles

Una expresion de tipo Bool puede ser:

1 valida si es True para todos los valores de sus variables (puedodemostrar que es equivalente a True);

P. ej.: 2∗ x = x+ x.

2 satisfactible si hay al menos un valor de las variables que las hace True(hay un ejemplo);

P. ej.: x < 5.

3 no valida si es False para algun valor de sus variables; (hay uncontraejemplo);

P. ej.: 2∗ x = 0.

4 no satisfactible si es False para todos los valores de sus variables(puedo demostrar que es equivalente a False);

P. ej.: x+1 = x.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 3 / 15

Expressiones Booleanas Validas y Satisfactibles

Una expresion de tipo Bool puede ser:

1 valida si es True para todos los valores de sus variables (puedodemostrar que es equivalente a True);

P. ej.: 2∗ x = x+ x.

2 satisfactible si hay al menos un valor de las variables que las hace True(hay un ejemplo);

P. ej.: x < 5.

3 no valida si es False para algun valor de sus variables; (hay uncontraejemplo);

P. ej.: 2∗ x = 0.

4 no satisfactible si es False para todos los valores de sus variables(puedo demostrar que es equivalente a False);

P. ej.: x+1 = x.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 3 / 15

Expressiones Booleanas Validas y Satisfactibles

Una expresion de tipo Bool puede ser:

1 valida si es True para todos los valores de sus variables (puedodemostrar que es equivalente a True); P. ej.: 2∗ x = x+ x.

2 satisfactible si hay al menos un valor de las variables que las hace True(hay un ejemplo);

P. ej.: x < 5.

3 no valida si es False para algun valor de sus variables; (hay uncontraejemplo);

P. ej.: 2∗ x = 0.

4 no satisfactible si es False para todos los valores de sus variables(puedo demostrar que es equivalente a False);

P. ej.: x+1 = x.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 3 / 15

Expressiones Booleanas Validas y Satisfactibles

Una expresion de tipo Bool puede ser:

1 valida si es True para todos los valores de sus variables (puedodemostrar que es equivalente a True); P. ej.: 2∗ x = x+ x.

2 satisfactible si hay al menos un valor de las variables que las hace True(hay un ejemplo);

P. ej.: x < 5.

3 no valida si es False para algun valor de sus variables; (hay uncontraejemplo);

P. ej.: 2∗ x = 0.

4 no satisfactible si es False para todos los valores de sus variables(puedo demostrar que es equivalente a False);

P. ej.: x+1 = x.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 3 / 15

Expressiones Booleanas Validas y Satisfactibles

Una expresion de tipo Bool puede ser:

1 valida si es True para todos los valores de sus variables (puedodemostrar que es equivalente a True); P. ej.: 2∗ x = x+ x.

2 satisfactible si hay al menos un valor de las variables que las hace True(hay un ejemplo); P. ej.: x < 5.

3 no valida si es False para algun valor de sus variables; (hay uncontraejemplo);

P. ej.: 2∗ x = 0.

4 no satisfactible si es False para todos los valores de sus variables(puedo demostrar que es equivalente a False);

P. ej.: x+1 = x.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 3 / 15

Expressiones Booleanas Validas y Satisfactibles

Una expresion de tipo Bool puede ser:

1 valida si es True para todos los valores de sus variables (puedodemostrar que es equivalente a True); P. ej.: 2∗ x = x+ x.

2 satisfactible si hay al menos un valor de las variables que las hace True(hay un ejemplo); P. ej.: x < 5.

3 no valida si es False para algun valor de sus variables; (hay uncontraejemplo);

P. ej.: 2∗ x = 0.

4 no satisfactible si es False para todos los valores de sus variables(puedo demostrar que es equivalente a False);

P. ej.: x+1 = x.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 3 / 15

Expressiones Booleanas Validas y Satisfactibles

Una expresion de tipo Bool puede ser:

1 valida si es True para todos los valores de sus variables (puedodemostrar que es equivalente a True); P. ej.: 2∗ x = x+ x.

2 satisfactible si hay al menos un valor de las variables que las hace True(hay un ejemplo); P. ej.: x < 5.

3 no valida si es False para algun valor de sus variables; (hay uncontraejemplo); P. ej.: 2∗ x = 0.

4 no satisfactible si es False para todos los valores de sus variables(puedo demostrar que es equivalente a False);

P. ej.: x+1 = x.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 3 / 15

Expressiones Booleanas Validas y Satisfactibles

Una expresion de tipo Bool puede ser:

1 valida si es True para todos los valores de sus variables (puedodemostrar que es equivalente a True); P. ej.: 2∗ x = x+ x.

2 satisfactible si hay al menos un valor de las variables que las hace True(hay un ejemplo); P. ej.: x < 5.

3 no valida si es False para algun valor de sus variables; (hay uncontraejemplo); P. ej.: 2∗ x = 0.

4 no satisfactible si es False para todos los valores de sus variables(puedo demostrar que es equivalente a False);

P. ej.: x+1 = x.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 3 / 15

Expressiones Booleanas Validas y Satisfactibles

Una expresion de tipo Bool puede ser:

1 valida si es True para todos los valores de sus variables (puedodemostrar que es equivalente a True); P. ej.: 2∗ x = x+ x.

2 satisfactible si hay al menos un valor de las variables que las hace True(hay un ejemplo); P. ej.: x < 5.

3 no valida si es False para algun valor de sus variables; (hay uncontraejemplo); P. ej.: 2∗ x = 0.

4 no satisfactible si es False para todos los valores de sus variables(puedo demostrar que es equivalente a False); P. ej.: x+1 = x.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 3 / 15

Tablas de Verdad

Temporariamente, vamos a utilizar tablas de verdad para decidirsatisfactibilidad y validez de formulas proposicionales. Luego usaremosdemostraciones.

p q p∨q p∨q≡ qTrue True True TrueTrue False True FalseFalse True True TrueFalse False False True

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 4 / 15

Tablas de Verdad

Temporariamente, vamos a utilizar tablas de verdad para decidirsatisfactibilidad y validez de formulas proposicionales. Luego usaremosdemostraciones.

p q p∨q p∨q≡ qTrue True True TrueTrue False True FalseFalse True True TrueFalse False False True

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 4 / 15

Repaso

5∗ (x+3) = 20≡ { Conmutativa + }

5∗ (3+ x) = 20

Justificacion

Conmutativa de +:

a+b = b+a

Sustituyo a por xSustituyo b por 3para obtener

x+3 = 3+ x.

Debo justificar usando propiedades validas o definiciones.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 5 / 15

Repaso

5∗ (x+3) = 20≡ { Conmutativa + }

5∗ (3+ x) = 20

Justificacion

Conmutativa de +:

a+b = b+a

Sustituyo a por xSustituyo b por 3para obtener

x+3 = 3+ x.

Debo justificar usando propiedades validas o definiciones.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 5 / 15

Repaso

5∗ (x+3) = 20≡ { Conmutativa + }

5∗ (3+ x) = 20

Justificacion

Conmutativa de +:

a+b = b+a

Sustituyo a por xSustituyo b por 3para obtener

x+3 = 3+ x.

Debo justificar usando propiedades validas o definiciones.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 5 / 15

Calculo Proposicional (I)

Justificaremos ahora usando expresiones booleanas validas. Un ejemplo es laConmutatividad de ≡.

r ≡ p∧q≡ r≡ { Conmutatividad ≡ }

p∧q≡ r ≡ r

Justificacion

Conmutatividad de ≡:

(P≡ Q)≡ (Q≡ P)

Sustituyo P por rSustituyo Q por p∧q; obtengo

(r ≡ p∧q)≡ (p∧q≡ r).

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 6 / 15

Calculo Proposicional (I)

Justificaremos ahora usando expresiones booleanas validas. Un ejemplo es laConmutatividad de ≡.

r ≡ p∧q≡ r≡ { Conmutatividad ≡ }

p∧q≡ r ≡ r

Justificacion

Conmutatividad de ≡:

(P≡ Q)≡ (Q≡ P)

Sustituyo P por rSustituyo Q por p∧q; obtengo

(r ≡ p∧q)≡ (p∧q≡ r).

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 6 / 15

Calculo Proposicional (II)

Otra expresion booleana valida es la Definicion⇒.

q≡ r⇒ q≡ r≡ { Definicion⇒ }

q≡ r∨q≡ q≡ r

Justificacion

Definicion⇒:

(P⇒ Q)≡ (P∨Q≡ Q)

Sustituyo P por rSustituyo Q por q; obtengo

(r⇒ q)≡ (r∨q≡ q).

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 7 / 15

Calculo Proposicional (II)

Otra expresion booleana valida es la Definicion⇒.

q≡ r⇒ q≡ r≡ { Definicion⇒ }

q≡ r∨q≡ q≡ r

Justificacion

Definicion⇒:

(P⇒ Q)≡ (P∨Q≡ Q)

Sustituyo P por rSustituyo Q por q; obtengo

(r⇒ q)≡ (r∨q≡ q).

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 7 / 15

Asociando y Conmutando con ≡Hasta ahora todo es igual. Pero las demostraciones con formulasproposicionales (las expresiones booleanas hechas con ≡, ∧, ∨,. . . yvariables de tipo Bool) permiten mucha mas flexibilidad.

Asociando con ≡Puedo agrupar las expresiones separadas por ≡ de la manera que quiera,poniendo parentesis.

EjemploPara la Conmutatividad de ≡, tenemos

(P≡ Q)≡ (Q≡ P)

P≡ (Q≡ Q≡ P)

(P≡ Q≡ Q)≡ P

. . .

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 8 / 15

Asociando y Conmutando con ≡Hasta ahora todo es igual. Pero las demostraciones con formulasproposicionales (las expresiones booleanas hechas con ≡, ∧, ∨,. . . yvariables de tipo Bool) permiten mucha mas flexibilidad.

Asociando con ≡Puedo agrupar las expresiones separadas por ≡ de la manera que quiera,poniendo parentesis.

EjemploPara la Conmutatividad de ≡, tenemos

(P≡ Q)≡ (Q≡ P)

P≡ (Q≡ Q≡ P)

(P≡ Q≡ Q)≡ P

. . .

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 8 / 15

Asociando y Conmutando con ≡Hasta ahora todo es igual. Pero las demostraciones con formulasproposicionales (las expresiones booleanas hechas con ≡, ∧, ∨,. . . yvariables de tipo Bool) permiten mucha mas flexibilidad.

Conmutando con ≡Puedo ordenar las expresiones separadas por ≡ de la manera que quiera (yluego agrupar a placer).

EjemploPara la Definicion de⇒, tenemos

P⇒ Q≡ P∨Q≡ Q

P∨Q≡ P⇒ Q≡ Q

Q≡ P⇒ Q≡ P∨Q

. . .

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 9 / 15

Calculo Proposicional (III): Reagrupando con Asociatividad

r ≡ p∧q≡ r≡ { Conmutatividad ≡ }

p∧q≡ r ≡ r≡ { Conmutatividad ≡ }

p∧q

Justificacion

Conmutatividad de ≡:

(P≡ Q)≡ (Q≡ P)

Sustituyo P por rSustituyo Q por p∧q; obtengo

(r ≡ p∧q)≡ (p∧q≡ r).

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 10 / 15

Calculo Proposicional (III): Reagrupando con Asociatividad

r ≡ p∧q≡ r≡ { Conmutatividad ≡ }

p∧q≡ r ≡ r≡ { Conmutatividad ≡ }

p∧q

Justificacion

Conmutatividad de ≡:

(P≡ Q≡ Q)≡ P

Sustituyo P por p∧qSustituyo Q por r ; obtengo

(p∧q≡ r ≡ r)≡ (p∧q).

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 10 / 15

Calculo Proposicional (IV): Reordenando con Conmutativa

q≡ r⇒ q≡ r≡ { Definicion⇒ }

r∨q≡ r

Justificacion

Definicion⇒:

(P⇒ Q)≡ (P∨Q≡ Q)

Sustituyo P por rSustituyo Q por q; obtengo

q≡ r⇒ q≡ r∨q.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 11 / 15

Calculo Proposicional (IV): Reordenando con Conmutativa

q≡ r⇒ q≡ r≡ { Definicion⇒ }

r∨q≡ r

Justificacion

Definicion⇒:

P⇒ Q≡ P∨Q≡ Q

Sustituyo P por rSustituyo Q por q; obtengo

q≡ r⇒ q≡ r∨q.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 11 / 15

Calculo Proposicional (IV): Reordenando con Conmutativa

q≡ r⇒ q≡ r≡ { Definicion⇒ }

r∨q≡ r

Justificacion

Definicion⇒:

Q≡ P⇒ Q≡ P∨Q

Sustituyo P por rSustituyo Q por q; obtengo

q≡ r⇒ q≡ r∨q.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 11 / 15

Calculo Proposicional (IV): Reordenando con Conmutativa

q≡ r⇒ q≡ r≡ { Definicion⇒ }

r∨q≡ r

Justificacion

Definicion⇒:

Q≡ P⇒ Q≡ P∨Q

Sustituyo P por rSustituyo Q por q; obtengo

q≡ r⇒ q≡ r∨q.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 11 / 15

Axiomas y Teoremas

Fijaremos un conjunto de formulas proposicionales validas y justificaremosnuestras pruebas usando al principio solo ellas.Los axiomas que usaremos estan en la Lista Completa (“Digesto”) en mi web.Definimos intuitivamente (de manera “recursiva”) la nocion de teorema.

Definicion

Un teorema es:

1 un axioma; o sino

2 una formula proposicional equivalente a un axioma o a un teorema yademostrado.

Una version mucho mas detallada y formal de esta definicion la puedenencontrar en el libro “Calculo de Programas”, Capıtulo 3, pp.15-27.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 12 / 15

Axiomas y Teoremas

Fijaremos un conjunto de formulas proposicionales validas y justificaremosnuestras pruebas usando al principio solo ellas.Los axiomas que usaremos estan en la Lista Completa (“Digesto”) en mi web.Definimos intuitivamente (de manera “recursiva”) la nocion de teorema.

Definicion

Un teorema es:

1 un axioma; o sino

2 una formula proposicional equivalente a un axioma o a un teorema yademostrado.

Una version mucho mas detallada y formal de esta definicion la puedenencontrar en el libro “Calculo de Programas”, Capıtulo 3, pp.15-27.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 12 / 15

Axiomas y Teoremas

Fijaremos un conjunto de formulas proposicionales validas y justificaremosnuestras pruebas usando al principio solo ellas.Los axiomas que usaremos estan en la Lista Completa (“Digesto”) en mi web.Definimos intuitivamente (de manera “recursiva”) la nocion de teorema.

Definicion

Un teorema es:

1 un axioma; o sino

2 una formula proposicional equivalente a un axioma o a un teorema yademostrado.

Una version mucho mas detallada y formal de esta definicion la puedenencontrar en el libro “Calculo de Programas”, Capıtulo 3, pp.15-27.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 12 / 15

Teoremas: Como demostrarlos

En la practica, admitiremos un par de reglas extra (que, de todos modos, soncorrectas desde el punto de vista del libro).

1 Todo teorema es equivalente a True.

2 Si pruebo que algo es equivalente a True, entonces es un teorema.

3 Si salgo de una formula E y llego a otra F justificando con teoremas,entonces E ≡ F es un teorema.

Por ejemplo, en ultimo ejemplo probamos que

q≡ r⇒ q≡ r ≡ r∨q≡ r

es un teorema.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 13 / 15

Teoremas: Como demostrarlos

En la practica, admitiremos un par de reglas extra (que, de todos modos, soncorrectas desde el punto de vista del libro).

1 Todo teorema es equivalente a True.

2 Si pruebo que algo es equivalente a True, entonces es un teorema.

3 Si salgo de una formula E y llego a otra F justificando con teoremas,entonces E ≡ F es un teorema.

Por ejemplo, en ultimo ejemplo probamos que

q≡ r⇒ q≡ r ≡ r∨q≡ r

es un teorema.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 13 / 15

Teoremas: Como demostrarlos

En la practica, admitiremos un par de reglas extra (que, de todos modos, soncorrectas desde el punto de vista del libro).

1 Todo teorema es equivalente a True.

2 Si pruebo que algo es equivalente a True, entonces es un teorema.

3 Si salgo de una formula E y llego a otra F justificando con teoremas,entonces E ≡ F es un teorema.

Por ejemplo, en ultimo ejemplo probamos que

q≡ r⇒ q≡ r ≡ r∨q≡ r

es un teorema.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 13 / 15

Calculo Proposicional (IV): Reordenando con Conmutativa

q≡ r⇒ q≡ r≡ { Definicion⇒ }

r∨q≡ r

Justificacion

Definicion⇒:

Q≡ P⇒ Q≡ P∨Q

Sustituyo P por rSustituyo Q por q; obtengo

q≡ r⇒ q≡ r∨q.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 14 / 15

Tareas para ahora mismo

1 Hacer Ejercicios 4a, 4b y 4c del Practico 3 usando tablas de verdad.

2 Leer los axiomas, poniendoles parentesis de acuerdo a la precedencia.

3 ¿De cuantas maneras se puede leer la Definicion de ¬? (es el axiomaA4).

4 ¿Que teorema demostramos en la filmina 10 (pagina 24)?

5 Completar los espacios en blanco, justificando con los axiomas:

¬p≡ q∨ r≡ { }

¬(p≡ q∨ r)≡ { }

p 6≡ q∨ r

6 Entender el ejemplo en el ejercicio 6 del Practico 3.

P. Sanchez Terraf (CIEM-FaMAF — UNC) Calculo Proposicional IntroAlg, 26/04/2017 15 / 15