En lógica porposicional, se está interesado en sentencias declarativas que puedan ser verdaderas o falsas. La forma de representar las sentencias declarativas es a través de proposiciones. Una proposición es una sentencia declarativa que puede ser simple o compuesta; una sentencia compuesta se une a través de conectivas lógicas. Se dice que una formula bien formada es aquella que cumple con ciertas características. Las formulas pueden ser muy complejas pero para su estudio éstas se pueden reducir a su forma mas simple (forma normal); existen la forma normal conjuntiva y la forma normal disyuntiva. Este documento presenta el desarrollo de un programa que valida si una fórmula capturada está bien formada y la reduce a su mínima forma normal conjuntiva. Se desarrolló un procedimiento para validar que la fórmula esté bien formada; si el procedimiento tiene éxito, construye un árbol de sintaxis, que es procesado (cambiando el contenido y/o añadiendo nuevos nodos) para reducir la fórmula a su mínima forma normal conjuntiva. Como parte del proceso de reducción, el programa determina si la fórmula capturada es válida o es inconsistente. Se presenta una descripción de los pasos realizados y una serie de ejemplos para soportar este desarrollo. 2 Conceptos 2.1 Lógica Proposicional 2.1.1 Fórmula bien formada Una fórmula bien formada (fbf) es una expresión que representa una proposición simple o compuesta, la cual está bien escrita de acuerdo con determinada sintaxis. En cálculo proposicional, una fórmula bien formada es una fórmula que está bien escrita de acuerdo con la sintaxis del cálculo proposicional. Las reglas de la sintaxis del cálculo proposicional definen entonces, la forma de escribir o reconocer fórmulas bien formadas del cálculo proposicional. En cálculo proposicional se dice que una fórmula es bien formada si: 1. Es un átomo. 2. Si P es una fórmula bien formada, entonces ¬Ptambién lo es 3. Si P y Q son fórmulas bien formadas, entonces también lo son: PQ, PQ, PQ y PQ. 4. Todas las fórmulas bien formadas se obtienen aplicando las reglas 1, 2 y 3. Cabe mencionar en la regla 3, que es posible utilizar otras conectivas, pero, sin embargo son reducibles a las aquí presentadas. Ejemplos de fórmulas bien formadas son: PQ, P¬ Q, P Q, P Q Ejemplos de fórmulas que no están bien formadas son: P Q, P¬ Q, P y Q 2.1.2 Fórmulas equivalentes Dos fórmulas son equivalentes si y solo si sus tablas de verdad son iguales para cualquier interpretación. Por ejemplo, las fórmulas P Q y ¬ PQ son fórmulas equivalentes, como se muestra en la tabla 1. P Q P Q ¬ PQ VVV V VF F F F VV V F F V V Tabla 1. P Q y ¬ PQ son fórmulas equivalentes. 2.1.3 Leyes de equivalencia El símbolo "cuadro relleno" indica una fórmula que es siempre verdad (validez o tautología) y el símbolo "cuadro" indica una fórmula que simpre es falsa (inconsistencia o contradicción). La tabla 2 muestra las leyes de equivalencias usadas en lógica proposicional (F, G y H son fórmulas)]. Doble Implicación F G = (F G)(G H) Implicación F G = ¬ FG Distribución F(GH) = (FG)(FH) F(GH) = (FG)(FH) Asociación (FG)H = F(GH) (FG)H = F(GH) Complementación F¬ F = "cuadro" F¬ F = "cuadro relleno" ¬¬F=F Conmutación FG = GF FG = GF Cero F"cuadro relleno" = "cuadro relleno" F"cuadro" = "cuadro" Identidad F"cuadro" = F F"cuadro relleno" = F Idempotencia FF = F FF = F Absorción FFQ = F F(FQ) = F F¬ FQ = FQ Leyes de Morgan ¬ (FQH) = ¬ F¬ Q¬ H ¬ (FQH) = ¬ F¬ Q¬ H Tabla 2: Leyes de equivalencias para fórmulas lógicas. 2.1.4 Forma normal conjuntiva (FNC) Una fórmula está en su forma normal conjuntiva si y sólo si tiene la forma: F1F2F3...Fn Donde n 2 y cada Fi es una disyunción de variables. Ejemplo: (PQR)(PQ) La formal normal conjuntiva (FNC), junto con la forma normal disyuntiva (FND) se utilizan en la demostración automática de teoremas. Convertir todas las fórmulas que intervienen en el proceso en una de las formas normales, ahorra tiempo y simplifica los cálculos.