Existen varias equivalencias en lógica proposicional, similares a las del álgebra Booleana. Estas se dan en la Tabla 4.3.
DENOMINACIÓN | REPRESENTACIÓN LÓGICA |
Leyes Equipotenciales | A => B = ~A v B A ^ ~A = F A v ~A = V |
Leyes Conmutativas | A ^ B = B ^ A A v B = B v A |
Leyes Distributivas | A ^ (B v C) = (A ^ B) v (A ^ C) A v (B ^ C) = (A v B) ^ (A v C) |
Leyes Asociativas | A ^ (B ^ C) = (A ^ B) ^ C A v (B v C) = (A v B) v C |
Leyes Absortivas | A ^ (A v B) = A A v (A ^ B) = A |
Leyes de DeMorgan | ~(A ^ B) = ~A v ~B ~(A v B) = ~A ^ ~B |
Tabla 4.3 Equivalencias en lógica proposicional
CONECTIVAS LOGICAS
Las conectivas lógicas también se llaman a veces operadores, y son de dos tipos:
Operadores unarios: NEGACION: not, ¬
Operadores binarios: CONJUNCION: and, &, y DISYUNCION: or CONDICIONAL: implies, ==>, implica BICONDICIONAL:
El Cálculo Proposicional estudia fórmulas proposicionales simples o compuestas.
Las proposiciones simples o átomos son representadas por símbolos, generalmente las letras del alfabeto A,B,C,….
Para obtener proposiciones compuestas se utilizan, como se dijo antes, conectores lógicos. Así la proposición compuesta A or B puede corresponder por ejemplo a:
El coronel no tienen quien le escriba or La jubilación del Coronel Buendía es insuficiente para su familia
Una fórmula bien formada (fbf) es una expresión que representa una proposición simple o compuesta, la cual esta bien escrita de acuerdo con determinada sintaxis.
Ahora bien, una fbf del Cálculo Proposicional, 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 de esta manera la forma de escribir o reconocer susu fbf's. Estas reglas son:
a) Un átomo es una fórmula bien formada. b) Si G es una fórmula bien formada entonces ¬G también lo es. c) Si G y H son fórmulas bien formadas, entonces también lo son: G & H G or H G ==> H G H d) Todas las fbf's se obtienen aplicando a, b y c.
Es necesario puntualizar en la regla c anterior, que es posible utilizar otras conectivas, pero sin embargo son reducibles a las que aqui presentamos.
De esta manera, fijaremos nuestra atención solo a las fbf's que aquí describimos.
Ejemplos de fórmulas bien formadas son:
P & Q P ==> Q
Ejemplos de fórmulas que no son bien formadas son: P &, ==>Q.
Se presentan conceptos asociados a la lógica proposicional, cuyos elementos fundamentales son sentencias, que pueden ser evaluadas como falsas o verdaderas; se introduce el concepto de fórmula bien formada y de su deducción a partir de expresiones en lenguaje natural, así como la contracción de fórmulas en sus formas normales. También se muestra la forma de construir circuitos lógicos equivalentes a fórmulas de la lógica proposicional.
La lógica proposicional trabaja con sentencias u oraciones a las cuales se les puede asociar un valor de verdad (cierto o falso); estas sentencias se conocen como sentencias declarativas o, simplemente, proposiciones. Existen proposiciones que son simples, así como proposiciones que están construidas por otras proposiciones usando elementos (conectivas lógicas) que las asocian. Al construir una proposición, se debe garantizar que esta puede ser evaluada (fórmula bien formada); de la misma forma, podemos construir proposiciones usando solo un grupo de conectivas, produciendo fórmulas que se dice están en su forma normal. Las formas normales son importantes por el hecho que permiten definir esquemas generales para el tratamiento de estas fórmulas (GSAT, por ejemplo).
Otro aspecto importante es el de determinar si una proposición esta construida (o puede ser deducida) a partir de un conjunto de proposiciones, es decir, si es una consecuencia lógica de dicho conjunto.
Finalmente, existen varias formas de representar una fórmula de la lógica proposicional; aquí se introduce el concepto de circuitos lógicos, donde se asocia a las conectivas lógicas un símbolo gráfico.
Los objetivos que se persiguen dentro de este módulo son los siguientes:
El alumno distinguirá fórmulas bien formadas a partir de oraciones en lenguaje natural para especificar y definir formalmente un conjunto de sentencias.
El alumno probará consecuencias lógicas (CL) para un conjunto de fórmulas bien formadas, a partir de los teoremas 1 y 2 para distinguir cuando un enunciado es verdadero ante un conjunto de axiomas, o sigue de ellos.
Al escuchar algo como La rosa es una flor o El cocodrilo es un mamífero, fácilmente se puede determinar si estas sentencias son ciertas o falsas; sin embargo, al escuchar No seas flojo! o Quién ganará las elecciones?, no es posible asociar a ellas un valor de verdad. Sentencias como las primeras dos son los elementos fundamentales con los que trabaja la lógica proposicional.
La lógica proposicional (o cálculo proposicional) tiene el propósito de simbolizar cualquier tipo de razonamiento para su análisis y tratamiento. Específicamente, para simbolizar razonamiento, la lógica proposicional usa sentencias declarativas a las que se puede asociar un valor de verdad (cierto o falso); es decir, usa proposiciones.
No existe una notación generalmente utilizada para representar proposiciones, pero en este curso se identifica a cada una de ellas con una letra mayúscula (o una cadena de letras mayúsculas).
Ejemplo: P y Q son proposiciones:
P : La rosa es una flor Q : El cocodrilo es un mamífero
La asociación de proposiciones produce otras proposiciones conocidas como compuestas, por lo que es posible diferenciar a las proposiciones simples llamándolas fórmulas atómicas o, simplemente átomos y a las compuestas llamándolas fórmulas compuestas. Del ejemplo, P y Q son átomos.
La construcción de fórmulas compuestas requiere del uso de elementos que permitan establecer una relación entre los átomos que la forman; estos elementos se conocen como conectivas lógicas. En la proposición ''El agua esta fría y el calentador está descompuesto'' se tienen dos átomos (El agua esta fria, el calentador está descompuesto), unidos por la partícula ''y'' la cual se dice que es una conectiva lógica. Otro ejemplo sería ''Si Luis es ingeniero, entonces Luis es inteligente'', donde la conectiva lógica es ''Si … entonces''.
Las conectivas lógicas usadas en la lógica proposicional son cinco y son representadas simbólicamente de varias formas, como se muestra en la tabla 1.
Conectiva | Símbolos asociados |
Negación (No) | ~, ¬ , – |
Conjunción (Y) | ?, &, ? |
Disyunción (O) | ?, ?, + |
Condicional (Si … entonces) | ? |
Bicondicional (Si y solo si) | ? , = |
Tabla 1: Conectivas Lógicas.
Así, para los ejemplos mencionados, se tendría la siguiente representación:
Ejemplo: C: ''El agua esta fría y el calentador está descompuesto'', se representa por A?B.
donde:
A: El agua esta fría.
B: El calentador esta descompuesto.
Ejemplo: R: ''Si Luis es ingeniero, entonces Luis es inteligente'', se representa por P? Q.
donde:
P: Luis es ingeniero.
Q: Luis es inteligente.
Como es posible determinar si una proposición es cierta o falsa, al encontrarse con proposiciones unidas por conectivas lógicas, es necesario conocer cuales son las reglas que se aplican para determinar si la proposición completa es cierta o falsa. La tabla 2 señala los valores resultantes para la evaluación de proposiciones compuestas a partir de las diferentes combinaciones de valores de verdad de sus átomos. En esta tabla P y Q son los átomos y se utiliza V para un valor cierto y F para uno falso.
P | Q | ¬ P | P?Q | P?Q | P? Q | P? Q | |||||
V | V | F | V | V | V | V | |||||
V | F | F | F | V | F | F | |||||
F | V | V | F | V | V | F | |||||
F | F | V | F | F | V | V |
Tabla 2: Valores de verdad de proposiciones compuestas.
Ejemplo: Si P tiene un valor V, Q tiene un valor F y R es V, el valor de P? R es V y el valor de P? Q es F.
Como se ha explicado, las proposiciones compuestas son agrupaciones de átomos unidos por conectivas lógicas; es importante aclarar que al construir proposiciones, se requiere seguir una serie de reglas que establecen si una fórmula esta bien formada. De acuerdo a lo anterior, una formula bien formada (fbf) es aquella que cumple los siguientes cuatro puntos:
Un átomo es una fórmula bien formada.
Si P es una fórmula bien formada, ¬ P también es una fórmula bien formada.
Si P y Q son fórmulas bien formadas, P?Q, P?Q, P? Q y P? Q son fórmulas bien formadas.
Todas las fórmulas bien formadas se obtienen aplicando las reglas 1, 2 y 3.
De lo anterior, se puede decir que fórmulas están bien formadas y que fórmulas no lo están:
Ejemplo: Las siguientes son fórmulas bien formadas:
P?¬ Q
P?¬ Q? S
Ejemplo: Las siguientes no son fórmulas bien formadas:
? S
?P¬
P¬ R
Como se estableció anteriormente, para determinar el valor de verdad de una proposición compuesta, es necesario conocer cuales son las reglas que se aplican para determinar si la proposición completa es cierta o falsa; asimismo, al tener fórmulas con dos o más conectivas, se deben conocer las reglas de precedencia y asociatividad de las conectivas para asegurar que la evaluación es correcta. Aún cuando existen algunas diferencias en la determinación de una jerarquía de conectivas, en este texto se utilizará el siguiente orden:
¬ , ?, ?, ? , ?
donde ¬ (negación) es el operador con mayor jerarquía en la secuencia y ? (bicondicional) es el operador con el menor peso.
Ejemplo: El orden de evaluación de ¬P?Q?R es, utilizando paréntesis, ( (¬ P) ?( Q?R) ) ; es decir, primero se evalúa ¬ P, posteriormente Q?R, y finalmente se aplica ? al resultado de ambas evaluaciones.
Al tener una fórmula con la presencia de dos o mas conectivas iguales, el orden de asociatividad siempre es de izquierda a derecha.
Ejemplo: El orden de evaluación de P? Q? R es ( ( P? Q) ? R) .
7 Interpretación de fórmulas
Una interpretación de una fórmula es una asignación de valores de verdad a un conjunto de átomos; para una fórmula con dos átomos se tienen dos posibles interpretaciones, para una con tres se tienen ocho interpretaciones, y en general para una fórmula con n átomos de tienen 2n interpretaciones.
Considerando las condiciones discutidas anteriormente, es posible determinar el valor de verdad cualquier una fórmula de la lógica proposicional.
Ejemplo: Teniendo que P es V, Q es F, R es V y S es V, la interpretación para la fórmula ¬ ( P? Q) ? ( R?S) es:
P | Q | R | S | P? Q | ¬ ( P? Q) | R?S | ¬ ( P? Q) ? ( R?S) | ||||||||||||
V | F | V | V | F | V | V | V |
En general, para evaluar una fórmula, se deben considerar todas sus posibles interpretaciones.
Ejemplo: La evaluación de ¬ ( P? Q) ? ( R?S) es:
P | Q | R | S | P? Q | ¬ ( P? Q) | R?S | ¬ ( P? Q) ? ( R?S) | ||||||||||||
V | V | V | V | V | F | V | V | ||||||||||||
V | V | V | F | V | F | F | V | ||||||||||||
V | V | F | V | V | F | F | V | ||||||||||||
V | V | F | F | V | F | F | V | ||||||||||||
V | F | V | V | F | V | V | V | ||||||||||||
V | F | V | F | F | V | F | F | ||||||||||||
V | F | F | V | F | V | F | F | ||||||||||||
V | F | F | F | F | V | F | F | ||||||||||||
F | V | V | V | V | F | V | V | ||||||||||||
F | V | V | F | V | F | F | V | ||||||||||||
F | V | F | V | V | F | F | V | ||||||||||||
F | V | F | F | V | F | F | V | ||||||||||||
F | F | V | V | V | F | V | V | ||||||||||||
F | F | V | F | V | F | F | V | ||||||||||||
F | F | F | V | V | F | F | V | ||||||||||||
F | F | F | F | V | F | F | V |
De la evaluación de una fórmula, se pueden definir los siguientes conceptos:
Tautología o fórmula válida: Una fórmula es una tautología si es verdadera para todas sus posibles interpretaciones. Una tautología también se conoce como una fórmula válida.
Contradicción, fórmula inconsistente o fórmula insatisfactible: Una fórmula es una contradicción si es falsa para todas sus posibles interpretaciones. Una contradicción también se conoce como una fórmula inconsistente o una fórmula insatisfactible.
Fórmula consistente o fórmula satisfactible: Una fórmula que al menos tiene una interpretación verdadera se conoce como una fórmula consistente o satisfactible.
Fórmula inválida: Una fórmula es inválida si es falsa para al menos una interpretación.
Ejemplo: La fórmula ( P? Q) ?P es una tautología, ya que todas sus interpretaciones son verdaderas.
P | Q | P? Q | ( P? Q) ?P | |||||
V | V | V | V | |||||
V | F | F | V | |||||
F | V | V | V | |||||
F | F | V | V |
Ejemplo: La fórmula ( P? Q) ?¬ P es consistente, ya que de sus interpretaciones, dos son verdaderas.
P | Q | ¬ P | P? Q | ( P? Q) ?¬ P | ||||||
V | V | F | V | F | ||||||
V | F | F | F | F | ||||||
F | V | V | V | V | ||||||
F | F | V | V | V |
Como consecuencia de las definiciones anteriores, se tiene que:
Una fórmula es válida si y solo si su negación es inconsistente.
Una fórmula es inconsistente si y solo si su negación es válida.
Una fórmula es inválida si y solo si existe por lo menos una interpretación sobre la cual la fórmula es falsa.
Una fórmula es consistente si y solo si existe por lo menos una interpretación sobre la cual la fórmula es verdadera.
Si una fórmula es válida, entonces es consistente, pero no viceversa.
Si una fórmula es inconsistente, entonces es inválida, pero no viceversa.
Al evaluar las fórmulas P? Q y ¬ P?Q se observa que todas sus interpretaciones son iguales, por lo que se dice que ambas fórmulas son equivalentes.
Ejemplo: P? Q y ¬ P?Q son fórmulas equivalentes:
P | Q | ¬ P | P? Q | ¬ P?Q | ||||
V | V | F | V | V | ||||
V | F | F | F | F | ||||
F | V | V | V | V | ||||
F | F | V | V | V |
Existen varias equivalencias entre fórmulas de la lógica proposicional, las cuales se conocen como leyes de equivalencia. La tabla 3 muestra estas leyes. Se utiliza el símbolo Tautología para indicar una tautología y el símbolo Contradicción para indicar una contradicción.
Ley de equivalencia | Fórmula | |
Doble Implicación | F?G = (F? G)?(G? H) | |
Implicación | F? G = ¬ F?G | |
Distribución | F?(G?H) = (F?G)?(F?H) | |
F?(G?H) = (F?G)?(F?H) | ||
Asociación | (F?G)?H = F?(G?H) | |
(F?G)?H = F?(G?H) | ||
Complementación | F?¬ F = Contradicción | |
F?¬ F = Tautología | ||
¬ ¬ F = F | ||
Conmutación | F?G = G?F | |
F?G = G?F | ||
Cero | F?Tautología = Tautología | |
F?Contradicción = Contradicción | ||
Identidad | F?Contradicción = F | |
F?Tautología = F | ||
Idempotencia | F?F = F | |
F?F = F | ||
Absorción | F?F?Q = F | |
F?(F?Q) = F | ||
F?¬ F?Q = F?Q | ||
Leyes de Morgan | ¬ (F?Q?H) = ¬ F?¬ Q?¬ H | |
¬ (F?Q?H) = ¬ F?¬ Q?¬ H |
Tabla 3: Leyes de equivalencias para fórmulas lógicas.
Las leyes de equivalencia permiten transformar fórmulas de la lógica proposicional en otras fórmulas más simples de evaluar o que estén escritas en alguna forma que sea útil para su manipulación. En lógica proposicional existen dos formas para presentar fórmulas que son importantes ya que permiten definir métodos genéricos de evaluación y análisis; estas formas se conocen como formas normales, y en particular: forma normal conjuntiva y forma normal disyuntiva.
Forma Normal Conjuntiva: Una fórmula está en su forma normal conjuntiva (FNC) si es una conjunción de disyunciones, es decir, tiene la forma: F1?F2?…?Fn, en la cual Fn es una fórmula construida por una agrupación de átomos unidos por disyunciones; esto es Fn es P1?P2?…?Pm. En ambos casos n y m pueden ser mayores o iguales a 1.
Forma Normal Disyuntiva: Una fórmula está en su forma normal disyuntiva (FND) si es una disyunción de conjunciones, es decir, tiene la forma: F1?F2?…?Fn , en la cual Fn es una fórmula construida por una agrupación de átomos unidos por conjunciones; esto es Fn es P1?P2?…?Pm.
Ejemplo: La fórmula ( P?Q?R) ?( ¬ P?R)?R está en su forma normal conjuntiva construida de tres funciones F1:P?Q?R, F2:¬ P?R y F3:R. Cada función es una agrupación de átomos unidos por disyunciones.
Ejemplo: La fórmula ( P?Q?R) ?( ¬ P?R)?R no está en su forma normal conjuntiva.
Para poder transformar cualquier fórmula a su forma normal (conjuntiva o disyuntiva), es necesario aplicar la siguiente secuencia de operaciones de equivalencia sobre la fórmula original:
Sustituir todas las ocurrencias de conectivas ? y ? en la fórmula usando las correspondientes leyes de equivalencia.
Asegurarse que las negaciones afecten solo a átomos, usando las leyes de Morgan y la eliminación de dobles negaciones.
Aplicar las otras leyes para encontrar la forma normal (las principales leyes que se aplican son las distributivas).
Ejemplo: La forma normal conjuntiva de P? Q? S es ( P?S) ?( ¬ Q?S) ya que aplicando las reglas anteriores:
Se eliminan las condicionales P? Q por ¬ P?Q y ( ¬ P?Q) ? S por ¬ ( ¬ P?Q) ?S.
Se pasan las negaciones a los átomos usando leyes de Morgan produciendo ¬ ¬ P?¬ Q?S.
Se elimina la doble negación resultando P?¬ Q?S.
Como la conjunción tiene mayor prioridad, se distribuye la disyunción, quedando ( P?S) ?( ¬ Q?S) , que ya esta en la forma normal conjuntiva.
Ejemplo: La forma normal disyuntiva de P? Q? S es P?¬ Q?S.
Otro concepto importante en la lógica proposicional es el de consecuencia lógica. Uno de los aspectos a analizar en la lógica proposicional es el de determinar la validez de argumentos representados por fórmulas bien formadas. Un argumento esta formado por las premisas, axiomas o postulados y por una conclusión, objetivo o consecuencia lógica. Las premisas son proposiciones que son base para la deducción de una conclusión o consecuencia.
Así, en términos de la lógica proposicional, una consecuencia lógica es aquella fórmula (G) que es derivada de un grupo de fórmulas (F) cumpliendo la restricción de ser verdadera para todas las interpretaciones verdaderas del grupo de fórmulas (F). Esto es, G es una consecuencia lógica de las premisas F, si y solo si, al ser verdaderas las premisas, G siempre es verdadera.
Para probar si una fórmula es una consecuencia lógica de un grupo de fórmulas se tienen dos métodos, que se producen a partir de los conceptos de validez e inconsistencia. Estos métodos se conocen en forma de teoremas:
Teorema 1: Teniendo un grupo de fórmulas F1, F2,…,Fn y otra llamada G, G es una consecuencia lógica de F1, F2,…,Fn si y solo si la fórmula ( F1?F2???Fn) ? G es válida.
Teorema 2: Teniendo un grupo de fórmulas F1, F2,…,Fn y otra llamada G, G es una consecuencia lógica de F1, F2,…,Fn si y solo si la fórmula F1?F2???Fn?¬ G es inconsistente.
Para demostrar si G es una consecuencia lógica se pueden usar tablas de verdad o aplicar las leyes de equivalencia para encontrar su forma normal.
Ejemplo: U es una consecuencia lógica de ( ¬ P?S) ?( ¬ S?U) ?P ya que:
1) Definición de consecuencia lógica:
Aplicando la definición de consecuencia lógica y aplicando tablas de verdad se tiene que:
P | S | U | ¬ P | ¬ S | ¬ P?S | ¬ S?U | ( ¬ P?S) ?( ¬ S?U)?P | ||||||||||||||
V | V | V | F | F | V | V | V | ||||||||||||||
V | V | F | F | F | V | F | F | ||||||||||||||
V | F | V | F | V | F | V | F | ||||||||||||||
V | F | F | F | V | F | V | F | ||||||||||||||
F | V | V | V | F | V | V | F | ||||||||||||||
F | V | F | V | F | V | F | F | ||||||||||||||
F | F | V | V | V | V | V | F | ||||||||||||||
F | F | F | V | V | V | V | F |
Se observa que U es verdadero para la única interpretación verdadera de ( ¬ P?S)?( ¬ S?U) ?P.
2) Teorema 1:
Usando tablas de verdad la fórmula ( ( ¬P?S) ?( ¬ S?U) ?P) ? U es una fórmula válida.
( ¬ P?S) ?( ¬ S?U) ?P | U | ( ( ¬P?S) ?( ¬ S?U) ?P) ? U | |||||||||||||||||||
V | V | V | |||||||||||||||||||
F | F | V | |||||||||||||||||||
F | V | V | |||||||||||||||||||
F | F | V | |||||||||||||||||||
F | V | V | |||||||||||||||||||
F | F | V | |||||||||||||||||||
F | V | V | |||||||||||||||||||
F | F | V |
Otra forma es transformando la fórmula original en su forma normal disyuntiva:
( ( ¬ P?S) ?( ¬S?U) ?P) ? U | |
¬ ( ( ¬ P?S) ?( ¬ S?U) ?P) ?U | eliminado condicional |
( ¬ ( ¬ P?S) ?¬ ( ¬ S?U) ?¬ P) ?U | aplicando De Morgan |
( ( ¬ ¬ P?¬ S) ?( ¬ ¬ S?¬ U) ?¬ P) ?U | aplicando De Morgan |
( ( P?¬ S) ?( S?¬ U) ?¬ P) ?U | aplicando De Morgan |
( P?¬ S) ?( S?¬ U) ?¬ P?U | eliminando paréntesis innecesarios |
( P?¬ S) ?¬ P?( S?¬ U) ?U | aplicando la ley conmutativa |
( ( P?¬ P) ?( ¬ S?¬ P) ) ?( S?¬ U) ?U | distribuyendo ¬ P en P?¬ S |
( Tautología ?( ¬ S?¬ P) ) ?( S?¬ U) ?U | aplicando complementación en P?¬ P |
( ¬ S?¬ P) ?( S?¬ U) ?U | aplicando identidad en Tautología ?( ¬ S?¬ P) |
( ¬ S?¬ P) ?( ( S?U) ?( ¬ U?U) ) | distribuyendo U en S?¬ U |
( ¬ S?¬ P) ?( ( S?U) ?Tautología ) | aplicando complementación en ¬ U?U |
( ¬ S?¬ P) ?( S?U) | aplicando identidad en ( S?U) ?Tautología |
¬ S?¬ P?S?U | eliminando paréntesis innecesarios |
Tautología ?¬ P?U | aplicando complementación en ¬ S?S |
Tautología | aplicando complementación en Tautología ?¬ P?U |
2) Teorema 2:
Usando tablas de verdad la fórmula ( ( ¬P?S) ?( ¬ S?U) ?P) ?¬ U es una fórmula inconsistente.
( ¬ P?S) ?( ¬ S?U) ?P | U | ¬ U | (( ¬ P?S) ?( ¬ S?U) ?P) ?¬ U | ||||||||||||||||||||
V | V | F | F | ||||||||||||||||||||
F | F | V | F | ||||||||||||||||||||
F | V | F | F | ||||||||||||||||||||
F | F | V | F | ||||||||||||||||||||
F | V | F | F | ||||||||||||||||||||
F | F | V | F | ||||||||||||||||||||
F | V | F | F | ||||||||||||||||||||
F | F | V | F |
Debido a que una proposición puede ser evaluada y resultar solo verdadera o falsa, se puede deducir alguna equivalencia con el álgebra booleana, que maneja solamente dos valores (0 y 1). Las propiedades del cálculo proposicional son equivalentes a las del álgebra desarrollada por Boole.
En el álgebra booleana, una proposición es equivalente a una variables, y las conectivas lógicas se utilizan como compuertas lógicas. La figura 1 muestra las compuestas lógicas más representativas de esta álgebra. Los esquemas que resultan de aplicar las compuertas lógicas se conocen como circuitos lógicos.
Figura 1: Compuertas Lógicas.
Una fórmula del cálculo proposicional se puede representar gráficamente usando compuertas lógicas. Como se observa, para representar fórmulas con condicionales o bicondicionales se debe transformar la fórmula para eliminarlas.
Historia de los lenguajes de programacion
AÑO | LENGUAJE | INVENTOR | DESCRIPCION | |||||||
1900s | BINARIO | Bool | primer lenguaje | |||||||
1946 | Plankalkul | Konrad Zuse | creado para jugar al ajedrez | |||||||
1949 | Short Code | lenguaje traducido a mano | ||||||||
1950 | ASM (ensamblador) | lenguaje ensamblador | ||||||||
1951 | A-0 | Grace Hopper | fue el primer compilador | |||||||
1952 | AUTOCODE | Alick E. Glennie | compilador muy rudimentario | |||||||
1956 | FORTRAN | IBM | sistema de Traducción de Formulas matemáticas | |||||||
1956 | COBOL | Compilador | ||||||||
1958 | ALGOL 58 | |||||||||
1960 | LISP | Interprete orientado a la Inteligencia Artificial | ||||||||
1961 | FORTRAN IV | IBM | sistema de Traducción de Formulas matemáticas | |||||||
1961 | COBOL 61 Extendido | |||||||||
1960 | ALGOL 60 Revisado | |||||||||
1964 | PASCAL | Niklaus Wirth | programación estructurada | |||||||
1964 | BASIC | Universidad de Dartmouth (California) | Beginners All Purpose Symbolic Instruction Code | |||||||
1965 | SNOBOL | |||||||||
1965 | APL | solo anotación | ||||||||
1965 | COBOL 65 | |||||||||
1966 | PL/I | |||||||||
1966 | FORTRAN 66 | IBM | sistema de Traducción de Formulas matemáticas | |||||||
1967 | SIMULA 67 | |||||||||
1968 | ALGOL 68 | |||||||||
1968 | SNOBOL4 | |||||||||
1970s | GW-BASIC | antiguo y clásico Basic | ||||||||
1970 | APL/360 | |||||||||
1972 | SMALLTALK | Centro de Investigación de Xerox en Palo Alto | pequeño y rápido | |||||||
1972 | C | Laboratorios Bell | lenguaje con tipos | |||||||
1974 | COBOL 74 | |||||||||
1975 | PL /I | Lenguaje sencillo | ||||||||
1977 | FORTRAN 77 | IBM | sistema de Traducción de Formulas matemáticas | |||||||
1980s | SMALLTALK/V | Digitalk | pequeño y rápido | |||||||
1980 | C con clases | Laboratorios Bell | lenguaje con clases | |||||||
1981 | PROLOG | Ministerio Japonés de Comercio Internacional e Industria (MITI) | Lenguaje estándar para la Inteligencia Artificial | |||||||
1982 | ADA | Ministerio de Defensa de los EE.UU | lenguaje muy seguro | |||||||
1984 | C++ | AT&T Bell Laboratorios (Bjarne Stroustrup) | compilador | |||||||
1985 | CLIPPER | compilador para bases de datos | ||||||||
1985 | QuickBASIC 1.0 | Microsoft® | compilador de BASIC | |||||||
1986 | QuickBASIC 2.0 | Microsoft® | soporte de tarjeta gráfica EGA | |||||||
1987 | QuickBASIC 3.0 | Microsoft® | 43 líneas con la tarjeta EGA | |||||||
1987 | QuickBASIC 4.0 | Microsoft® | tarjetas Hércules, VGA | |||||||
1987 | CLIPPER SUMMER '87 | compilador para bases de datos | ||||||||
1988 | QuickBASIC 4.5 | Microsoft® | tarjeta SVGA | |||||||
1989 | QuickBASIC 7.1 | Microsoft® | ultima versión de QuickBASIC | |||||||
1989 | ASIC v5.0 | interprete tipo QBASIC shareware | ||||||||
1990s | VISUAL C++ | |||||||||
1990s | VISUAL BASICScript | Microsoft® | lenguaje de script | |||||||
1990 | HTML | Tim Berners-Lee | para Internet | |||||||
1993 | XML | C. M. Sperberg-McQueen | para Internet | |||||||
1993 | SGML | Charles F. Goldfarb | para Internet | |||||||
1990s | WML | para Internet | ||||||||
1990s | ASP | Microsoft® | para Internet | |||||||
1990s | PHP | para Internet | ||||||||
1995 | JAVA | Sun Microsistemas | para Internet y propósito general | |||||||
1995 | CLIPPER 5.01 | compilador para bases de datos | ||||||||
1995 | GNAT ADA95 | Ministerio de Defensa de los EE.UU. | lenguaje muy seguro | |||||||
1995 | FORTRAN 95 | IBM | sistema de Traducción de Formulas matemáticas | |||||||
1991 | VISUAL BASIC 1.0 | Microsoft® | ||||||||
1992 | VISUAL BASIC 2.0 | Microsoft® | ||||||||
1993 | VISUAL BASIC 3.0 | Microsoft® | ||||||||
1994 | VISUAL BASIC 4.0 | Microsoft® | ||||||||
1995 | VISUAL BASIC 5.0 | Microsoft® | ||||||||
1998 | VISUAL BASIC 6.0 | Microsoft® | ||||||||
1990s | C++ | |||||||||
2001 | VISUAL BASIC .NET | Microsoft® | La evolución de Visual Basic |
Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, etc..Una computadora funciona bajo control de un programa el cual debe estar almacenado en la unidad de memoria; tales como el disco duro.Los lenguajes de programación de una computadora en particular se conoce como código de máquinas o lenguaje de máquinas. Estos lenguajes codificados en una computadora específica no podrán ser ejecutados en otra computadora diferente.Para que estos programas funcionen para diferentes computadoras hay que realizar una versión para cada una de ellas, lo que implica el aumento del costo de desarrollo.Por otra parte, los lenguajes de programación en código de máquina son verdaderamente difíciles de entender para una persona, ya que están compuestos de códigos numéricos sin sentido nemotécnico.Los lenguajes de programación facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leidas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar.Los lenguajes de programación representan en forma simbólica y en manera de un texto los códigos que podrán ser leidos por una persona. Los lenguajes de programación son independientes de las computadoras a utilizar.
Existen estrategias que permiten ejecutar en una computadora un programa realizado en un lenguaje de programación simbólico. Los procesadores del lenguaje son los programas que permiten el tratamiento de la información en forma de texto, representada en los lenguajes de programación simbólicos.Hay lenguajes de programación que utilizan compilador. La ejecución de un programa con compilador requiere de dos etapas:1) Traducir el programa simbólico a código máquina2) Ejecución y procesamiento de los datos.Otros lenguajes de programación utilizan un programa intérprete o traductor, el cual analiza directamente la descripción simbólica del programa fuente y realiza las instrucciones dadas.El intérprete en los lenguajes de programación simula una máquina virtual, donde el lenguaje de máquina es similar al lenguaje fuente.La ventaja del proceso interprete es que no necesita de dos fases para ejecutar el programa, sin embargo su inconveniente es que la velocidad de ejecución es más lenta ya que debe analizar e interpretar las instrucciones contenidas en el programa fuente.
LENGUAJES FORMALES
A1= {A,B,C,D,E,F,G,…,Z}
A2= {0,1}
A3= {0,1,2,3,4,5,6,7,8,9..}
A4={|,|}
Juan, pedro, luis ,dasdsada
0 1 11001100 1111
2 304 12.365
x = juna {sobre A|} y = //|{sobre A4}
z = 123.56 {sobre A3}
| x | = 4 | y | = 4 | z | = 6
se define la palabra vacia amperson.
W (A) = { amperson , p,pp,ppp,pp.,pp.,,,,}
X € W (A) , y € W (A)
Propiedades asociativas : x (yz) = (xy) z
Existencia de elementos neutros x amperson = amperson x = x
Operaciones con estructura de monoide (semigrupo con elementos neutros)
La concatenación no cumple la propiedad conmutativa:
Xy = ABCCDE
Yx = CDEABC
| xy | = | x | + | y |
LEMA
Para toda gramática lineal derecha existe otra gramática lineal izquierda equivalente, que no contiene reglas de la forma A= aS, donde a € Er., A € En y S es el axioma de la gramática.
TEOREMA
Para toda gramática lineal derecha existe otra gramática lineal izquierda equivalente.
BIBLIOGRAFIA
Copias del Instituto Tecnológica de Minatitlan – Dpto. Ing. En sistemas computacionales "Lenguajes y Autómatas"
http://lenguajes-de-programacion.com/lenguajes-de-programacion.shtml
http://www.iespana.es/iabot/ciencia/software/historia_lenguajes_programacion.htm
http://w3.mor.itesm.mx/~logica/log9808/cmodulo2.html
https://www.monografiass.com/monografiass/EpZElAkVEVkknnOnrx.php
http://w3.mor.itesm.mx/~logica/log9808/log_prop.html
http://www.fciencias.unam.mx/lytc/tc/
Enviado por:
Ing.+Lic. Yunior Andrés Castillo S.
"NO A LA CULTURA DEL SECRETO, SI A LA LIBERTAD DE INFORMACION"®
www.monografias.com/usuario/perfiles/ing_lic_yunior_andra_s_castillo_s/monografias
Santiago de los Caballeros,
República Dominicana,
2015.
"DIOS, JUAN PABLO DUARTE Y JUAN BOSCH – POR SIEMPRE"®
Página anterior | Volver al principio del trabajo | Página siguiente |