Está en la página 1de 14

Introducción a la Informática – Introducción a la Lógica

Introducción

La lógica puede considerarse una rama de la matemática que tienen una utilidad que sobrepasa a las
ciencias duras. Esta disciplina nos enseña a estudiar la forma en que razonamos mediante el uso de
técnicas y reglas que estructuran la determinación de la validez, o no, de determinados argumentos.
Cuando decimos argumentos abarcamos desde una frase, una comparación, una determinada
ecuación, una cuenta matemática, una sección de un programa de computación.
La lógica es muy útil en la Informatica, tanto sea para revisar como nuestros programas se
comportan como para resolver ciertos problemas que, sin el analisis lógico previo, serian imposibles
de llevar a buen puerto. Un programa de computación no es ni más ni menos que una secuencia de
pasos lógicos, que la persona establece para resolver determinados problemas que se presentan.
La lógica parte de la idea de que cualquier trabajo que se realiza tiene un procedimiento lógico:
nosotros tenemos que realizar una tarea, la analizamos, evaluamos (a veces) una alternativa, que
quizas no sea la mejor, y la ejecutamos de tal manera de llegar a un fin. En forma general, la lógica
intenta determinar si la elección de una alternativa lleva a conseguir el resultado esperado. Como
sabemos cada elección que tomamos esta basada en un sinfín de condiciones que se imponen, y a
que a veces tiene que ver con motivos técnicos, sociales, psicológicos, etc. La lógica, una vez más,
nos ayuda a evaluar cada una de esas condiciones, y nos ayuda a entender las posibles decisiones a
tomar.
A continuación realizaremos un relevamiento de las características del trabajo lógico, los elementos
y simbolos que se utilizan y las operaciones que se realizan.

Proposiciones-enunciados y operaciones lógicas

Una proposición o enunciado es una oración y/o igualdad/desigualdad matemática que puede
considerarse verdadera o falsa, pero jamas ambas a la vez. O sea una proposición debe tener una
determinado valor de verdad. Se llama valor de verdad justamente a la veracidad o falsedad de la
proposición. Preguntas, exclamaciones o palabras sueltas no pueden ser consideradas proposiciones,
por el simple hecho de que su valor de verdad es dudoso. Las proposiciones o enunciados son
indicados mediante letras, en general se utiliza p, q, r, s, t, etc. aunque puede ser cualquier letra.
Algunos ejemplos de enunciados validos:

p: Argentina es un país
q: Los lagos contienen agua
r: 5 + 2 = 3

Es evidente que cada uno de estos enunciados tiene un valor de verdad determinado. p y q son
verdaderos, pero r es falso. Todas estas son proposiciones validas.
Ejemplos de proposiciones no validas para el trabajo en lógica serían:

s: Hola!!!
t: 7
w: Caminá hacia allá

De ninguno de estos ejemplos se puede establecer un valor de verdad, ya que s es un saludo, t es un


número y w es una orden.
De esta simple manera podemos reconocer enunciados validos, ya que en ellos se establece una
condición que permite identificar si su valor de verdad es verdadero o falso. De esta manera inicial
podemos empezar a comprender el principio de la lógica, pero aun tenemos que seguir
racionalizando de que forma pueden presentarse estas proposiciones. Veamos las nociones básicas
que se utilizan en el cálculo proposicional.

Calculo proposicional
El calculo proposicional es el estudio de las relaciones lógicas entre las proposiciones que, como
vimos, frecuentemente pueden interpretarse como afirmaciones que tienen algún significado en
contextos de la vida real. Como también observamos las proposiciones deben tener un valor de
verdad bien definido, indicando de forma precisa si es un hecho verdadero o falso.
Como vimos en el cálculo proposicional se utilizan letras para simbolizar las posibles proposiciones
con las que estamos trabajando. De esta manera será más dinámico indicar como estas
proposiciones se relacionan entre sí de diversas formas, al contrario de que si tuvieramos que repetir
el enunciado de la proposición en cada caso. Además de estas letras que definen a las proposiciones,
podemos encontrar en el cálculo proposicional determinados conectores, que justamente unen a las
proposiciones en proposiciones más complejas, expandiendo el campo de acción de la lógica.
En el siguien apartado aprenderemos sobre conectores lógicos y la forma en que estos pueden
generar proposiciones complejas.

Conectores que crean proposiciones complejas

El lenguaje común permite reunir de manera facil proposiciones validad, o sea con valores de
verdad definidos, en proposiciones más complejas donde se debe comparar y analizar los valores de
verdad que contiene cada proposición que compone el complejo. Esto se realiza mediante
conectores y operaciones lógicas. Los conectores básicos son los operados “y” (conocido también
como “AND”) y “o” (conocido también como “OR”). Según el conector utilizado, se debe evaluar
la veracidad o falsedad de todas las proposiciones que se utilizan para evaluarla veracidad o
falsedad de la proposición compleja.
Veamos como se define y que utilidad tiene cada conector y algunos ejemplos de proposiciones
complejas establecidas mediante estos conectores:

El conector “y” (AND)


Mediante este conector se pueden unir dos proposiciones, las cuales deben ser ambas verdaderas
para que la proposición compleja sea verdadera. Si alguna de estas es falsa, toda la proposición
compleja será falsa. El símbolo de este conector es este ^, y en programación se lo puede reconocer
por el uso del simbolo ampersand “&”. También se reconoce a este conector como la llamada
multiplicación lógica.
Para esclarecer su funcionamiento, imaginemos que tenemos una proposición compleja creada a
partir de un conector “y”:

“La lampara enciende si esta conectada a un enchufe y hay electricidad”

Usemos esta proposición compleja para establecer determinadas reglas de analisis. En primera
instancia descompongamos la oración en las posibles proposiciones y demosle un simbolo para
poder luego identificarlas por separado:

p: La lampara enciende
q: Esta conectada a un enchufe
r: Hay electricidad

A simple vista podemos establecer que cada uno de estos enunciados tiene un valor de verdad
determinado que estará sujeto a como se vayan dando los acontecimientos.
Ya tenemos los enunciados relacionados a sus simbolos, ahora pasemos a un nivel de abstracción
más profundo y simbolicemos lo que esta pasando en la proposición compleja mediante simbolos:

p=q^r
Mediante esta abstracción se puede establecer cuando la proposición p es verdadera, ya que se
deben dar determinadas condiciones para que esto suceda. Para que p (la lampara enciende) sea
verdadera, se debe cumplir que q (esta enchufada) y r (hay electricidad) son verdaderas, justamente
debido al uso del operador “y”. Si q o r son falsas, entonces p también lo será, puesto que una
lampara no enciende si no esta enchufada o no hay electricidad.

Mediante este razonamiento se puede establecer lo que se denomina tablas de verdad, una
herramienta que ayuda a dinamizar la utilización de conectores y a analizar las porposiciones
complejas de manera más efectiva y metódica. Luego veremos que para cualquier proposición
compleja podemos crear una tabla de verdad que nos ayude a establecer su valor de verdad. Veamos
en este caso como generar la tabla de verdad del operador “y”:

Armemos una tabla donde aparezcan cada uno de los elementos que componen la proposición
compleja conectada mediante “y”. En una columna pondremos los posibles valores de q, en otra los
posibles valores de r y en la última los valores que tendra p según los valores de las otra
proposiciones:

q (esta enchufada) r (hay electricidad) p (la lampara enciende) = q ^ r


Verdadera (V) Verdadera (V) Verdadera (V)
Verdadera (V) Falsa (F) Falsa (F)
Falsa (F) Verdadera (V) Falsa (F)
Falsa (F) Falsa (F) Falsa (F)

Mediante este tipo de tablas podemos ver a simple vista que solamente cuando solamente q y r sean
verdaderas, p será verdadera. Este tipo de tablas sintetizan de forma efectiva el trabajo con
proposiciones y en gran medida simplifican el trabajo que tengamos que realizar cuando generemos
programas de computación.
Para simplificar aun más la grafía de estas tablas, se estila reemplazar los valores Verdadero y Falso
mediante un 1 y un 0, respectivamente. De esta manera la tabla se vuelve más generica y una vez
que nos acostumbramos a trabajar con ellas, un simple vistazo nos da toda la información necesaria
para entender el problema:

q r p=q^r
1 1 1
1 0 0
0 1 0
0 0 0

De esta manera cualquier proposición compleja que contenga el operador “y” (^) cumplirá las
reglas de esta tabla de verdad y por lo tanto hemos reducido la problemática y racionalizado las
posibilidades de tal manera que podemos trabajar de manera más dinámica puesto que conocemos
los posibles resultados del trabajo con este conector.

El conector “o” (OR)


Mediante este conector se pueden crear porposiciones complejas las cuales serán verdadera cuando
alguna de las proposiciones que las comprenden sean verdaderas. El operador “o” puede ser
reconocido mediante el símbolo “v”, y en programas de computación mediante la barra vertical “|”,
aunque a veces también se utiliza la doble barra vertical “||”.
Como en el apartado anterior, evaluemos un ejemplo para entender el comportamiento del operador
“o”. Imaginemos la siguien proposición compleja:

“Una persona puede viajar si compra un pasaje de micro o tiene un auto”

Descompongamos la proposición compleja en partes:

p: Puede viajar
q: Compra un pasaje de micro
r: Tiene un auto

A partir de estos datos generemos una tabla de verdad:

q (compra un pasaje) r (tiene auto) p (puede viajar) = q v r


Verdadera (V) Verdadera (V) Verdadera (V)
Verdadera (V) Falsa (F) Verdadera (V)
Falsa (F) Verdadera (V) Verdadera (V)
Falsa (F) Falsa (F) Falsa (F)

De esta manera se puede observar directamente que la única forma en que una persona no pueda
viajar (respetando las condiciones dadas) es si no compro un pasaje o no tiene auto. Cualquiera de
las otras condiciones que se cumplan permiten a la persona poder viajar. Ahora generalicemos la
tabla de verdad del conector “o”:

q r p=qvr
1 1 1
1 0 1
0 1 1
0 0 0

Operado “o-exclusiva” (XOR)


Este operador, el cual se reconoce por el símbolo “X”, solamente devuelve un valor de verdad
verdadero cuando solamente una de las proposiciones que la contiene es verdadera. La tabla de
verdad de este operador es la siguiente:

q r p=qXr
1 1 0
1 0 1
0 1 1
0 0 0

Un ejemplo de este tipo de conector en la vida cotidiana sería el siguiente:

“Salgo a correr o voy al mercado”


Donde claramente, o se hace una cosa o se hace la otra, pero nunca las dos o ninguna, para que el
resultado sea verdadero. Notese que esta proposición funciona sin el signo de interrogación. No e
suna pregunta, es una toma de decisión.

Operador “no” (NOT)


Existe un operador básico que tiene la facultad de cambiar el estado de cualquier valor de verdad en
su contrario. Si un valor de verdad de una proposicion es Verdadero, este operados lo convierte en
Falso, y viceversa. Es lo que se denomina negador de proposicion. Se puede indicar este operado
mediante el símbolo tilde “ ´ ”. También en algunos libros. De texto se utiliza la birigurilla “~” o el
símbolo “¬”. Si tuvieramos la proposición “Esta nevando”, mediante el operaros “no” se la
cambiaría a “no esta nevando”.
La tabla de verdad de este operador es bastante sencilla:
p p´
1 0
0 1

Utilizando varios conectores

Si pensamos un poco, podemos darnos una idea de que en la vida real utilizamos siempre estos
conectores para generar frases que establescan valores de verdad o falsedad y que nos permiten
comunicarnos y analizar diferentes alternativas. La lógica nos permite realizar elecciones a partir
del análisis de las posibilidades.
A partir de los conectores simples que hemos estado estudiando, podemos generar proposiciones
aun más complejas mediante la utilización combinada de estos. Por ejemplo, imaginemos que
tenemos estas proposiciones:

p: Hoy es miercoles
q: Debo pagar la luz
r: Me cortaran el suministro

Conectaremos estas proposiciones simples para generar una más compleja:

“Hoy es miercoles y debo pagar la luz o me cortaran el suministro”

La representación de este enunciado complejo sería:

p^qvr

Como ejercicio sería interesante generar la tabla de verdad de esta proposicion compleja.

Ahora estableceremos la posibilidad de generar proposiciones condicionales y bicondicionales.

Proposiciones condicionales

Una proposición de este tipo esta conformada por enunciado simples, pero donde se indica una
condición para que la segunda se cumpla. Este tipo de proposiciones se indican gramáticamente
mediante la forma “si ocurre algo entonces pasara tal otra cosa”. Veamos un ejemplo:

“Si aprendo lógica entonces entenderé mejor mis programas de computación”

p: Aprendo lógica
q: Entenderé mejor mis programas

La simbología utilizada para indicar condicionales será una simple flecha:

p→q

Lo que indicaría que si p es verdad entonces sucederá q.


Tengamos en cuenta que este tipo de proposicion compleja será de las más utilizadas en
programacion debido a que en gran variedad de casos esperaremos que algo suceda para que una
acción se dispare. Es muy común trabajar con condicionales que nos permitan elegir como será el
flujo de nuestro programa. La tabla de verdad de esta proposicion compleja será la siguiente:

P Q P→Q
1 1 1
1 0 0
0 1 1
0 0 1

Es interesante analizar caso por caso: en el primer caso la proposicion condicional será verdadera,
debido a que p y q son verdaderas. En el siguiente caso se propone que p es verdadera y por lo tanto
q es falsa. La proposición será falsa por que justamente no se da la condición. El tercer caso es el
mas interesante, debido a que p es falsa y q es verdadera, por lo tanto si bien no hubo una condición
que se cumpla, el enunciado es valido. Por último, debido a que tanto p como q son falsos, la
condición condicional lo es, debido a que en ninguno de los casos se esta mintiendo.

Podemos traducirlo de la siguiente manera, volviendo a la forma gramática e indicando los valores
de verdad en cada caso:
“Si aprendo lógica entonces entenderé mejor mis programas” -------- V → V = V
“Si aprendo lógica entonces no entenderé mejor mis programas” --------- V → F = F
“Si no aprendo lógica entonces entenderé mejor mis programas” ------ F→V = V
“Si no aprendo lógica entonces no entenderé mejor mis programas” ------ F → F = V

Proposiciónes Bicondicionales

Este tipo de proposiciones complejas generadas por dos enunciados conectados por la sentencia “si
y solo si” indican que para obtener un valor de verdad verdadero, es necesesario que ambos
enunciados tengan el mismo valor de verdad, pues uno depende del otro y viceversa. Las
bicondicionales se indican con la flecha doble (↔).

p↔q p “si y solo si” q

Un ejemplo aclarara las cosas:


Imaginemos estos dos enunciados e intentemos unirlos con el conector bicondicional:

p: Terminará rápido su carrera


q: Estudia mucho

“Terminará rápido su carrera si y solo si estudia mucho”

A partir de este enunciado armaremos la tabla de verdad:

p q p↔q
1 1 1
1 0 0
0 1 0
0 0 1

Si analizamos cada caso, podemos enunciarlo gramaticamente:

“Terminará rápido su carrera si y solo si estudia mucho” ------- V ↔ V = V


“Terminará rápido su carrera si y solo si no estudia mucho” ------- V ↔ F = F
“No terminará rápido su carrera si y solo si estudia mucho” ------- F ↔ V = F
“No terminará rápido su carrera si y solo si no estudia mucho” ------- F ↔ F = V

Interesante forma de analizar situaciones cotidianas, no? Pero más interesante es pensar que este
tipo de pensamiento lógico genera un pensamiento acostumbrado al analisis crítico de las
situaciones con las que podemos encontrarnos y, en algunas situaciones, produce debates en cuanto
a la posible veracidad o falsedad de determinados enunciados que enriquecen el discurso y el
desarrollo de conocimiento.

Tautologías y contradicciones

Cuando se trabaja proposiciones podemos encontrar ciertas combinaciones que generen


comportamientos determinados. Por ejemplo, algunas proposiciones complejas armadas a partir de
conectores, pueden generar que su valor de verdad sea siempre verdadero o siempre falso. Cuando
el resultados de la proposición compleja es siempre verdadero, se denomina Tautología a dicho
enunciado complejo. Si, por otro lado, el resultado siempre es falso, entonces estamos hablando de
contradicciones. Los ejemplos más simples en estos casos, pueden estar dados por la combinación
de una proposición y su contradicción, mediante ciertos conectores. Veamos un ejemplo de ambos
casos:

p: Sabe andar en bicicleta


p´: No sabe andar en bicicleta

Si conectamos estas proposiciones mediante el conector “o” (v), para cualquiera de los valores de
verdad que tomen las proposiciones simples, la proposición compleja será verdadera.

“Sabe andar en bicicleta o no sabe andar en bicicleta”


“No sabe andar en bicicleta o sabe andar en bicicleta”

Como vemos en todos los casos el resultado es verdadero. Veamos la tabla de verdaderas:

p p´ p v p´
1 0 1
0 1 1

Entonces, en este caso estamos frente a una tautología.


Veamos entonces que sucede cuando el conector usado es “y” (^) para las misma preposiciones:

“Sabe andar en bicicleta y no sabe andar en bicicleta”


“No sabe andar en bicicleta y sabe andar en bicicleta”

En ambos casos el resultado será falso. Veamos la tabla de verdad de este enunciado:

p p´ p ^ p´
1 0 0
0 1 0

En este caso se produce una contradicción.


De esta manera podemos observar que a veces cualquier valor de verdad de enunciados unidos por
determinados conectores, pueden generar tautologias o contradicciones.

Contingencia
Por último, si la fórmula que se crea mediante las proposiciones y los conectores no es una
tautología ni una contradicción, se la denomina contingencia donde como vimos antes, el valor de
verdad del resultado dependerá de los valores de verdad de sus variables proporcionales. Hemos
visto ejemplos de contingencia en los apartados anteriores.

Leyes del cálculo proposicional

Veamos a continuación algunas leyes que se pueden aplicar en el cálculo proposicional y que nos
ayudara a simplificar y dinamizar la forma de pensar. Para la explicación de cada una de estas
usaremos solamente letras que simbolizan las proposiciones, indicando la generalización de las
leyes:

1- Ley de doble negación


Si se aplica una doble negación a una determinada proposición obtendremos la misma proposición
sin negar:

p´´ <=> p
2- Leyes conmutativas
En los siguientes casos se puede conmutar la posición de las proposiciones en la fórmula sin que
ello afecte al resultado final:

(p v q) <=> (q v p)
(p ^ q) <=> (q ^ p)
(p↔q) <=> (q↔p)

3- Leyes Asociativas
En los siguientes casos se pueden agrupar de diferente forma las proposiciones sin que ello afecte el
resultado final:

[(p v q) v r] <=> [p v (q v r)]


[(p ^ q) ^ r] <=> [p ^ (q ^ r)]

4- Leyes distributivas
En los siguientes casos podemos proceder a distribuir las proposiciones dentro de la fórmula, para
lograr una simplificación de esta, sin que ello afecte el resultado final:

[p v (q ^ r)] <=> [(p v q) ^ (p v r)]


[p ^ (q v r)] <=> [(p ^ q) v (p ^ r)]

5- Leyes de idempotencia
La ley de idempotencia indica que cuando se compara el mismo enunciado mediante los conectores
“o” e “y” se obtiene el mismo enunciado:

(p v p) <=> p
(p ^ p) <=> p

6- Leyes de identidad
Estas leyes definen el comportamiento de las proposiciones cuando se conectan con tautologías (t) y
contradicciones (c):

(p v c) <=> p
(p v t) <=> t
(p ^ c) ↔ c
(p ^ t) ↔p

7- Leyes de DeMorgan
Estas leyes definen el comportamiento de las fórmulas que contienen negadores “no” y su relación
con los conectores “o” e “y”:

(p v q)´ <=> (p´ ^ q´)


(p ^ q)´ <=> (p´ v q´)
(p v q) <=> (p´ ^ q´)
(p ^ q) ↔ (p´ v q´)

8- Ley contrapositiva
Esta ley relaciona el conector condicional con los negadores:

(p → q) <=> (p´ → q´)

9- Ley de implicación

Esta ley define la sustitución del conector condicional mediante el uso de conectores “o” e “y” y
negadores:

(p → q) <=> (p´ v q)
(p → q) <=> (p ^ q´)´

10- Ley de equivalencia


Esta ley define la sustitución del conector bicondicional mediante el uso de conectores
condicionales y el conector “y”:

(p ↔ q) <=> [(p → q) ^ (q → p)]

11- Ley de exportación


Esta ley vincula la sustitución de determinados conectores por otros:

(p ^ q → r) <=> [p → (q → r]
12- Ley de reducción al absurdo
Esta ley se utiliza para demostrar la validez de proposiciones cuyo valor de verdad es categórico,
tratando, mediante el uso de una contradicción dar validez al enunciado. En lógica tiene la siguiente
forma:

(p → q) <=> [(p ^ q´) → r]

También podría gustarte