Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Eso Que Llamamos Logica
Eso Que Llamamos Logica
Resumen de los apuntes de la asignatura Metodologa, del Segundo Curso de Informtica, curso 1973-74
Macluskey, 2012
con la colaboracin de Javier J Sedano
2011-2012 Macluskey, excepto donde se indique lo contrario. 2011-2012 Javier J Sedano, Apndices II y III. Distribuido segn la licencia Creative Commons ReconocimientoNoComercial-SinObraDerivada 2.5 Espaa [http://creativecommons.org/licenses/by-nc-nd/2.5/es/] Usted es libre de copiar, distribuir y comunicar pblicamente la obra bajo las condiciones siguientes: Reconocimiento. Debe incluir esta pgina completa en la reproduccin de la obra, sin alteracin alguna. No comercial. No puede utilizar esta obra con fines comerciales. Sin obras derivadas. No se puede alterar, transformar o generar una obra derivada a partir de esta obra. Al reutilizar o distribuir la obra, tiene que dejar bien claros los trminos de licencia de esta obra. Alguna de estas condiciones puede no aplicarse si obtiene el permiso del titular de los derechos de autor. Nada en esta licencia menoscaba o restringe los derechos morales del autor.
Estas pginas estn dedicadas a Jos Pepe Cuena Bartolom, quien, en los albores de la informtica, nos ense no solamente Lgica, sino tambin a pensar Tus alumnos nunca te lo agradeceremos lo suficiente.
ndice
Prefacio............................................................................ 7 Introduccin ..................................................................... 9 I- El lgebra de Boole .......................................................19 II- La Forma Normal Disyuntiva en el lgebra de Boole .........35 III- lgebra de Circuitos ....................................................47 IV- El lgebra de Conjuntos, revisitada ................................63 V- El Clculo Proposicional .................................................79 VI- La escurridiza Implicacin Lgica ...................................95 VII- El proceso de deduccin lgica ................................... 117 VIII- El clculo de predicados ........................................... 137 IX- La inferencia lgica.................................................... 149 Apndice I: Solucin al Problema del Maquinista. ............... 167 Apndice II: La reduccin de Karnaugh, por J ..................... 173 Apndice III - Lgica digital, por J..................................... 183
Prefacio
Querido lector: tienes en tus manos, o mejor, en tu ordenador, un no s cmo llamarlo: un libro electrnico, un documento, un estudio arqueolgico, unas apostillas, un... qu s yo, un conjunto de pginas, en definitiva, donde he recopilado los artculos de la serie Eso que llamamos Lgica que se fueron publicando en El Cedazo (es decir, el blog comunitario de El Tamiz: www.eltamiz.com/elcedazo) entre octubre de 2011 y mayo de 2012. Podis acceder al contenido de la serie completa en esta direccin de internet: www.eltamiz.com/elcedazo/eso-que-llamamoslogica. Adems de los artculos publicados por m, he recopilado tambin los dos artculos relacionados con la serie que public nuestro amigo Javier J Sedano, otro editor de El Cedazo: uno, sobre el mtodo de reduccin de Karnaugh, y el otro, sobre lgica digital, donde explicaba cmo se disean las puertas lgicas que forman la circuitera de todos los artilugios electrnicos. Estos dos artculos se publicaron como Anexos, y los encontraris como Apndices (II y III, respectivamente) al final del libro. Todos estos artculos, publicados cada pocas semanas, estn escritos con la tnica lgica y esperable en una serie de artculos publicados a lo largo de varios meses en un blog. Ahora, para esta recopilacin en un nico documento, he intentado adecuar la estructura y el discurso al hecho de que la serie est ya completamente escrita, y por tanto no tienen sentido frases muy normales en el blog, como Dentro de unos das veremos tal y tal cosa o Si tenis dudas, no dudis en preguntar en los comentarios, etc. Sin embargo, a pesar de esta adecuacin, en los diferentes captulos del libro se sigue notando claramente su origen bloguero. Eliminarlo hubiera sido tanto como reescribirlo de arriba abajo, y no creo que merezca la pena hacer tal cosa, pues adems as, en caso de duda, siempre se puede buscar en las entradas originales publicadas en el blog, ver los comentarios que los lectores hicieron, etc.
En fin: ojal que estas pginas os sean de utilidad y que, leyndolas, aprendis mucho, pero mucho, mucho, sobre Eso que llamamos Lgica.
Macluskey, 2012
Introduccin
Como buen informtico del Neoltico que soy, soy bastante bueno en Lgica. De veras, bastante bueno, y yo nunca miento. Nunca, jams... Bueno, casi nunca, al menos. Soy bueno quiz no en la lgica aristotlica, por llamarla de algn modo, pero s, al menos, en la lgica que se debe usar en los algoritmos informticos de la lgica o lo que sea por la que se rigen los humanos en sus acciones reconozco que entiendo ms bien poco. Aunque, para ser precisos, era bueno en lgica: con el paso de los aos cada vez entiendo menos mi profesin, mi pueblo, mi pas, mi mundo seguro que soy yo, claro, que son mis neuronas las que han perdido capacidad con el tiempo y ya no entienden montones de cosas que antes comprendan bien. Pero el caso es que en los aos 70 y 80 del siglo pasado haba que ser bueno en lgica informtica si queras prosperar en mi profesin. Y yo lo era.
Jos Cuena Bartolom, delante de su amada pizarra, en 1973 O sea, que, adems de tener una rara habilidad para desarrollar algoritmos eficacsimos para resolver complicados problemas de todo tipo, resulta que tambin soy bastante bueno en lgica formal. Y no es que lo sea por ciencia infusa, no, sino ms bien porque disfrut en mi ya lejana carrera, all por el principio de los setenta del siglo pasado, de las lecciones de uno de los me-
10
11
Volviendo a mi colega, el filsofo de tarda vocacin No recuerdo qu estudios tena antes de decidirse a estudiar Filosofa, probablemente algunos de la rama de ciencias, pero en cualquier caso seguro que con el tiempo los tena satisfactoriamente olvidados. Se encontr, obviamente, en un curso donde sus compaeros eran en su gran mayora adolescentes recin salidos del Bachillerato, que haban cursado por la rama de Letras y que, por tanto, haca tiempo que no vean en serio nada que tuviera ver con matemtica de ningn tipo. Cuando empezaron las clases en la asignatura de Lgica fue el desparrame. Nadie entenda nada. Lo que all se contaba pareca chino capuchino para todos, incluido mi colega. No tenan armas ni bagajes como para entender la asignatura y, desde luego (y conste que hablo de odas, pero no creo equivocarme), el profesor tampoco ayudaba, con explicaciones seguramente muy filosficas pero muy poco didcticas.
12
Bien, el caso es que tomando un caf con mi colega, y tras comentar debidamente el tiempo y el resultado del partido de turno, le pregunt educadamente por su experiencia universitaria, y me dice: la Epistemologa, bien; la tica, muy bien; la Historia de la Filosofa, muy de hincar codos y aprendrsela de memoria lo que me va fatal es la Lgica: no entiendo nada! . Yo me extrao: la Lgica? Pero si es sencillsima! . Y l se extraa ms: SENCILLSIMA?? Tu caf es alucingeno, o qu? Pero si no la entendemos ni uno.
13
Aprob. Con notable alto. Parece que los apuntes corrieron como la plvora entre sus colegas estudiantes. Y parece que el profesor casi se suicida cuando, al final del curso, tuvo que aprobar a la mayor parte de la clase. Con lo bien que lo llevaba el buen hombre al acabar el primer trimestre, con prcticamente todos sus alumnos suspensos! Posteriormente charlamos, con otro caf en la mano, al que esta vez invit mi colega (aunque, eso s, estaba igual de malo que
14
El caso es que, conociendo cmo funciona la Universidad espaola, a m no me extraa nada que en la Facultad de Filosofa siguieran contando la Lgica con silogismos y dems, como en el Siglo XVII, pero al menos estaba seguro de que en las carreras de ciencias, y particularmente en las de ingeniera de informtica, la enseanza de Lgica formal (cuyo dominio es bsico para poder ser un buen ingeniero informtico, o al menos lo era), se hara con todos los predicamentos de calidad, al menos igual de bien como a m me lo contaron cuarenta aos ha. Ja! Pues va a ser que no. Mi hija, estudiante de ingeniera informtica, me cont una ancdota lamentable cuando el profesor (o profesora, no recuerdo) de alguna asignatura sobre Lgica fue incapaz de explicar a la concurrencia por qu la implicacin lgica tiene la frmula que tiene cosa que veremos con detalle dentro de unos cuantos captulos. Les vena a decir que esto es as porque es as es como la suma, por qu dos ms dos son cuatro?, pues porque s, es as, y punto. Y punto. S, s, habis ledo bien: Y punto!!!! Toma ya. Nada menos que en tercero o cuarto de Carrera! En fin. Es completamente inadmisible que cualquier profesor universitario, y ms en una asignatura que tiene que ver con la matemtica, es ms: con la lgica!, diga que las cosas son as porque son as! En dos palabras: Impresionante. Espero que Jesuln de Ubrique no me cobre derechos de autor por usar su mejor frase As nos va. Naturalmente, me sent con mi hija exactamente cinco minutos, le cont por qu la implicacin lgica es como es (de veras: es una deduccin completamente lgica), lo comprendi perfectamente y se indign porque toda una profesora universitaria que, se supone, se gana la vida enseando
15
Pero aviso, y el que avisa no es traidor: Habr frmulas. Frmulas matemticas. No una, ni dos. Un puao. En ninguno de los prrafos anteriores dije que el libro se llamara Lgica sin frmulas. Eso s, aseguro que todas y cada unas de las frmulas y pasos de clculo que iremos viendo son sencillos, lgicos, casi inevitables en muchos casos. No veris ms operaciones que sumas y multiplicaciones. No habr integrales, ni derivadas, ni races cuadradas, ni series de Taylor, ni nmeros imaginarios, ni numero e, ni PI, ni n de n. Con slo los signos + y (pues ni siquiera restar o dividir nos har falta) nos apaaremos para descifrar cualquier intrngulis lgico que nos echen. En una palabra: Creo que podris seguir bien las frmulas. Si os ponis a ello, claro. Si os ponis. Y dicho esto, he de hacer igualmente una precisin: si sois lgicos, filsofos, matemticos o, incluso, informticos de carrera, igual esta forma de contar algo tan lgico como la Lgica os parece, cuando menos, naf, ingenua, poco formal y escandalosamente simplista, incluso en algunos casos, errnea. Quiz. Es ms: Seguramente. Hay que tener en cuenta que estoy contando una historia en buena parte olvidada basada en engorrinados apuntes de hace casi 40 aos (y, diga lo que diga el tango, veinte aos s que son algo, y cuarenta mucho ms!) de una carrera sobre una disciplina, la informtica, que por entonces se estaba definiendo
16
Y como todas las cosas bien hechas, este libro sobre Eso que llamamos Lgica empieza, lgicamente, por el principio, por la base fundamental en que todo lo dems se asienta. El primer captulo tratar, como no puede ser de otro modo, de lo que pas aquel lejano primer da de clase. Tratar del lgebra de Boole.
17
18
I- El lgebra de Boole
Tras la breve (bueno, vale, no tan breve) introduccin, hoy empezar a destripar cmo es la Lgica por el principio, siguiendo los apuntes de la asignatura de Segundo de Carrera que imparti D. Jos Cuena all por 1973 Y empezar, como es lgico, por sus bases ms fundamentales. Por lo que es imprescindible conocer para poder seguir el resto de captulos y para poder razonar mnimamente. Por el lgebra de Boole.
Primer da de clase. Octubre de 1973. A la hora en punto aparece el profesor de la asignatura (muy mal sntoma: el primer da y llegar puntual a la hora dnde se ha visto eso?) y se presenta: Soy Jos Cuena, y aunque el nombre de la asignatura sea Metodologa, en realidad lo que yo voy a ensearles a Vds. es Lgica. Pues vale, ningn problema. Total, slo un par de horas antes se haba presentado el profesor de otra asignatura de nombre Informtica Bsica II, y nos dijo algo similar: Como no tengo ni idea de qu es lo que hay que dar en esta asignatura, yo les contar de arriba abajo las tripas del ordenador que yo conozco, que a la sazn es el UNIVAC 1110 Estbamos en 1973, se trataba de una Carrera nueva, los profesores, que tambin eran nuevos, eran todos, sin excepcin, profesionales que trabajaban en las incipientes empresas informticas de la poca (IBM, Bull, NCR, UNIVAC, Iberia, RENFE, etc), y los temarios de las asignaturas se iban construyendo sobre la marcha. Menuda diferencia con lo que pasa ahora, donde prcticamente ni uno solo de los profesores de las facultades de informtica espaolas ha trabajado jams en la empresa privada Y s muy bien que esta frase es injusta para algunos profesores, desgraciadamente pocos, que son la excepcin que confirma la regla. Mis disculpas para todos ellos: eso es lo que tiene generalizar, que en ocasiones hace confundir churras con merinas
19
George Boole. El caso es que D. Jos (en realidad Pepe para todo el mundo), tras presentarse, comenz inmediatamente a explicar el lgebra de Boole, lo que fue el mal sntoma definitivo: empezar a explicar la asignatura el primer da? As, por las buenas? Eso s que no se haba visto nunca hasta entonces. Todos mis profesores de todos los cursos anteriores nos haban instruido acerca del axioma que reza: La primera clase no se da, y la ltima se perdona. Pues resulta que no era un axioma, mire usted. Rpidamente todos sacamos, nuestros cuadernos/folios/papeles de tomar apuntes muy aplicadamente, y comenzamos a copiar lo que nos iba explicando. He dicho alguna vez que, en 1973, no haba ni un solo libro que pudiramos usar para estudiar una asignatura de informtica? Pues lo digo. Seguramente s existan libros sobre ciertas disciplinas en ingls! O sea, como si fuese chino o arameo : el idioma moderno que estudi mi generacin en el Colegio o en el Instituto era franais, bien sr. Y el ingls? Non, non, pas danglais. El poco ingls que yo saba lo aprend en una Academia privada, en cursos de verano, obligado por mi madre (a quien nunca se lo agradecer lo suficiente, pues mis preferencias iban ms por holgazanear, jugar mal- al ftbol e ir a hacer el burro a la piscina). Los dems, ni eso. Como consecuencia, los apuntes tomados de las explicaciones de los profesores y sus grficos y frmulas escritos en la pizarra eran oro molido, casi el nico medio de poder seguir y aprobar la asignatura.
20
21
El lgebra de Boole
Se trata de un sistema [S,+,] compuesto de un conjunto (S), y dos operaciones definidas sobre l (+,), en el que se verifican unas ciertas propiedades. Las operaciones deben ser cerradas, es decir, aplicadas a dos elementos pertenecientes a S, su resultado es otro elemento perteneciente a S. Atencin: aunque esto mismo lo repetir varias veces a lo largo del libro, aviso aqu por primera vez que los signos (+,) no representan la suma o la multiplicacin tal como estamos acostumbrados. Tommosles simplemente como un par de garabatos que representan un par de operaciones que se aplican a los elementos del conjunto S, y ya veremos cmo se comportan.
Las propiedades del conjunto se definen exclusivamente mediante unos ciertos axiomas de entrada; una vez definidos estos axiomas, todos los teoremas resultantes sern demostrados a partir de ellos. Los axiomas del lgebra de Boole fueron postulados por Edward Vermyle Huntington en 1904. Como sabris, un axioma es un postulado indemostrable, que se toma como cierto siempre y en toda ocasin y que sirve de base para cualquier demostracin posterior de un determinado teorema. As como los axiomas de Peano son la base formal de la aritmtica, del mismo modo los de Huntington son la base del lgebra de Boole. Y estos axiomas de Huntington son solamente cuatro, aunque, como son duales, como veremos en un momento, podramos decir que en realidad son ocho. Unos aos ms tarde, en 1933, Huntington revis esos axiomas, simplificndolos, pero Pepe Cuena nos cont los de 1904 y esos son tambin los que voy a contar yo aqu a continuacin.
22
Axioma 3: Ambas operaciones son distributivas respecto de la otra operacin (Ley distributiva).
a(b+c) = ab+ac (b+c)a = ba+ca a+(bc) = (a+b)(a+c) (bc)+a = (b+a)(c+a)
Axioma 4: Para cada elemento existe su complementario. Todo elemento a perteneciente a S tiene un complementario a, tambin perteneciente a S, tal que:
a+a = 1 aa = 0
Y esto es todo, amigos. Aviso para navegantes: Si habis detectado algo raro eso no es nada. Esperad y ved.
23
Comencemos.
24
Teoremas bsicos
Teorema 1: Idempotencia. a+a = a; aa = a
a+a = a a = a+0 = a+(aa) = (a+a)(a+a) = (a+a)1 = (a+a) A2 Izq. A4 Der. A3 Der. A4 Izq. A2 Der. a = a1 = a(a+a) = (aa)+(aa) = (aa)+0 = (aa) aa = a A2 Der. A4 Izq. A3 Izq. A4 Der. A2 Izq.
Teorema 2: a+1 = 1; a0 = 0
a+1 = 1 1 = a+a = a+(a1) = (a+a)(a+1) = 1(a+1) = a+1 A4 Izq. A2 Der. A3 Der. A4 Izq. A2 Der. 0 = aa = a(a+0) = (aa)+(a0) = 0+(a0) = a0 a0 = 0 A4 Der. A2 Izq. A3 Izq. A4 Der. A2 Izq.
Teorema 3: Ley de absorcin. a+(ab) = a; a(a+b) = a Para demostrar este teorema usaremos no slo los cuatro axiomas iniciales, sino tambin el recin demostrado Teorema 2, cosa que podemos hacer porque ya hemos demostrado dicho Teorema 2 a partir de los axiomas del lgebra.
25
Para demostrar este teorema es preciso demostrar antes dos lemas independientes.
Lema 1:
a(a+(b+c)) = a((a+b)+c) a(a+(b+c)) = a = a+(ac) = (a(a+b))+(ac) = a((a+b)+c) T3 Der. T3 Izq. T3 Der. A3 Izq. a+(a(bc)) = a+((ab)c) a+(a(bc)) = a = a(a+c) = (a+ab)(a+c) = a+((ab)c) T3 Izq. T3 Der. T3 Izq. A3 Der.
26
Lema 2:
a(a+(b+c)) = a((a+b)+c) a(a+(b+c))=(aa)+(a(b+c)) = A3 Izq. 0+(a(b+c)) = a(b+c) = (ab)+(ac) = (0+(ab))+(ac) = ((aa)+(ab))+(ac) = (a(a+b))+(ac) = a((a+b)+c) A4 Der. A2 Izq. A3 Izq. A2 Izq. A4 Der. A3 Izq. A3 Izq. a+(a(bc)) = a+((a.b)c) a+(a(bc))=(a+a)(a+(bc))= A3 Der. 1(a+(bc)) = a+(bc) = (a+b)(a+c) = (1(a+b))(a+c) = ((a+a)(a+b))(a+c) = (a+(ab))(a+c) = a+((ab)c) A4 Izq. A2 Der. A3 Der. A2 Der. A4 Izq. A3 Der. A3 Der.
Bien: teniendo convenientemente demostrados ambos lemas, ahora aplicamos a cada lado respectivamente las operaciones + y (que, ojo, no tenemos por qu saber que se llaman suma o multiplicacin) miembro a miembro, el primer miembro de ambos lemas por un lado, y el segundo, por el otro. Ambas ecuaciones sern iguales, pues aplican la misma operacin + o a los dos lados de la igualdad. Para que quede claro: si tenemos dos igualdades (los dos lemas) que son, por ejemplo, a=b y c=d, evidentemente es cierto que se cumple ac=bd, y por supuesto ocurre lo mismo con el signo +: a+c=b+d.
27
Nota de Macluskey en 2012: Sinceramente, nunca pens que costara tanto definir algo tan obvio como la propiedad asociativa para que veis lo que cuesta establecer las bases formales de cualquier disciplina.
Teorema 5: Para cada elemento a de S existe un complementario a y slo uno. Atencin: Este teorema no dice lo mismo que el axioma A4, aunque en una visin apresurada podra parecerlo. All establecamos que existe la nocin de complementario, es decir, que cada elemento de S tiene elementos complementarios, al menos uno, mientras que este Teorema 5 afirma que el complementario de cada elemento de S es uno y slo uno, exactamente uno y ni ms ni menos que uno. O sea: uno.
28
x=1x = (a+y)x = (ax)+(yx) = 0+(yx) = (ay)+(yx) = (ya)+(yx) = y(a+x) = y1 = y Luego ambos complementarios, x e y, son iguales. Por tanto hay un nico complementario de a, que es a.
Teorema 6: El complementario del complementario de un elemento a de S es igual al propio a. Es decir: (a)=a Sabemos por el Axioma 2 que: a+a=1 y tambin que aa=0. Suponiendo que (a)=x, ocurrir que: a+x=1, y ax=0, dado que ese x es el complementario de a. Igualando los unos y los ceros de ambas ecuaciones (de stas y de las de arriba) tenemos que: a+a = a+x, y que aa = ax; el nico valor que cumple ambas ecuaciones es x=a, luego a es el complementario del complementario de a. Y no es un trabalenguas, que conste.
29
Teorema 8: Leyes de De Morgan. (a+b) = ab ; (ab) = a+b Los informticos usamos muy a menudo las leyes de De Morgan para simplificar una frmula lgica. O, al menos en mis tiempos, las usbamos a menudo...
He aqu su demostracin:
30
(a+b) = ab Sea x = (a+b) Entonces: 1) (a+b)x=0 y 2) (a+b)+x=1 Probamos x=(ab) en 1): (a+b)(ab) = (aab)+(bab) = (aab)+(bba) = (0b)+(0a) = 0+0 = 0 Probamos x=ab en 2): (a+b)+(ab) = a+(b+(ab)) = a+(b+a)(b+b) = a+(b+a)1 = a+b+a = a+a+b = 1+b = 1 T4 Izq. A3 Der. A4 Izq. A2 Der. A1 Izq. A4 Izq. T2 Izq. A3 Izq. A1 Der. A4 Der. T2 Der. T1 Izq. A4 Der. A4 Izq.
(ab) = a+b Sea x = (ab) Entonces: 1) (ab)x=0 y 2) (ab)+x=1 Probamos x=(a+b) en 1): (ab)(a+b) = (aba)+(abb) = (aab)+(bba) = (0b)+(0a) = 0+0 = 0 Probamos x=(a+b) en 2): (ab)+(a+b) = (a+b)+(ab) = a+(b+(ab)) = a+(b+a)(b+b) = a+(b+a)1 = a+b+a = a+a+b = 1+b = 1 A1 Izq. T4 Izq. A3 Der. A4 Izq. A2 Der. A1 Izq. A4 Izq. T2 Izq. T5 A3 Izq. A1 Der. A4 Der. T2 Der. T1 Izq. A4 Der. A4 Izq.
Luego x = (a+b) = ab
T5
31
No entendamos casi nada, claro, porque, consecuencia de nos-cuntos aos de estudios reglados de matemticas-comoDios-manda, no podamos evitar ver el signo + como una suma, y el signo como un producto, por mucho que hubiramos sido advertidos y aquel amasijo de frmulas no tena el menor sentido. Lo de que a+0=a lo veamos claro y nos pareca muy bien y muy lgico, y lo de que a1=a, tambin, pero Cmo que 1+a=1? Qu es eso de que a+a=a? No ser 2a, como toda la vida? Y, para ms escarnio, cmo es que de pronto existe la propiedad distributiva de la suma respecto de la multiplicacin? Y como axioma, nada menos! El caso es que nadie interrumpi a Don Jos ese da. Nos limitamos a tomar apuntes como si nos los hubiera dictado un extraterrestre y a un extraterrestre no se le discute cuando te cuenta su conocimiento superior, y menos an en la poca de Franco. Yo me fui a mi casa. Repas los apuntes. Tres veces (ya digo, hasta aqu son slo tres pginas escasas). Nada. Al da siguiente, en lugar de ir a la sacrosanta cafetera en los descansos entre clases, nos quedamos unos pocos recalcitrantes para descifrar aquello Y al da siguiente Y de pronto a alguien (creo que fue a m, que siempre he sido muy listo ejem, pero no estoy seguro) se le ocurri proponer: Oye, digo yo y si cambiamos el + por la Unin de Conjuntos y el por la Interseccin? Qu pasara? Pues lo que pas es que de pronto, instantneamente, se nos hizo la luz a todos. Evidentemente, naturalmente, ciertamente todo tena sentido entonces.
32
Ha sido ste un captulo denso. Muy denso. Pero en l estn las bases de toda la Lgica y de mucho ms. No es necesario que lo aprendis de memoria, creo yo, sino ms bien tenerlo de referencia para cuando haga falta. Si el captulo es en definitiva un rollo soberano, es mi culpa. Pero si ha resultado un buen captulo, quiz excepcional, no es mrito mo, pues me he limitado a descifrar mis viejos apuntes y ponerlos en un formato inteligible Y eso s que ha tenido mrito!
A partir de aqu seguiremos escuchando, va el tnel del tiempo, a Pepe Cuena en 1973, ensendonos a seguir pensando.
33
34
Como ya nos habamos dado cuenta los de clase, o al menos la mayora, que para algo el descubrimiento de la semana pasada haba corrido como la plvora, de que el lgebra de Boole era la que regulaba la Teora de Conjuntos, rpidamente nos dimos cuenta de que la relacin en conjuntos era exactamente la relacin Contiene que estudiamos en dicha teora. Mejor dicho, puesto que aqu es menor o igual que y no mayor o igual que, en realidad se trata de la relacin Es Contenido por. Y claro, a partir de aqu todo fue coser y cantar. Si el conjunto A es contenido por B, esto implica que la interseccin de A y el complementario de B es el conjunto vaco ergo implica que . Naturalmente. Evidentemente. Claro. Qu tontera!
35
Toda la clase estuvo dedicada a demostrar las diferentes propiedades de tal relacin, en demostrar que es una relacin de orden, y, dentro de las de orden, de orden parcial, puesto que la relacin Menor o Igual no abarca a todos los elementos del conjunto S.
Por muy intimidante que parezca el prrafo anterior, en realidad es una tontera, es muy sencillo de entender: La relacin en los nmeros naturales o en los reales, por ejemplo, es de orden total: cada uno de todos los nmeros es o menor o mayor (o igual) que todos los dems, pero tratando, por ejemplo, con conjuntos no tiene por qu ser as: pueden existir conjuntos que ni contienen ni son contenidos por otros conjuntos. El ejemplo ms claro es lo que ocurre entre un conjunto y su complementario, por ejemplo, los espaoles con los extranjeros (los no espaoles, vaya): ninguno de los dos conjuntos contiene al otro, es ms, es que en ese caso no comparten ni uno slo de sus elementos.
36
No voy a demostrar estas frmulas: no son muy complicadas, por no decir que son intuitivas. Pensando en conjuntos se ve muy fcilmente: si x est contenido en y, tambin estar contenido en la Unin de y con cualquier otra cosa; y si x est contenido en y, entonces los complementarios cumplan la relacin opuesta: el complementario de y est contenido en el de x. Muy evidente, como veis. Quedmonos finalmente con esto: la relacin en un lgebra de Boole es de orden parcial, y con eso nos sirve. Le bamos cogiendo el tranquillo a esto de la Lgica
Siguiente da, siguiente semana. Hora en punto, nuevamente. Esto ya se est convirtiendo en todo un sntoma Hoy D. Jos nos hablar de La Forma Normal Disyuntiva de las expresiones (funciones) en un lgebra de Boole. Mmmm. La qu? S, la Forma Normal Disyuntiva, qu pasa? Ser algo importantsimo para lo que sigue ms adelante, as que hagamos menos chiribitas con los ojos, y vayamos al grano.
37
38
Cabe decir aqu que a partir de ahora har lo mismo que Don Jos hizo hace casi cuarenta aos, simplificando la notacin de las frmulas de la misma manera que lo hacemos en el lgebra normal, la numrica: no escribiendo el signo , salvo en los casos donde su uso sea preciso para hacer ms descriptiva la frmula. Es decir, la frmula del ejemplo de arriba (y todas las dems) la escribir preferentemente a partir de ahora del siguiente modo:
Se entiende, no? Pero recordad que + no es suma ni es multiplicacin en el sentido numrico habitual, sino que son sumas booleanas o productos booleanos, que ya veremos cmo se definen en segn que sistemas En conjuntos, por ejemplo, + es Unin y es Interseccin, como ya sabis. En otros sistemas, sern otras cosas Paciencia.
Volviendo a la afirmacin de hace un ratito (eso de que toda funcin se puede descomponer en sumas de productos), veremos cmo se llega a esto, procediendo a la reduccin sistemtica de las expresiones en tres pasos:
Paso 1: Quitar sistemticamente toda complementacin a frmulas entre parntesis. Para ello usaremos extensivamente las Leyes de De Morgan. stas fueron demostradas en el Teorema 8 que vimos en el captulo anterior.
39
Al final de este paso slo estn complementadas las variables individuales, no operaciones con ellas.
Paso 2: Quitar sistemticamente el signo entre parntesis, aplicando la propiedad distributiva. As, quedara . Por ejemplo, quedara .
En realidad, se es el resultado final, tras dos pasos. El primero de ellos dejara , y en un segundo paso quedara ; reordenando los trminos queda la frmula del texto. Por supuesto, si algn trmino tiene simultneamente una variable x y su complementaria, x, al estar ambas multiplicndose entre s, el resultado de esta multiplicacin es cero, por lo que podemos eliminar sin pudor alguno el trmino completo. As, si, por ejemplo, resultara un trmino , al ser , queda , y podemos eliminar el trmino completo, pues sabemos que . Adems, si quedan dos o ms trminos exactamente iguales, se pueden eliminar todos menos uno, puesto que sabemos tambin que . Bien, ahora tenemos ya la expresin reducida a una suma de productos distintos pero no es suficiente, porque es posible que no en todos los productos estn representadas todas las variables, lo que era uno de los requisitos iniciales. De hecho, en el ejemplo anterior son 4 las variables y ningn trmino tiene ms que dos Hay que hacer algo para que todos los trminos tengan todas las variables, bien complementadas, bien sin complementar, que era el requisito previo, si os acordis. Para solucionarlo:
40
Veamos un ejemplo: Sea . Con tres variables, como podemos ver: x,y,z. Cul es su Forma Normal Disyuntiva? Aconsejo a los que os interese todo esto que intentis realizar el proceso vosotros solos, tenis conocimientos y argumentos ms que suficientes para hacerlo y es fcil. Segn el paso 1, se eliminan los complementos en parntesis (por Ley de De Morgan). queda, en primer lugar, , que a su vez queda . Reordenando los productos (gracias a la propiedad conmutativa) queda, por fin: . Ahora aplicamos la distributiva (paso 2). Primero, sacamos en los dos primeros trminos como sumando comn a x (mira que resulta raro lo de sacar sumando comn ms vale acostumbrarse), y entonces queda:
41
Si os lo estabais preguntando, s, efectivamente, tambin hay una Forma Normal Conjuntiva, que es parecida a la FND, pero sustituyendo los + por y viceversa, as que lo que resulta es un producto de trminos tal que cada uno de ellos es una suma que contiene todas las variables, complementadas o no, en vez de una suma de productos La demostracin es idntica, en realidad, a la de la Forma Normal Disyuntiva, cambiando, en los pasos 2 y 3, el 1 por el 0 y el + por el , y viceversa. Ya lo sabis: todo en lgebra de Boole es dual.
Podramos ahora definir una Forma Normal Disyuntiva Completa, que es, para n variables, la suma de todos los productos posibles de esas n variables complementadas y sin complementar, que, como es fcil comprobar, son en total : las permutaciones de 2 elementos (los dos estados: complementado-sin complementar) tomados de n en n.
42
Por otra parte, se demuestra tambin fcilmente que, suponiendo como conjunto de valores posibles slo 0 y 1, y dando a las variables valores arbitrarios entre estos valores 0 1, en la Forma Normal Disyuntiva Completa slo habr un nico trmino que valdr 1 y todos los dems, 0 (y su suma, 1, claro, al sumar muchos ceros y un nico 1). Esto es as porque para que un trmino (producto) cualquiera valga 1 en estas condiciones, todas las variables que lo componen tienen que valer 1, por lo que habr slo una combinacin plausible: cualquier otra combinacin variar en al menos un valor de una variable, que ser entonces 0 y anular al trmino completo, al estar esa variable que es igual a cero multiplicando al resto. Y lo mismo ocurre con la Forma Normal Conjuntiva, pero al revs, claro: la Forma Normal Conjuntiva Completa ser siempre cero, por los mismos argumentos, aunque cambiando el 0 por el 1 y la suma por la multiplicacin, y viceversa. Ah, la dualidad, siempre la dualidad en el lgebra de Boole.
Un pequeo ejemplo para fijar las ideas (recordad que en este caso concreto los valores permitidos de las variables slo pueden ser 0 y 1): Mirando la Forma Normal Disyuntiva Completa de un conjunto de tres variables, x,y,z, uno de los trminos que la forman es, necesariamente, . Este trmino slo puede valer 1 para los valores siguientes de las variables: x=1; y=0; z=1. Si los valores de las variables fueran exactamente estos, qu les ocurrir al resto de trminos de la FNDC, por ejemplo al ? Pues que variarn en al menos la complementacin de una variable, en nuestro ejemplo en dos: x e y. Y al variar en alguna variable, quiere decir que alguno de los trminos del producto ser 0, por lo que el producto completo ser cero.
43
Vale, todo esto est muy bien, pero Para qu diablos sirve esta dichosa Forma Normal Disyuntiva? Pues para saber si dos funciones son en realidad la misma, puesto que toda funcin que sea igual a otra tendr su misma Forma Normal Disyuntiva (y tambin su misma Forma Normal Conjuntiva, claro).
Esto nos ser de gran utilidad ms adelante, porque podemos representar la FND de cualquier funcin booleana en forma de tabla y esto ser crucial para comprender segn qu sistemas. Habr que esperar a los siguientes captulos del libro para irlo descubriendo. Paciencia.
Veamos entonces cmo quedara la frmula que habamos visto antes, aquella tan fea en la que, tras operar convenientemente, habamos visto que su Forma Normal Disyuntiva era finalmente la siguiente: . Para rellenar la dichosa tabla, representamos todos los valores posibles de la Forma Normal Disyuntiva Completa (en este caso sern ), y entonces marcamos con un 0 los trminos que no estn en su FND, y con un 1 los que s estn, proceso que convendris conmigo que es bastante sencillo.
44
Aqu se acab la clase, aquel fro otoo de 1973. Y el captulo con ella. En los captulos que vienen a continuacin usaremos continuamente estas tablas de valores, as que mejor comprenderlas muy bien
45
46
47
En cuanto a cmo podemos conectar cables e interruptores, o sea, qu operaciones es posible realizar con ellos, hay dos maneras, y slo dos: En serie: Dos interruptores x e y estn conectados en serie si estn conectados uno a continuacin del otro sobre la misma lnea. La corriente slo pasa si ambos interruptores estn simultneamente cerrados. En paralelo: Dos interruptores x e y estn conectados en paralelo si estn conectados cada uno en un ramal de la lnea, volviendo a unirse ambos inmediatamente despus. La corriente
48
Entonces, el esquema de funcionamiento puede establecerse mediante las siguientes tablas, recordando siempre que 0 significa Abierto y 1 significa Cerrado. Y s, evidentemente, aqu estamos usando la Forma Normal Disyuntiva!, la que vimos en el captulo anterior. Empezamos ya a vislumbrar cul es su enorme utilidad.
Serie () 1 1 1 x y xy Paralelo (+) 1 1 1 x y x+y
Es evidente por su comportamiento que podemos llamar a la operacin conectar en serie y + a la operacin conectar en paralelo, dado que tiene como representacin su misma tabla. Entonces, a partir de este momento usar esta notacin: cuando ponga + significa conectar en paralelo, y cuando diga , significa conectar en serie. Ahora lo que corresponde es comprobar qu es el Conjunto (S,+,) siendo S un conjunto de variables (interruptores) que admiten slo dos valores (Abierto = 0 y Cerrado = 1, porque
49
Ser acaso este conjunto una hermosa lgebra de Boole? Para que ello fuera cierto debera cumplir los cuatro axiomas de Huntington que vimos en el primer captulo del libro, pero si lo fuera entonces no tendramos que calcular nada ms: todos los axiomas y hallazgos que hicimos para un lgebra de Boole cualquiera serviran automticamente para el clculo de circuitos Y eso seguramente sera una buena cosa. Veamos, pues:
Son, quiz, conmutativas las operaciones + y ? Si escribimos la tabla anterior como tabla de doble entrada, poniendo cada variable x,y una en abscisas y otra en ordenadas, tenemos:
y y
+
0
Si nos fijamos bien, ambas tablas son simtricas respecto a la diagonal ngulo superior izquierdo ngulo inferior derecho; podemos deducir, por tanto, que ambas son conmutativas, pues. Adems, el sentido comn nos dice que si tenemos dos interruptores a y b conectados en serie, es indiferente que est fsicamente antes el a o el b el resultado es el mismo, pues slo pasa la corriente si ambos estn cerrados, y lo mismo, o mejor dicho, lo contrario, si estn en paralelo. Por lo tanto, s, los circuitos elctricos cumplen con el axioma 1 del lgebra de Boole. Sigamos.
50
En trminos algebraicos, pues: x+0 = 0+x = x, por un lado, y x1 = 1x = x, por el otro. Por tanto, existe un elemento neutro de cada operacin, y se cumple el Axioma 2 del lgebra de Boole. No va mal la cosa. Prosigamos.
51
Esta tabla la hemos construido, paso a paso, fijndonos siempre en si la corriente circula o no en cada uno de los 8 casos representados por la combinacin de las tres primeras columnas.
52
La quinta columna de la tabla, x(y+z), muestra el resultado del circuito mostrado en el primer dibujo; mientras que la ltima columna, xy+xz, muestra el comportamiento del representado en el segundo dibujo. Se ve con claridad que ambos son perfectamente equivalentes, pues con cada posible posicin de todos los interruptores, siempre que la corriente circula en el primer circuito, circula tambin en el segundo circuito, luego ambos circuitos son equivalentes, y por consiguiente cumplen esta propiedad.
Slo queda comprobar la propiedad distributiva equivalente, es decir, si la propiedad distributiva de la suma respecto de la multiplicacin se cumple tambin, y lo haremos de la misma forma, construyendo tambin su correspondiente tabla de valores. En este caso, el esquema de construccin es el siguiente:
53
Esta tabla la hemos construido tambin paso a paso, fijndonos siempre en si la corriente circula o no en cada caso. La quinta columna, x+(yz), muestra el resultado del circuito del primer dibujo, cundo circula la corriente y cundo no circula, mientras que la ltima columna, (x+y)(x+z), muestra el comportamiento del circuito del segundo dibujo. Idnticas. Por tanto, podemos asegurar que en los circuitos se cumplen ambas propiedades distributivas, es decir, cumplen tambin el axioma 3 del lgebra de Boole. Bien, bien, vamos bien Sigamos con el ltimo axioma que nos queda por comprobar.
Existir, por una afortunada coincidencia, un elemento complementario para cada elemento de S, es decir, para cada conmutador? sta s que es fcil, pues refleja la caracterstica ms caracterstica (valga la redundancia) de un interruptor: que puede estar
54
Los siguientes dibujos representan ambas situaciones, donde se puede comprobar fcilmente el cumplimiento de ambas suposiciones.
En el primero, en serie, sea cual fuera el valor de x, Abierto o Cerrado, su complementario x tiene el valor contrario. Por tanto, uno de los dos est siempre Abierto y como consecuencia no hay corriente en el final del circuito. Lo contrario pasa si estn conectados en paralelo; uno de los dos estar necesariamente Cerrado, lo que garantiza que al final del circuito haya siempre corriente. Por lo tanto, los circuitos cumplen tambin el Axioma 4 del lgebra de Boole. Y como ste postulado era el ltimo que quedaba, eso quiere decir que los circuitos cumplen todos los axiomas del lgebra de Boole.
Estupendo. Y entonces?
55
Volviendo a lo nuestro, Don Jos Cuena estuvo varios das dando vueltas a la teora de Circuitos; hablando sobre Diseo de Circuitos, o viendo, por ejemplo, el mtodo de Karnaugh para simplificar circuitos. Esto de simplificar circuitos es til cuando te dan un circuito embarullado, como los de mi casa sin ir ms lejos, y tienes que buscar un circuito equivalente ms sencillo que haga lo mismo Ojo, lo mismo, no lo correcto, que eso es otra cosa.
56
Slo voy a poner un nico ejemplo de cmo disear un circuito que probablemente sea de los ms tiles que necesitaremos en nuestras mansiones: cmo instalar un foco, lmpara o simple bombilla desnuda regulada por dos conmutadores. Un conmutador es parecido a un interruptor, tan parecidos como que por fuera son igualitos, pero con dos salidas en vez de una; por lo tanto lo que hace en realidad es enviar (conmutar) la corriente por uno u otro camino, en vez de simplemente interrumpir o no la corriente. Su diagrama es el siguiente:
Fijaos que en realidad el conmutador no interrumpe nada, tan slo deriva (conmuta) la corriente elctrica por uno u otro cable, segn que su mecanismo est situado en una u otra posicin. O sea, siempre tiene un lado abierto y el otro cerrado (salvo los nanosegundos en que el mecanismo en movimiento, en que no est en contacto con ningn borne pero mejor vamos a obviar esto, no?).
57
Volviendo a nuestro caso, lo que tenemos es una habitacin normal y corriente en la que hay dos llaves de la luz (conmutadores en este caso), una en cada extremo de la habitacin, y queremos que cualquiera de las llaves encienda/apague la luz independientemente de la posicin de la otra, es decir, que si la luz est encendida, al accionar cualquier conmutador se apague, y viceversa, si est apagada, que se encienda cuando accionemos cualquiera de los dos. Lo mismito que tenemos en el saln o el dormitorio, vaya.
Lo primero de todo es modelizar el comportamiento de nuestro sistema, teniendo en cuenta que llamaremos a los dos conmutadores x e y, para variar. Para ello crearemos la tabla de estados, en la que modelizaremos nuestro sistema de dos conmutadores. Cmo hacemos eso? Mediante la Forma Normal Disyuntiva, desde luego.
58
El primer valor (un 1) lo ponemos arbitrariamente, pues en principio igual nos da que en este caso haya luz o no en la habitacin salvo que seis unos frikis como yo y os empeis en que cuando todos los interruptores o conmutadores de la casa estn hacia abajo, est toda la casa apagada Ese truco permitira dejar todas las luces de la casa apagadas incluso cuando no hubiera electricidad. En fin, cosas mas. Lo importante, digo, es que una vez fijado este caso inicial, con una nica pulsacin sobre cualquier conmutador la luz se apague, y una vez apagada, con una nica pulsacin sobre cualquier conmutador la luz se encienda. Eso quiere decir que, desde el estado inicial (1,1), una nica variacin en cualquiera de los dos conmutadores (0,1) (1,0), debe apagar la luz; mientras que a partir de cualquiera de estos dos estados, un nico cambio en cualquier variable, o sea, una pulsacin en cualquier conmutador, encienda la luz. Esos dos estados son el (1,1) original o el (0,0). Se ve claro? Espero que s. Pues ahora podemos darnos cuenta de una pequea sutileza: si sumamos (ojo: esta vez, y sin que sirva de precedente, utilizaremos una suma numrica normal, no booleana) los valores 0 1 de cada fila, si la suma da un valor cero o par ( (1,1) suma 2, y (0,0) suma 0), el sistema debe estar encendido; mientras que si el resultado de la suma es impar ( (0,1), (1,0), que ambos suman 1), el sistema debe estar apagado. Interesante, no?
59
Ahora, sabiendo esto, podemos disear circuitos donde no haya dos conmutadores para encender/apagar un sistema, sino que haya tres, cuatro Se crea la tabla de valores de todos los estados posibles de todos los conmutadores ( posibilidades), y se marca cules de ellos deben dar como resultado de la funcin Apagado (0) Encendido (1). Para no equivocarse al asignar valores, se puede uno ayudar por el truco de sumar todos los valores (con una suma numrica normal) y asegurarse que todos los valores impares tengan el mismo valor final (0 1, igual da), y los valores pares o cero, el contrario. Este truco garantiza que desde cualquier posicin, el cambio de una nica variable (o sea, el accionamiento de un conmutador cualquiera) cambia el resultado de la suma en 1, en ms o en menos, y eso cambia la paridad del resultado final, y por tanto, el valor Encendido/Apagado de nuestra bombilla. As que, si os viene en gana y queris practicar, podis disear cmo sera el circuito para tener tres conmutadores que gobiernen el encendido de una bombilla: uno en la entrada de la habitacin, otro al lado de la cama y el tercero al lado de la mesita. No deberais tener ningn problema en llegar a la funcin.
60
En la imagen no slo est el diagrama del cruzador, sino tambin el diagrama tcnico de un cruzador comercial, para mayor informacin. En una de sus posiciones, el conmutador-cruzador permite el paso directo de corriente, de a a c y de b a d, mientras que en la otra permite el paso cruzado de la corriente, de a a d, y de b a c. Como veis, este conmutador no interrumpe nunca la corriente, sino que deriva ambas entradas por un camino o por su contrario, dependiendo de su posicin. Ya slo os queda disear el circuito
Para terminar el captulo, uno de los problemas que nos puso Don Jos en el examen sobre circuitos, all por las navidades del 73, aunque lo he tuneado un poco No es muy difcil, pero s muy divertido. No voy a dar la solucin para no chafaros el disfrute de hacerlo y aprender un poco ms sobre circuitos elctricos. Dice as:
Pedro, J y Mac, como no tienen otra cosa que hacer, estn jugando a cara o cruz con una moneda cada uno y un dispositivo elctrico con tres botones, cada uno de ellos asociado a cada uno de los jugadores, que denominaremos p, j y m.
61
Hasta aqu lo que voy a contar sobre circuitos elctricos. En la red podis encontrar mucho ms y mejor que esta breve introduccin. Y, desde luego, en cualquier curso sobre electricidad. Pero no contado de esta manera, me temo. En el prximo captulo, una vez bien sentadas las bases, empezar a hablar (mejor dicho: Pepe Cuena empezar a hablar), de una vez por todas, de algo parecido a la Lgica.
62
Bueno, pues tras contar teora sobre al lgebra de Boole y su inmediata aplicacin a los Circuitos elctricos, Pepe Cuena entr a saco a la Teora de Conjuntos (sa que conocamos malamente desde el Bachillerato, con sus diagramas de Venn y todo eso), pero con una orientacin bastante diferente de la que habamos visto entonces, con una orientacin muy lgica, si se me permite la expresin. Enseguida veris por qu digo esto Los conjuntos, definidos de la forma clsica, es decir, todos aquellos grupos de elementos dentro del Conjunto Universal que son factibles de agruparse por cualquier criterio, ms las operaciones Union (+) e Interseccin (), forman un lgebra de Boole, eso es algo bastante claro. De hecho, fue este conocimiento (al que llegamos tras horas de frustrantes especulaciones, como cont en el primer captulo del libro) el que nos libr de ser ingresados en un frenoptico cuando nos enfrentamos
63
Dos conjuntos tpicos en un Diagrama de Venn La interseccin entre A y B es la parte gris rayada; la unin entre A y B es todo lo que no es verde; el complementario de A es lo que le falta para ser el Universal, es decir, lo que no es azul (y el complementario de B, lo que no es rojo), etc, etc. Para fijar ideas, suponed, por ejemplo, que el conjunto A son los rubios y el conjunto B, los que tienen ms de cincuenta aos, y rpidamente podis poner cara y ojos a todos y cada uno de los grupitos que aparecen en el dibujo. Tambin os acordaris de que un conjunto puede contener a otro. Por ejemplo, el conjunto de los europeos contiene al conjunto de los espaoles, y a su vez el conjunto de los espaoles est contenido en el conjunto de los europeos, y decimos que los espaoles son un subconjunto de los europeos Hasta aqu no creo que haya descubierto nada nuevo.
64
Es evidente que, lidiando con conjuntos: 1- Las dos operaciones (+,, es decir, Unin e Interseccin) son conmutativas. 2- Existe un elemento neutro para cada operacin: el Conjunto Vaco, o 0, para la unin (+) y el Conjunto Universal, o 1, para la interseccin (). 3- Ambas operaciones cumplen la propiedad distributiva respecto de la otra ( A(B+C) = AB+AC; y A+(BC) = (A+B)(A+C) ). 4- Todo Conjunto A tiene su complementario A tal que A+A=1 y AA=0, es decir, el Conjunto Universal menos el propio conjunto A. As que, al cumplir con los axiomas de Huntington, no queda duda de que los conjuntos, con la Unin y la Interseccin, forman un lgebra de Boole. En teora de conjuntos, una cierta informacin aplicada a un cierto conjunto permite determinar un subconjunto de l. Por ejemplo, si tenemos el conjunto de todas las ovejas de un rebao, aplicando una cierta informacin, un cierto atributo de ellas (el de ser negras, por ejemplo) define un subconjunto del anterior, el que forman las ovejas negras del rebao, o sea, aquellas ovejas que, perteneciendo al rebao, son negras, es decir, aquellas ovejas en las que se cumple que la frase ser negra es verdadera, siendo una oveja negra la interseccin entre las ovejas y las cosas que son negras... o algo as. Como no todas las ovejas del rebao son negras (o s, quin sabe, pero en principio esto es irrelevante), se define la relacin Estar contenido en ( ) por la que denotamos que todos los elementos de un determinado conjunto pertenecen tambin a otro conjunto de rango superior. Estrictamente, un conjunto A es contenido por uno B ( ) cuando todos los elementos de A estn tambin en B, pero el conjunto B puede tener ms elementos que no estn contenidos en A o no, en cuyo caso A y B seran iguales ( ). En este caso, tanto A contiene a B como B contiene a A.
65
Si A est contenido en B, entonces la interseccin de A (la zona azul) con el complementario de B (B, o sea, la zona gris) es el conjunto vaco, pues no comparten ni un solo elemento Fcil. Bien, pues ya tenemos todo lo que necesitamos para operar con conjuntos. Porque al saber que el lgebra de conjuntos es un lgebra de Boole, sabemos que en la relacin de orden se cumple la propiedad transitiva, es decir, si y , entonces y eso nos lleva probablemente a entender de una forma nueva (o, bueno, quiz no tan nueva) las implicaciones de la teora de conjuntos Veamos un ejemplo.
66
Si no supiramos nada ms, esto podramos representarlo, grosso modo, de la siguiente manera (siendo el conjunto H de todos los hombres, el Universal), o de cualquier otro modo donde los conjuntos tengan cualquier otra configuracin posible:
67
Posibles Conjuntos y Subconjuntos de H Pero, claro, en realidad s que tenemos informacin adicional que nos ayuda a establecer determinadas relaciones entre esos conjuntos veamos cmo: 1 Un hombre que no es feliz no es dueo de s mismo podemos expresarlo como que el conjunto de los no felices est contenido en el conjunto de los no dueos de s mismos, y lo representamos como , pero tambin podemos como , pues al complementar ambos trminos de la ecuacin cambia el signo de la relacin, o sea, el orden. Traduciendo esta afirmacin, , al espaol corriente, lo que dice es que el conjunto de los Dueos de s mismos est contenido en el de los Felices, es decir, los dueos de s mismos son felices, cosa implcita en la frase del enunciado, pero que no es, ni mucho menos, tan evidente. Es decir, de la imagen genrica que tenamos antes, ya podemos decir algo ms sobre este par de conjuntos en particular. A continuacin, una representacin de estos dos conjuntos, Dueos de s mismos y Felices (subconjuntos del Universal H, en realidad) tal como son uno respecto del otro.
68
Sigamos con el resto de enunciados: 2 Todo hombre casado tiene responsabilidades. Es decir: , pero tambin , por la misma razn que antes.
3 Todo hombre, o bien est casado o es dueo de s mismo o ambas cosas. En una palabra: , pues la unin entre los conjuntos C (los casados) y D (los dueos de s mismos) abarca a todos los hombres. Por lo tanto, siendo H el universal, podemos reescribir la ecuacin como o , que, como sabis, es lo mismo, gracias a la tan socorrida Ley de De Morgan. S, s, es as, es lgico: si C y D cubren conjuntamente todo el Universal, el H, podemos decir que todos los hombres (elementos del conjunto universal) pueden estar en una de estas tres situaciones, y slo en una: pertenecen a C, pero no a D; pertenecen a D, pero no a C; o bien pertenecen simultneamente a C y a D. No hay nadie que est en CD. El siguiente diagrama lo ilustra, siendo la parte marcada en turquesa la interseccin de ambos conjuntos C y D.
69
Los Casados y los Dueos de s mismos. Luego la interseccin de los complementarios de cada conjunto es el conjunto vaco. De acuerdo hasta aqu? Bien, entonces tenemos que . Si recordamos la definicin de la relacin de orden parcial Es Contenido ( ), sabamos que . Luego el hecho de que sea quiere decir, simultneamente, dos cosas: Una: que . Dos: que .
No os hagis cruces, que es algo evidente: si lo hacemos ahora al revs, vemos que la relacin implica que . Pero tambin la relacin implica que . Luego ambas relaciones de inclusin son vlidas. Echad un ojo al diagrama de ms arriba para entenderlo, si an os quedan dudas. Por lo tanto, el tercer enunciado podemos descomponerlo en dos ecuaciones independientes: y (que, por cierto, si os fijis bien, son cada una de ellas la complementacin de la otra).
4 Ningn hombre con responsabilidades puede pescar todos los das. Es decir: (los que tienen responsabilidades son un subconjunto de los que no pescan cada da), y tambin (los que pescan cada da no tienen responsabilidades).
70
De la anterior y (3), tenemos que pescan son dueos de s mismos. De la anterior pescan son felices. y (1), tenemos que
Bueno, tampoco es tanta sorpresa! Con todo este conocimiento podramos representar todos estos conjuntos, por ejemplo, mediante la imagen siguiente:
Configuracin final de los diversos conjuntos Donde los que pescan son el grupito amarillo que ni estn casados ni tienen responsabilidades, pero s que son dueos de s mismos y felices; el grupo de los que tienen responsabilidades son todos los casados ms el grupito azul claro, que s que son dueos de s mismos y, por lo tanto, felices, pero en cambio no estn casados. Adems, el grupo de los felices son todos los dueos de s mismos ms la franja roja (que estn casados, y no son dueos de s mismos) en fin, creo que es suficiente.
71
Un momento! Seguro que sta es una forma extraa de proceder? Seguro... seguro? Pongamos otro problema diferente: Pepito tiene diez caramelos que le ha regalado su ta. Le da tres a su hermana. Cuntos caramelos tiene ahora Pepito?. Qu hacemos para resolver este singular y dificilsimo problema de Quinto de Carrera? Primero: Convertimos el enunciado del problema a ecuaciones algebraicas (de lgebra numrica normal). Decimos que , siendo x el nmero de caramelos de Pepito antes de la ddiva a su hermana, y que , siendo y el nmero de caramelos que le quedan a Pepito al final y 3, los caramelos que intervienen en la transaccin. Segundo: Operamos con las ecuaciones, simplificado, etc, hasta llegar a un resultado (o varios resultados parciales, tanto da). Aqu diremos que . El resultado final buscado es, por tanto, .
72
Llegados, en fin, a este punto en el que ya no estamos seguros de que si somos felices es porque pescamos o que si nos casamos es porque no sabemos lo que hacemos, vamos a hablar de las ecuaciones booleanas y las cosas que les pasan que son de utilidad para nosotros. En primer lugar, cualquier ecuacin puede reducirse a una equivalente en que el segundo miembro es nulo, lo que no debera sorprendernos, puesto que pasa tambin en las ecuaciones algebraicas normales. As, se reduce simplemente a , esto es obvio, pero qu hacemos con la igualdad, ? Pues es, simultneamente, y . La primera da origen a que , mientras que la segunda da origen a que . Sumamos miembro a miembro, y tenemos que . O sea, podemos sustituir por .
Adems, y como acabamos de observar, podemos reducir cualquier sistema de ecuaciones booleanas a un nica ecuacin (lo acabamos de hacer, de hecho, en el ejemplo). Si tenemos un par de ecuaciones del tipo y (como acabamos de ver, toda ecuacin puede reducirse a una igualdad con el segundo miembro igual a cero), podemos concluir que . Por si quedan dudas, tomamos la primera ecuacin, , y sumamos la identidad a cada miembro, lo que nos deja . Pero B es cero, as que . Por cierto, el sistema es dual, como casi todo en lgebra de Boole: si las ecuaciones fueran y , entonces podramos reducirlas a .
73
Veamos ahora un ejemplo muy caracterstico, en forma de acertijo de tipo de los que podis encontrar en los dominicales, debajo del crucigrama y al lado del Sudoku. Dice as: Del mtico reino de Thule no se sabe nada ha estado sumido en la bruma del misterio aos y aos. Y ms aos. Pero cuatro thulianos, de turismo en un barco, naufragan frente a las costas de Galicia y, antes de perecer ahogados, dan alguna informacin sobre el reino de Thule. Esto es lo que cuentan: El nufrago nmero 1 dice que En el reino de Thule todo el mundo que lleva pluma roja, o est casado o tiene perro o ambas cosas, y a continuacin expira, con una expresin beatfica en su faz. El nufrago nmero 2 asegura que En el reino de Thule no hay ningn casado que no lleve pluma roja, a menos que sea brujo, e inmediatamente fallece plcidamente. El nufrago nmero 3 afirma que Todos los thulianos propietarios de perro que llevan pluma roja estn casados, y muere tranquilamente al instante.
74
75
Ahora, los dos trminos centrales podemos sustituirlos por . Esto podemos hacerlo porque sabemos que y por consiguiente . Entonces: piedad distributiva) . Por tanto, reordenando, queda: ; sacando factor comn (por la pro, queda: , y como . Ahora, en base a los trminos de la ecuacin, e igualando a cero cada uno de ellos (todos ellos son cero; si no, recordad, no podran sumar cero) calculamos las relaciones contenido por ( ). Recordemos que en lgebra de Boole, para que una suma de trminos a+b+c d 0 es necesario que cada uno de los sumandos, a, bc, sea 0, es decir, el conjunto vaco si hablamos de Conjuntos. Obviamente esto no es ni mucho menos cierto en lgebra numrica, la normal, pero s en la de Boole. Entonces, como fin, , luego . , podemos inferir que: . Por otra parte , luego . Y por , queda finalmente:
De las dos primeras deducimos que C contiene a R, pero tambin que R contiene a C ergo . As que podemos por fin informar a nuestros superiores que: , es decir, traduciendo de nuevo al lenguaje cotidiano, todos los casados de Thule, y slo los casados, llevan pluma roja, y , o sea, no hay brujos en Thule. sta es, en definitiva, la informacin obtenida de los cuatro nufragos.
76
Si os han quedado ganas de ms, ah va un clsico, que no voy a resolver de inmediato para no estropear el disfrute:
En un tren viajan tres empleados de ferrocarriles, el jefe de tren, el maquinista y el camarero, de nombres White, Black y Brown, aunque no necesariamente en ese orden, y viajan tambin tres viajeros que tienen los mismos nombres, White, Black y Brown. Tenemos adems los siguientes datos sobre ellos: El viajero Black vive en Washington, pero el camarero vive a mitad de camino entre Washington y New York, mientras que el viajero que se llama igual que el camarero vive en New York. El viajero Brown gana doscientos mil dlares justos al ao. El empleado de ferrocarriles de nombre White gana siempre al ajedrez al jefe del tren. Uno de los viajeros es vecino del camarero y gana exactamente, hasta el ltimo cntimo, el triple que l. Y la pregunta es Cmo se llama el maquinista? Aunque yo conozco este acertijo desde hace ms de cuarenta aos, incluso mucho antes de estudiar lgica, es relativamente fcil encontrar el acertijo y su solucin en la Red. Recomiendo que no lo hagis: con un poquito de paciencia y cuidado se resuelve bien, y es muy agradecido de resolver y siempre podis torturar a algn amigo o pariente con el dichoso problema del maquinista! En cualquier caso, en el Apndice I, al final del libro tenis la solucin, pero exclusivamente para aquellos que queris comprobar si habis acertado...
Hasta aqu esta visin de la teora de conjuntos con un poco de lgica. En el prximo captulo entrar, de una santa vez, en el Clculo Proposicional, antes simplista que incomprensible.
77
78
V- El Clculo Proposicional
Este libro se denomina Eso que llamamos Lgica, creo que os habris dado cuenta, sobre todo porque lo pone en el encabezamiento. Presuntuoso nombre, seguramente. Sin embargo, el caso es que hasta ahora poco hemos visto de Lgica-Lgica, no s si me explico Sirva en mi descargo que nos hemos estado preparando para ello, pues hasta ahora hemos visto cmo es el lgebra de Boole con su Forma Normal Disyuntiva, luego entramos en la base del lgebra de Circuitos, y por fin, en el captulo anterior vimos el lgebra de Conjuntos desde la ptica del lgebra de Boole pero ya con una cierta aplicacin a la resolucin de problemas lgicos, lo que muchos de vosotros llamarais Acertijos, como el nclito e incombustible Cmo se llama el maquinista?, que os dej de regalo en el captulo anterior. Espero que su resolucin no os haya destruido muchas neuronas.
Como sabis, porque lo he dicho en cada captulo, en realidad estoy siguiendo mis emborronados apuntes de la asignatura de Metodologa de Segundo de Informtica, curso 1973-74, impartido por Jos Cuena Bartolom, desgraciadamente fallecido en 1999, uno de los mejores profesores que he tenido en mi vida. Supongo que os habris dado cuenta del mtodo didctico seguido por Pepe Cuena para desasnarnos en estas lgicas lides Empez por la base terica, el lgebra de Boole, luego nos explic aplicaciones de la misma a problemas distintos (los circuitos elctricos, los conjuntos), para llegar al clculo proposicional. Iba paulatinamente definiendo los ladrillitos con los que se construiran los edificios cada vez ms altos de la Lgica. No daba nada por sentado, sino que defina las cosas de lo particular a lo general Al final de este captulo hallaris unos prrafos explicando todo esto de forma ms detallada, para que no os perdis en lo que sigue. Leedlo y podris seguir lo que queda de libro con facilidad espero.
79
80
Veamos, pues, usando la nclita Forma Normal Disyuntiva, que para algo la expliqu hace tres captulos, cmo se comportan estas proposiciones compuestas (aqu, obviamente, V significa Verdadero y F, Falso):
81
Llueve
Me mojo
A estas tablas tan monas se les denomina, de forma no muy imaginativa pero ciertamente descriptiva, Tablas de Verdad, y sern muy importantes en todo lo que sigue. Repito: Tablas de Verdad. Anotadlo en algn rinconcito del cerebro para que no se olvide. Las usaremos continuamente. Desde luego, tambin podemos negar una proposicin, dando origen a una proposicin nueva, como No llueve, que ser verdadera cuando Llueve sea falsa y viceversa. Entonces la tabla de verdad de una negacin sera algo tan tonto como:
82
En jerga clculoproposicionalstica, las proposiciones genricas no suelen designarse con las letras x, y, z como es habitual en casi todas las ramas de la Matemtica, sino ms bien con las letras p, q, r. Y por si fuera poco, en lugar de Y, O o NO, se usan los smbolos siguientes: , para el y, para el o, y para el no, aunque tambin se puede usar el smbolo para denotar la negacin; de ambas formas podis encontrarlo, aunque yo usar normalmente el signo . Adems, y ya puestos, podemos cambiar la representacin de los propios valores posibles, asignando un 1 al valor Verdadero y un 0 al valor Falso. En realidad no hemos cambiado nada, tan slo la forma de escribirlo Sabiendo todo esto, podemos reescribir las tres tablas de verdad anteriores de la forma siguiente:
83
Obviamente, si tenemos varias proposiciones (frases) mezcladas con o e y, algunas de ellas negadas y otras no, por muy complicada que sea la frase y muchos parntesis que tenga, siempre podemos conocer el valor de verdad de la proposicin completa en base a la explotacin de la correspondiente tabla de verdad. Muy tiles las tablas de verdad, como veis. Por ejemplo, sea la proposicin , de la que queremos establecer su tabla de verdad en funcin de los valores de las proposiciones elementales p, q y r. Para ello llamamos s al resultado de la proposicin (ahora la frmula original ser , y llamamos luego t al resultado de .
Construyendo como siempre, paso a paso, la tabla de verdad (que debido a que son tres las variables, tendr ocho posibles combinaciones de valores, como supongo os habis dado cuenta, pues son dos posibles estados elevado a tres), llegamos finalmente a los valores de verdad resultantes:
84
NOTA: Podemos obtener con toda sencillez la frmula equivalente en Forma Normal Disyuntiva, creo que se ve claro analizando la tabla de verdad, no es cierto?
Ahora queremos, por fin, conocer la tabla de verdad del O lgico exclusivo, al que llamar por llamarlo de alguna forma, pues as al menos es como se identifica el XOR en el diseo de puertas lgicas (XOR es el nombre de guerra del Exclusive Or, pero normalmente las instrucciones de ordenador que lo implementan se llaman "XOR", as que todo el mundo lo llama as) al que antes hice referencia (donde es cierta una proposicin u otra, pero no ambas a la vez).
85
Y, por tanto, su frmula resultante (en Forma Normal Disyuntiva) ser la siguiente: .
Bueno, pues ahora slo queda pensar un poco acerca de la naturaleza ntima de las proposiciones y las operaciones que las afectan. Mmmmm veamos qu es lo que tenemos Un conjunto de elementos que pueden admitir cada uno slo dos valores (0, 1), y dos operaciones cerradas que operan sobre ellos ( ) Vaya, esto me suena. No ser esto, por una casualidad, un lgebra de Boole?
Vamos a comprobarlo inmediatamente; como ya sabis, para ello habr que verificar si todo este sistema cumple los axiomas de Huntington (1904). En el primer captulo del libro cont cules eran estos axiomas. Volved all si queris refrescarlos. Habra que verificar, sucesivamente, si las operaciones Y y O referidas a proposiciones que pueden ser Verdaderas o Falsas exclusivamente (ya sabis, eso de las Verdades a Medias no funciona muy bien en Clculo Proposicional) cumplen los cuatro axiomas. No voy a detallar paso a paso las demostraciones, dejando al lector, si lo desea, probar los axiomas uno a uno, demostrando si se cumplen o no. Para ello utilizar seguramente las correspondientes tablas de verdad que tan tiles se nos muestran
86
87
Ya os podis imaginar que todo esto es vital para poder disear y escribir programas eficientemente. Efectivamente, todo aqul que haya escrito un programa en su vida (y eso incluye haber metido alguna frmula medianamente compleja en una hoja electrnica) ha tenido que lidiar con el famoso IF. El Si condicional que gobierna el flujo de los programas. Muchas veces sirve escribir el IF consultando una nica proposicin. Por ejemplo, en un cajero automtico: Si el saldo de la cuenta es menor que el dinero que el cliente desea llevarse, denegar la operacin. Fcil Pero es muy normal tener que lidiar con proposiciones complejas que hay que evaluar para decidir por dnde debe seguir el programa Verbigracia: Si el cliente es nuevo y tiene una marca de captacin mayor de 7, o, siendo antiguo, tiene un saldo superior a x Euros y no tiene ninguna marca de Cliente especial siempre que el director de la sucursal no le haya calificado como de tipo 1 3, o bien el director de la regional le haya calificado como de tipo 6, pero no de tipo 9, y adems est como titular en una cuenta en la que alguno de los otros titulares sea un cliente preferente entonces le concedemos el prstamo. (!!) Estaris pensando pero qu condiciones tan retorcidas se ha sacado de la manga el amigo Macluskey! Pues no, amigos, no.
88
Os dais cuenta ahora de lo importante que resulta conocer el Clculo Proposicional para poder hacer esto correctamente? La de programas que han fallado miserablemente por no tener correctamente programado el if correspondiente ste es, con gran diferencia, el principal motivo de fallo de los programas de todas partes: un if mal programado. El verbo ingls IF (IF significa Si, por si alguno no anda muy versado en la lengua de Shakespeare) es el usado universalmente para designar la instruccin condicional; luego, segn el lenguaje de programacin usado, se escriben de una forma u otra tanto las comparaciones que forman las proposiciones individuales, como las uniones entre ellas: Y (que casi siempre se pone en ingls: AND), O (lo mismo: OR) o NO (NOT). As, en el ejemplo anterior las condiciones a probar seran: Cliente Nuevo=SI; Marca de Captacin>7; Saldo>X; Tipo de Cliente=1; etc, etc, etc. En Cobol, por ejemplo, se usan en ingls tal cual (AND, OR, NOT), lo mismo que en otros muchos lenguajes, como en SQL, pero en C, por ejemplo, igual que en Java o en PHP, se usa && para el Y, || para el O y ! para el NOT (que ya son ganas de fastidiar, con lo sencillo que es usar AND, OR y NOT), y en Excel, versin espaola, se usa O(a,b,), Y(a,b,) y NO(a), y as. Obviamente, la misma explicacin sirve para las condiciones de terminacin de los bucles DO-UNTIL o DO-WHILE, as que me ahorro seguir.
89
Un ejemplo: el Funcionamiento de una Alarma Adems, hoy en da hay muchsimos componentes y mecanismos industriales (como la alarma que funciona segn el diagrama de ms arriba) que tienen empotrado un cierto software un software que casi siempre est todo llenito de IFs Bueno, pues ahora ya sabis que, como todo esto es un lgebra de Boole, podis aplicar todas sus reglas (que son las mismas del Clculo Proposicional) para simplificar el contenido del if, o bien usar su FND para tratar de comprender uno que ya est programado. Como bien dice nuestro amigo J, Ay, si me hubieran dado un msero euro por cada vez que me he encontrado un IF kilomtrico (programado, naturalmente, por algn otro), que siempre era true (verdadero) o false (falso, claro), o bien que se poda simplificar a uno mucho ms sencillo Lo malo es que nadie da un euro por estas cosas, salvo quiz en algn reality de la tele. Y no estamos dispuestos a ir a ninguno.
90
Ya para acabar, dije antes que, como el Clculo Proposicional forma un lgebra de Boole, armados con l ya sabemos bucear cmodamente entre Verdades y Mentiras pero no. No del todo. Los humanos somos tan raros hablando y formulando frases, que hay que profundizar un poco ms para poder usar esta herramienta en proposiciones formales. Pero eso lo iremos viendo en siguientes captulos, que ste es ya largo. Para empezar, hablaremos de la implicacin lgica, la dichosa y a priori tan poco comprendida implicacin lgica. A ver si, antes simplista que incomprensible, consigo explicarme y que se entienda tan enrevesada cosa, y por qu es como es y no de otra manera Pero eso lo veremos en el siguiente captulo.
91
NOTA IMPORTANTE
para poder seguir el resto del libro sin perderse. Dije al principio del captulo que el mtodo seguido por Jos Cuena para ensearnos Lgica, dentro de su asignatura de Metodologa, se basaba en introducir poco a poco los conceptos tericos de lo particular a lo general, de tal modo que cada concepto explicado tuviera siempre otros conceptos en los que asentarse. En un smil del mundo de la construccin, primero defina cmo fabricar un ladrillo, luego cmo construir una pared con esos ladrillos, luego cmo construir una habitacin a base de paredes, una casa a base de habitaciones, una urbanizacin a base de casas Este mtodo se denomina en la jerga informtica bottom-up, de abajo arriba, de lo particular a lo general, en contraposicin al mtodo top-down, de arriba abajo, que funciona exactamente al revs: de lo general a lo particular. Ambos mtodos funcionan, claro, pero bajo mi modestsimo punto de vista, en la enseanza de cualquier tipo de temario se debe preferir el mtodo bottom-up. Por ejemplo, antes de ensear al nio a leer palabras completas se le ensea a leer letras individuales, y antes de leer frases, se le ensea a leer palabras. Y antes de ensear a multiplicar, se ensea a sumar Todo esto puede parecer evidente, obvio, casi de Perogrullo. Pero resulta que, para todo lo que viene a continuacin, para la exposicin de los intrngulis de la Lgica, este sistema bottomup quiz podra resultar contraproducente, puede dificultar la comprensin de lo expuesto en cada momento. No es que falte nada, que no falta, est todo, todo, lo aseguro, pero no s cmo decirlo, descolocado, desordenado al menos desde cierto punto de vista. Me he dado cuenta de ello, poco a poco, en los intensos debates que hemos mantenido Pedro, J y yo durante la revisin de los artculos de la serie mientras se publicaban en El Cedazo. Ellos ponan pegas, porque no entendan ni las explicaciones ni los ejemplos, no porque estuvieran mal, sino porque les faltaban cosas obvias para ellos que yo (o sea, Pepe Cuena) estaba pasando por alto Luego, al revisar el siguiente captulo, decan: Ah!, claro, es que lo que yo echaba en falta en el captulo x, lo explicas luego en el captulo x+1, o en el x+2.
92
Paciencia!
93
94
95
Analicemos la frase, aunque, por comodidad, le cambiaremos el tiempo verbal al ms sencillo presente de indicativo: Si hablamos as, entonces esta frase es imposible. Pues esto es lo que se llama una implicacin lgica (su nombre tcnico es implicacin material, pero en informtica, al menos, todo el mundo la conoce como implicacin, a secas), que se representa como . En este caso, p es la proposicin hablamos as, a la que se conoce como antecedente, y q es la proposicin esta frase es imposible, conocida como consecuente, y el entonces se representa con la flecha, obviamente. Esta implicacin nos dice intuitivamente que, si la primera frase es cierta, entonces la segunda tambin debe serlo. Ya es curioso que para definir una implicacin lgica estemos usando precisamente una implicacin lgica forman parte natural del lenguaje y todo el mundo las entiende sin ms complicaciones. Pero cuando se formalizan entonces la cosa ya no es tan sencilla, ya veris.
En este punto hay que elegir entre dos aproximaciones didcticas posibles: