1.Logica MDL

31
MATEMATICA DISCRETA Y LÓGICA Grado en Ingeniería Informática TEMA 1: -LOGICA MATEMÁTICA- Apuntes de Fernando Barber Miralles

description

Matematicas discreta y logica

Transcript of 1.Logica MDL

  • MATEMATICA DISCRETA Y LGICAGrado en Ingeniera Informtica

    TEMA 1:-LOGICA MATEMTICA-

    Apuntes 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. LaLgica es un mtodo que permite la derivacin de nuevas expresiones simblicas, dados unconjunto de expresiones iniciales (llamados axiomas) y un conjunto de reglas de inferencia (unaconvencin 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 laInformtica puede definirse como lgica aplicada. En cualquier caso la encontraremos en muchasmaterias:

    -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 y1854 fruto de los trabajos de Georges Boole (1815-1864) publicados bajo el ttulo de Las leyes delpensamiento. La observacin bsica de Boole fue la de detectar la similitud entre los operacioneslgicas Y(and) y O (or) y las operaciones aritmticas producto y suma- Ello le permitidesarrollar un sistema de manipulacin de expresiones lgicas, que era tan preciso operando sobreestas expresiones, como lo es la aritmtica para manipular nmeros.

    1.2. Historia de la LgicaLa lgica naci hace 2500 aos, creada por Aristteles y los Estoicos, y permaneci casi sincambios durante ms de 2000 aos. A este respecto, en el siglo XVIII, Kant estuvo estudiando lalgica y llego a la conclusin de que Aristteles empez y termino la lgica, y no haba ms que sepudiera mejorar.

    A mediados del siglo XIX, Boole y posteriormente Frege, matematizan la lgica, permitiendo ungran desarrollo de sta (gracias al desarrollo de las matemticas) y la creacin de nuevos tipos delgica.

    A la lgica de Aristteles se le denomina normalmente lgica clsica, y a la lgica actual, lgicamatemtica o lgica simblica.

    Ejemplo:

    Log. Clsica Log. Matemtica

    Si A entonces B; pero no B. A B, ~B ~APor tanto no A

    La lgica matemtica distingue adems entre el lenguaje lgico y el metalenguaje y las reglas deinferencia.

    La lgica que se utiliza actualmente es la lgica matemtica, y es la que utilizaremos nosotros.

    2

  • 1.3. Lenguajes FormalesPara 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 permitenpasar 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, lascondiciones bajo las cuales las frmulas son ciertas o falsas.

    Segn el vocabulario, sintaxis y reglas que definamos tendremos diferentes tipos de lgica. Enconcreto nosotros estudiaremos dos tipos distintos: Lgica Proposicional y Lgica de Predicados.

    2. LGICA PROPOSICIONALDef. (Proposicin): Frase que es, o bien verdadera (V), o bien falsa (F).

    Ejemplo de proposiciones:Est lloviendoHace froEst lloviendo y hace frio

    No son proposiciones:El valor de X est entre 1 y 10. -> Lgica de predicadosEsta frase es falsa. -> Paradoja

    Definicin informal de lgica proposicional:La Lgica proposicional estudia argumentaciones lgicas en donde se utilizan nicamenteproposiciones.

    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: ~, , , ,

    3

  • Tabla I. Los operadores lgicos

    Prioridad Smbolo Equivalente encastellano

    Significado

    + no Negacin y Conjuncin o Disyuncin implica Implicacin

    - si y solo si 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 unaproposicin en trminos de una o ms proposiciones ya existentes, las cuales pueden haber sidoconstruidas utilizando las reglas 3 y 4, y as sucesivamente. Sin embargo, debido a que existenproposiciones elementales formadas utilizando las reglas 1 y 2, que no utilizan la palabraproposicin en la definicin, el proceso para determinar si algo es una proposicin, utilizando estasreglas, 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 sonproposiciones vlidas:

    1- p2- q3- ( 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 sonexpresiones. 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 unaproposicin:

    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 parntesisjuegan 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 lgicoverdadero o falso.

    Definicin (Estado de una proposicin): Sean p1, ..., pn las variables de una proposicin. Elestado de la proposicin es el resultado de asignar los valores booleanos verdadero o falso a cadauna de las variables p1, ..., pn.

    Por ejemplo, supongamos que tenemos la proposicin p q. Puesto que la proposicin consta slode 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 lasfunciones con dominios infinitos (tales como N o R), la funcin p q tiene un dominio tan reducidoque pueden tabularse sus valores para todos los estados posibles de sus variables. estas tablasreciben el nombre de tablas de verdad.

    Def. (Tabla de Verdad): La tabla de verdad de una proposicin es la descripcin de todos losposibles estados de la proposicin.

    p q p qverdadero verdadero verdaderoverdadero falso verdadero

    falso verdadero verdaderofalso falso 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 lasvariables, o ambas, valga verdadero; en caso contrario valdr falso.

    5

  • Utilizando las tablas de verdad podremos definir el significado (semntica) de cada uno de losoperadores. Con ello tendremos definida la semntica de la lgica proposicional.

    Negacin: Conjuncin:

    p p p q p qverdadero falso verdadero verdadero verdaderofalso verdadero verdadero falso falso

    falso verdadero falsofalso falso falso

    a) b)

    p q p q p q p qverdadero verdadero verdadero verdadero verdadero verdaderoverdadero falso falso verdadero falso falsofalso verdadero verdadero falso verdadero falsofalso falso verdadero falso falso verdadero

    c) 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 pvale 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 yhace fro, la afirmacin sigue siendo vlida. Sin embargo, si no llueve la ley sigue siendo vlida. Elhecho de que no llueva y haga calor no contradice la afirmacin. Tampoco la contradice el que nollueva y haga fro. Por tanto, en la nica situacin en la que se contradice la afirmacin p q, y enla 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 paracualquier proposicin.

    Cuando una proposicin involucra a ms de un operador, la evaluacin de su valor se realizasiguiendo el orden de prioridad de los operadores. Esto se ilustra en el Ejemplo 3.

    6

  • Ejemplo 3. Para construir la tabla de verdad de (p q) p comenzamos por p y q, acontinuacin, se deriva la tabla para cada subproposicin (p q) y p, combinandofinalmente los resultados utilizando la tabla de verdad de la operacin . Habitualmente setrabaja siempre de izquierda a derecha, tal y como se muestra abajo:

    p q (p q) p (p q) pverdadero verdadero verdadero falso falsoverdadero falso verdadero falso falso

    falso verdadero verdadero verdadero verdaderofalso falso falso verdadero verdadero

    Una forma alternativa de construir tablas de verdad es la de escribir la operacin una nica vez ycolocar 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 semuestra en la tabla de verdad siguiente:

    p q (p q) pverdadero verdadero verdadero falso falsoverdadero falso verdadero falso falso

    falso verdadero verdadero verdadero verdaderofalso falso falso verdadero verdadero

    En este caso, comenzamos rellenando las columnas de p y q; a continuacin, rellenamos lacolumna de (p q); a continuacin, la de p, y finalmente la columna correspondiente a . Latabla de verdad de la proposicin completa se corresponde con los valores de la ltima columna dems a la derecha.

    El nmero de filas de una tabla de verdad crece exponencialmente con el nmero devariables presentes en la proposicin. Es decir, si una proposicin tiene una variable como, porejemplo, p, su tabla de verdad tiene dos filas. Proposiciones con dos variables como p q tienentablas de verdad de cuatro filas. Proposiciones de tres variables tendrn ocho filas, puesto que

    existen 23 = 8 formas diferentes de asignar los valores verdadero y falso a las tres variables. En

    general, el tamao de una tabla de verdad con n variables ser de 2n filas. Por este motivo, si

    trabajamos con ms de cuatro o cinco variables, el tamao de las tablas de verdad resultainmanejable.

    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 verdaderoen la ltima columna de la evaluacin de la proposicin. Formalmente, estas proposiciones recibenel nombre de tautologas.

    Definicin: Una tautologa es una proposicin que se evala a verdadero en cualquierestado.Definicin: Una contradiccin es una proposicin que se evala a falso en cualquierestado.

    7

  • 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 lainformtica, 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, podemosdesarrollar su tabla de verdad y examinar la columna ms a la derecha para comprobar quetodas las entradas son verdadero.

    p q p q (p q) p (p q) p) qverdadero verdadero verdadero verdadero verdaderoverdadero falso falso falso verdadero

    falso verdadero verdadero falso verdaderofalso falso verdadero falso verdadero

    Ejemplo 6. La proposicin p p es una contradiccin. esto puede verse en la tabla deverdad siguiente:

    p p p pverdadero falso falso

    falso verdadero falso

    Esto confirma algo intuitivo: es imposible para una proposicin ser simultneamente verdadera yfalsa. Igualmente, p p es una tautologa.

    p p p pverdadero falso verdadero

    falso verdadero verdadero

    La aseveracin de que p p es una tautologa recibe el nombre de ley de exclusin delcaso intermedio. Es decir, para cualquier proporcin, ella misma o su negacin deben ser cierta; noexiste una tercera posibilidad. Se han desarrollado otros modelos lgicos que no incluyen la ley deexclusin del caso intermedio, estos modelos son de gran utilidad en el estudio de las bases dedatos. La ley de exclusin del trmino medio, junto con el hecho de que la proposicin p p esuna contradiccin, nos indica que cualquier proposicin, o es una tautologa o no lo es; no puede serambas cosas al mismo tiempo.

    Para indicar que una expresin es una tautologa se utiliza la conclusin semntica: p p

    2.2.2. Equivalencia

    Def. (Equivalencia): Se dice que dos proposiciones p y q son equivalentes y lo simbolizamos comop q, si tienen el mismo valor para cada estado., En otras palabras, p y q son equivalentes si tienenla misma tabla de verdad.

    Por tanto, una forma de comprobar si dos proposiciones son equivalentes es escribiendo su tabla deverdad.

    8

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

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

    falso verdadero falsofalso falso falso

    Los valores de la ltima columna de la tabla son exactamente los mismos que los de la columna dela p; por tanto, podemos decir que (p q) (p q) es equivalente a p. Por tanto, si en algunasituacin 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 siguienteteorema.

    Teorema. Dos proposiciones p y q son equivalentes, si y slo si la proposicin p q es unatautologa. 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 estadop 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 esfalso. Puesto que p q es una tautologa, q tiene que ser tambin falso. Igualmente, si S es unestado 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 queconviene conocer.

    Tabla 2. Equivalencias importantes.

    Leyes Nombrep p V Ley de exclusin del trmino mediop p F Ley de contradiccinp F p Leyes de identidadp V pp V V Leyes de dominacinp F Fp p p Leyes de idempotenciap p p ( p) p Ley de doble negacinp q q p Leyes conmutativasp q q pp (q r) (p q) r Leyes asociativasp (q r) (p q) r

    9

  • p (q r) (p q) (p r) Leyes distributivasp ( q r) (p q) (p r) (p q) p q Leyes de De Morgan (p q) p qp q p q Definicin de la implicacinp q (pq) (qp) 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, laspropiedades conmutativa, asociativa y distributiva permiten la simplificacin de expresionesaritmticas. De una forma similar la asociatividad, conmutatividad y distributividad introducidas enla Tabla 2 permiten la simplificacin de proposiciones lgicas.Estas propiedades se utilizan de diversas maneras. Por ejemplo, la conmutatividad se utiliza parareordenar las proposiciones y as poder realizar otras simplificaciones. La asociatividad permite laeliminacin de parntesis. Por ejemplo, puesto que p (q r) (p q) r, de forma equivalentees posible escribir p q r. Las leyes de la distributividad permiten la factorizacin de lasproposiciones. Esta ley es totalmente equivalente a la ley aritmtica que permite escribir 3 x 5 + 3 x7 = 3 x (5 + 7). Las leyes de De Morgan son de gran utilidad cuando se trabaja con expresiones queincluyen negaciones. La ley de la implicacin permite escribir expresiones equivalentes a laimplicacin, pero utilizando slo , y .

    Para comprobar que las equivalencias presentadas son correctas, es suficiente construir una tabla deverdad para cada lado de la equivalencia y verificar que ambas tablas son idnticas. demostraremoslo 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 verdadde la forma siguiente:

    p q p q p q (pq)(pq)

    verdadero verdadero verdadero verdadero verdaderoverdadero falso falso falso verdadero

    falso verdadero verdadero verdadero verdaderofalso falso verdadero verdadero verdadero

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

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

    falso verdadero verdadero falso verdadero verdaderofalso falso verdadero 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 simplificacinel 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 proposicinoriginal.

    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 leyparticular en la parte derecha. La proposicin de la izquierda es siempre equivalente a la del pasoinmediatamente anterior, en virtud de la propiedad escrita en la derecha. Por ejemplo, supongamosque 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) Ley de implicacin3. p (q r) Distributividad4. p (q r) Ley de la implicacin

    Donde puede observarse que la proposicin del paso 2 resulta de la del paso 1, tras la aplicacin dela ley de la implicacin. La del paso 3 se obtiene de la del 2 aplicando la distributividad, y la del 4se 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 parademostrar de nuevo que lo es. En este caso demostraremos que la proposicin anterior esequivalente 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 excluido10. verdadero Ley de Dominacin

    El ejemplo 10 se ha desarrollado con excesivo detalle; cada propiedad se ha aplicado en unpaso separado. cuando nos familiaricemos ms con estas propiedades, ser posible abreviar losclculos. De hecho, es lo mismo que en el caso del lgebra, donde nuestra familiaridad y costumbreen la manipulacin de expresiones complejas nos permite la simplificacin mediante la aplicacinde 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 condicionesdiferentes, que estn conectados con el operador . En la simplificacin se extrae q de ambas, deforma 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)) Ley de la implicacin, negacin3. (p q) (pr)(pq) (ps) Distributividad, asociatividad4. ((p p) q) (p r) (p s) Conmutatividad, distributividad5. q (p r) (p s) Ley de la contradiccin

    -simplificacin6. q (p r) (p s) Ley de la implicacin

    11

  • 2.3-RAZONAMIENTO EN LGICA PROPOSICIONALEn esta seccin vamos a analizar algunos aspectos fundamentales del razonamiento conproposiciones.

    Definicin. Entendemos por razonamiento vlido o demostracin la obtencin de nuevasproposiciones (llamadas conclusiones) a partir de otras (llamadas premisas) que se suponenverdaderas.

    En otras palabras, el desarrollo de nueva informacin a partir de otra dada. En cierto modo, con lasdemostraciones 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 tambincundo una proposicin arbitraria es una tautologa. Este ltimo caso consiste en una demostracinsin 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) rr Premisasqp Conclusion

    o utilizando el smbolo de conclusin semntica:(p q) r, r, q p

    12

  • construimos la tabla de verdad segn el mtodo anterior:

    Variables

    Premisas

    Conclusin

    p Q r r q (p q) r

    p

    V V V F* F* V FV V F V F* V VV F V F* V V FV F F V V F* VF V V F* F* V FF V F V F* V VF F V F* V V FF F F V V V V

    Tras eliminar todas las lneas donde alguna premisa es falsa, slo queda la ltima lnea, quecorresponde 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 proposicionessencillas, pero resultan tediosas cuando las proposiciones contienen ms de tres o cuatro variables uoperadores. Por tanto, pretendemos encontrar una metodologa alternativa que nos permita llegar aconclusiones vlidas de una forma legtima.

    Definicin. Llamamos derivacin a un tipo de demostracin consistente en una lista deexpresiones lgicas, cada una de las cuales se obtiene a partir de las anteriores medianteuna regla de inferencia.

    El proceso de demostracin es una extensin de la metodologa desarrollada para simplificarproposiciones. Sin embargo, las demostraciones contienen un ingrediente adicional de granimportancia: se realiza una inferencia a partir de una suposicin. Las inferencias de unademostracin se realizan aplicando un reducido conjunto de reglas de inferencia. Es decir, las reglasde inferencia permiten obtener proposiciones a partir de otra, de las que se conocen si sonverdaderas o se supone que lo son. Estas reglas se resumen en la Tabla 3 que fue desarrollada por elmatemtico alemn Gerhard Gentzen. En ella se reflejan las reglas de inferencia que se utilizan enel razonamiento normal, y que constituyen las bases de la mayora de los estudios y aplicaciones dela lgica formal. Cada regla de la tabla tiene la forma:

    p Premisasq 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 obtenerseo ser inferida en el siguiente paso de la demostracin. As, la regla denominada -introduccin enlas tablas permite realizar la inferencia p q en cualquier paso de la demostracin, en la que paparece como suposicin y q como conclusin en un paso subsiguiente.

    13

  • Tabla 3. Reglas de inferencia

    Reglas de Introduccin Reglas de EliminacinII EI (Modus Ponens)

    ImplicacinIC 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 oportunidadpara introducir la notacin y estilo de las demostraciones.

    Ejemplo: Demostrar p p:

    1. [p]2. p 13. p p 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 presentarsesangrados, 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 seobtiene del 1 directamente. Colocamos un 1 en la columna de la derecha de la demostracin comojustificacin del paso realizado. A continuacin utilizamos la regla de inferencia II (sustituyendo ppor q en la frmula general de la tabla 3.3) con lo que se concluye en el paso 3 que p p es unatautologa.

    Para indicar que a partir de unas premisas se deduce una conclusin mediante una demostracinformal se utiliza el smbolo .

    p pSe puede demostrar mediante tablas de verdad que las reglas presentadas son semnticamentecorrectas.

    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 conseguimosllegar 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 Tollensp 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 quehacemos es demostrar las dos implicaciones utilizando la regla II.

    La demostracin de la coimplicacin nos ser muy til para demostrar equivalencias, puesto que yavimos 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 completitudUn 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 lgicaproposicional son las tablas de verdad.

    15

  • La ciencia que estudia la correspondencia entre un sistema formal y su semntica se llamaMetolgica.

    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 nuncava a derivar una conclusin contradictoria?.

    Cuando un sistema cumple esta condicin se dice que es consistente, en caso contrario esinconsistente.

    Para averiguar si un sistema es consistente, lo que hay que hacer es comprobar que toda frmulaque se pueda deducir del sistema mediante las reglas de inferencia es semnticamente cierta:

    Para toda frmula A, Si A entonces AVisto 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 quededucimos. De hecho, si un sistema es capaz de deducir una contradiccin, es capaz de deducircualquier 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 elsistema es incompleto.

    Un sistema ser completo si todas las frmulas que son ciertas se pueden deducir mediante elsistema:

    Para toda frmula A, Si A entonces AVisto 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 ycompleto:

    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 deducibleo no en el sistema?

    Esta pregunta es especialmente interesante para la informtica, pues indica si existe un algoritmocapaz 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 sepuede 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 existeun 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, incompletase indecidibles.

    (NOTA: Poner ejemplo de los tres con la suma matemtica)

    17

  • 3. LGICA DE PREDICADOS3.1. INTRODUCCINExisten numerosos argumentos que aparentemente son perfectamente lgicos, pero que no sonrepresentables mediante la lgica proposicional. Por ejemplo, el siguiente razonamiento:

    1 Todos los gatos tienen cola p2 Tom es un gato qPor consiguiente: ---3 Tom tiene cola r ??

    Aparentemente es perfectamente vlido, pero no hay forma de deducirlo utilizando lgicaproposicional. Para poder representar este tipo de razonamiento introduciremos dos conceptosnuevos: 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 elejemplo seran predicados "tener cola" y "ser gato" y un individuo sera "Tom". Los individuos uobjetos se denominan trminos.

    Los cuantificadores nos indican para que elementos de un cierto dominio es verdadera la frase. Slotenemos dos opciones (y sus negaciones): Para todos los elementos del dominio (cuantificadoruniversal ) y para al menos un elemento del dominio (cuantificador existencial ).

    De esta forma, el razonamiento que hemos escrito antes lo podemos reescribir en lgica depredicados:

    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 especificarun algoritmo para escribir un valor concreto en todas las posiciones de un vector se hara de lasiguiente 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 todoslos elementos del vector sean igual a valor. Como se puede ver en este ejemplo, al cuantificador sele ha puesto el dominio en el cual es aplicable (de 1 a N). Cuando no se ponga dominio ser porquese sobreentiende o porque es aplicable a cualquier elemento. El dominio tambin se denomina aveces universo del discurso.

    La lgica de predicados puede ser de primer orden o de orden superior. La lgica queveremos aqu es de primer orden, que se caracteriza porque los cuantificadores actan slo sobretrminos y no sobre predicados: no son admisibles enunciados del tipo "Para todo predicadoP(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 deLeibnitz, 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, loque 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): PROLOGa) Conjunto de smbolos predicados: P={p1,p2,...}b) Conjunto de variables individuales: Var={v1,v2,...} X, Y, ...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

    Trminos:a) Todas las constantes individuales son trminosb) Todas las variables individuales son trminosc) 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 querepresentan un elemento), nmeros enteros, reales y los valores lgicos verdadero y falso. Cadaconstante ha de representar un nico elemento.

    Las funciones, como trminos que son, representan individuos u objetos; no hay que confundirlascon predicados. As, una funcin que podra servir para representar a una persona podra ser lasiguiente:

    persona(pepe, perez, perez)

    Como funciones sobre nmeros enteros y reales pueden aparecer operaciones aritmticas (+, *,etc.):

    19

  • +(2, 3) o en notacin infija: 2 + 3Ntese que las funciones matemticas siguen representando elementos del dominio, en este casoenteros.Las operaciones relacionales (, , =, , , etc.), que tienen el valor verdadero o falso,resulta ms correcto tratarlas como predicados, aunque en general cualquier predicado puede serconsiderado como una funcin que representa un valor booleano, pero en este caso estaramos enuna lgica de orden superior.

    3.2.1. Los cuantificadores universal y existencialComo ya hemos comentado, el cuantificador universal () es equivalente ms o menos al castellanopara todo. La frmula siguiente:

    : 1 10: v[] = valor

    significa que para todos los valores de entre 1 y 10, v[] = valor. El cuantificador universal sepuede considerar tambin como la repeticin de la conjuncin, por lo que lo frmula anterior esequivalente 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, queutiliza 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, estncolocados en orden creciente (vase Figura 4.)

    i {1, 2, ..., j - 2}: ei ei+1

    (1 3 5 6 7 9 2 8 4) ^ ^ e1 ej

    El otro cuantificador de inters es el cuantificador existencial, simbolizado por . Susignificado 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 esteoperador.

    Por ejemplo, si queremos decir que el vector v contiene al menos un cero, se escribira de lasiguiente 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 abreviadautilizando 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

    d) Existen enteros a b y c, distintos de cero, que verifican a3

    + b3 = c

    3.

    a, b, c 0: a3 + b

    3 = c

    3

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

    i: R(i) : P(i) i: R(i): P(i) (1) i: R(i) : P(i) i: R(i): P(i) (2)

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

    (P(1) P(2)) P(1) P(2) (3.3)(P(1) P(2)) P(1) P(2) (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 . Estoscuantificadores 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 predicadoP. Min devuelve el valor mnimo de la funcin f(i), donde i est restringida al rango especificadopor R. Max es similar a Min pero devuelve el valor mximo.

    Ejemplo 28. Las expresiones siguientes muestran la utilizacin de estos cuantificadores. Elvalor que resulta de evaluarlas aparece a la derecha:

    a) i {0, ..., 3}: i2 - i = 0 + 0 + 2 + 6 = 8

    b) i {1, ..., 4}: i2 = 1 x 4 x 9 x 16 = 576

    c) N i {0, ..., 3}: i2 > i = 2

    d) Min i {0, ..., 3}: i2 - i = 0

    e) Max i {0, ..., 3}: i2 - i = 6

    Dominio nulo:

    El dominio de los cuantificadores (excepto min y max) puede ser nulo. Cuando esto sucede, elresultado de la expresin es el elemento neutro de la operacin asociada al cuantificador.

    : 1

  • : 1
  • 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 podemoscambiar de nombre una variable ligada, las variables ligadas se pueden ver como variables localesal 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 validezSea 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 lasapariciones de la variable por los diferentes valores del dominio, unidos por la operacin asociada alcuantificador:

    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 significadode constantes y predicados determinado.

    Def: Diremos que una fbf es satisfacible (o viable) si existe al menos una interpretacin que lahaga cierta.En la frmula anterior, si al predicado le damos el significado "menor que 5", entonces la fbf seraverdadera, con lo que si que es satisfacible. En este caso decimos que esta interpretacin satisfacela fbf.

    Definicin. Una fbf (A) que se satisface para todas las interpretaciones se dice que es vlida y serepresenta 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 paraproposiciones para posteriormente volver a aadir los cuantificadores. Para introducir y eliminar loscuantificadores tenemos las reglas de la Tabla 4, que junto con las reglas de la lgica proposicionalforman las reglas de la lgica de predicados.

    Los pasos a realizar para realizar razonamientos en lgica de predicados son por tanto lossiguientes:

    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 14 tiene_cola(tom) EI 2,3

    Introduccin del generalizador:Tambin llamada generalizacin. Consiste en la aplicacin de que lo que vale para un casocualquiera, vale para todo caso.

    Para aplicar esta regla la condicin es que debemos tener un elemento genrico del dominio, esdecir, un elemento que podra ser cualquiera de los elementos del dominio. Esto implica que esteelemento 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 sonprimos. 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 24 negro(a) amarillo(a) ID 35 [X: amarillo(X) ]6 amarillo(a) EG 57 negro(a) amarillo(a) ID 68 negro(a) amarillo(a) ED 1-79 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 13 [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) Premisa12. X (hombre(X) mortal(X)) Premisa2

    3 hombre(socrates) mortal(socrates) EG 24 mortal(socrates) EI 1,35 X : mortal(X) IP 4

    Eliminacin de particularizador:Se basa en que si sabemos que existe algn individuo que cumple una propiedad P, entoncespodemos suponer que existe un individuo concreto con esa propiedad y darle un nombreimaginario.

    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 seconsidera 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 lasconclusiones.

    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) EG 15 mortal(a) EI 3,46 X : mortal(X) IP 57 X : mortal(X) 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 induccinLa 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 lasmatemticas. Es decir, los mtodos de demostracin inductivos se utilizan en la verificacin formalde programas. La induccin tiene tambin una relacin muy estrecha con el concepto matemticode 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 quees cierta para 0 y que es cierta para un n cualquiera suponiendo que ya es cierta para n 1. En lademostracin 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 ModusPonens:

    P(0)P(0) P (1) P(1)P(1) P (2) P(2)

    . . . . . . . . .

    27

  • Combinando las dos primeras lneas es posible concluir, utilizando modus ponens, que P(2) esvlido. 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 queestamos aplicando un cuantificador al predicado P.

    El principio de induccin es tambin fundamental en informtica puesto que en el se basan laverificacin de la recursividad y los bucles, de hecho la recursividad es una aplicacin directa delprincipio de induccin:

    Ejemplo Factorial.

    int fact(int n){

    if(n == 0)f = 1; // Base de Induccin

    elsef = fact(n 1) * n; // Paso de Induccin

    return f;}

    28

  • 4 PRINCIPIO DE INDUCCIN

    El principio de induccin matemtica es una herramienta muy utilizada en todo tipo dedemostraciones. En esta asignatura lo utilizaremos para la demostracin de ciertas propiedadessobre TADs, para la verificacin de funciones recursivas y de bucles y para calcular costes defunciones recursivas.

    Existen 3 variantes del principio de induccin: induccin dbil, induccin fuerte e induccin generalo noetheriana.

    4.1-INDUCCIN DBILEs el principio de induccin ms bsico y ms conocido y est definido sobre el conjunto de losnaturales.

    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 quees cierta para 0 y que es cierta para un n cualquiera suponiendo que ya es cierta para n 1. En lademostracin 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 NEjemplo (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 FUERTEEn la induccin, para demostrar el caso n (paso de induccin) se puede suponer no slo que el casoinmediatamente anterior es cierto sino que cualquier caso anterior es cierto. En este caso sedenomina 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 siendo F(n):

    1 n = 1

    F(n) = F( n/2 ) + 1 n > 1

    4.3-PRINCIPIO DE INDUCCIN GENERAL O NOETHERIANOEl principio de induccin tambin puede aplicarse a dominios que no sean naturales siempre queexista una cierta relacin de orden. Es lo que se denomina el principio de induccin general onoetheriano.

    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 xtransitiva: 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 = yDef (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 sino 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 existenen D sucesiones infinitas estrictamente decrecientes, es decir:

    {xi} tales que i N, xi+1 xiUn ejemplo de preorden bien fundado es la relacin de los naturales o tambin el ordenlexicogrfico.

    Teorema: Si 2 es un pbf en D2, D1 un conjunto, f: D1 D2 una aplicacin y a, b D1 ydefinimos 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 relacinser un pbf, pues podemos encontrar una aplicacin mediante la cual se defina este orden a partirdel 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 seaun pbf. Por ejemplo, el orden lexicogrfico si el dominio de m y n es infinito (N o Z o ...); si eldominio es finito si que se puede, como las fechas.

    Teorema (Principio de induccin noetheriano): Sea un pbf en D, P(x) una propiedad sobre loselementos 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 elprincipio de induccin. A estas propiedades las denominaremos teoremas inductivos. Adems,puesto que el dominio no son naturales, tendremos que utilizar el principio de induccinnoetheriano. Para garantizar que tenemos un pbf utilizaremos normalmente la funcin de tamaodel 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