En matemáticas y lógica matemática , el álgebra booleana es una rama del álgebra . Se diferencia del álgebra elemental en dos aspectos. Primero, los valores de las variables son los valores de verdad verdadero y falso , generalmente representados por 1 y 0, mientras que en el álgebra elemental los valores de las variables son números. Segundo, el álgebra booleana utiliza operadores lógicos como la conjunción ( y ), representada por ∧ , la disyunción ( o ), representada por ∨ , y la negación ( no ), representada por ¬ . El álgebra elemental, por otro lado, utiliza operadores aritméticos como la suma, la multiplicación, la resta y la división. Por lo tanto, el álgebra booleana es una forma formal de describir las operaciones lógicas, del mismo modo que el álgebra elemental describe las operaciones numéricas.
El álgebra booleana fue introducida por George Boole en su primer libro, El análisis matemático de la lógica (1847), [ 1 ] y expuesta con mayor detalle en su Una investigación de las leyes del pensamiento (1854). [ 2 ] Según Huntington , el término álgebra booleana fue sugerido por primera vez por Henry M. Sheffer en 1913, [ 3 ] aunque Charles Sanders Peirce le dio el título de "Un álgebra booleana [ sic ] con una constante" al primer capítulo de su "Las matemáticas más simples" en 1880. [ 4 ] El álgebra booleana ha sido fundamental en el desarrollo de la electrónica digital y está presente en todos los lenguajes de programación modernos . También se utiliza en la teoría de conjuntos y la estadística . [ 5 ]
Historia
Un precursor del álgebra booleana fue el álgebra de conceptos de Gottfried Wilhelm Leibniz . El uso del sistema binario en relación con el I Ching fue fundamental para la characteristica universalis de Leibniz . Con el tiempo, sentó las bases del álgebra de conceptos. [ 6 ] El álgebra de conceptos de Leibniz es deductivamente equivalente al álgebra booleana de conjuntos. [ 7 ]
El álgebra de Boole precedió a los desarrollos modernos del álgebra abstracta y la lógica matemática ; sin embargo, se la considera conectada con los orígenes de ambos campos. [ 8 ] En un contexto abstracto, el álgebra booleana fue perfeccionada a finales del siglo XIX por Jevons , Schröder , Huntington y otros, hasta alcanzar la concepción moderna de una estructura matemática (abstracta) . [ 8 ] Por ejemplo, la observación empírica de que se pueden manipular expresiones en el álgebra de conjuntos , traduciéndolas a expresiones en el álgebra de Boole, se explica en términos modernos diciendo que el álgebra de conjuntos es un álgebra booleana (nótese el artículo indefinido ). De hecho, MH Stone demostró en 1936 que toda álgebra booleana es isomorfa a un cuerpo de conjuntos . [ 9 ] [ 10 ]
En la década de 1930, mientras estudiaba circuitos de conmutación , Claude Shannon observó que también se podían aplicar las reglas del álgebra de Boole en este contexto, [ 11 ] e introdujo el álgebra de conmutación como una forma de analizar y diseñar circuitos por medios algebraicos en términos de compuertas lógicas . Shannon ya disponía del aparato matemático abstracto, por lo que formuló su álgebra de conmutación como el álgebra de Boole de dos elementos . En los entornos modernos de ingeniería de circuitos, hay poca necesidad de considerar otras álgebras de Boole, por lo que "álgebra de conmutación" y "álgebra de Boole" se utilizan a menudo indistintamente. [ 12 ] [ 13 ] [ 14 ]
La implementación eficiente de funciones booleanas es un problema fundamental en el diseño de circuitos lógicos combinacionales . Las herramientas modernas de automatización del diseño electrónico para circuitos de integración a muy gran escala (VLSI) suelen basarse en una representación eficiente de funciones booleanas conocida como diagramas de decisión binarios (BDD) (ordenados reducidos) para la síntesis lógica y la verificación formal . [ 15 ]
Las sentencias lógicas que pueden expresarse en el cálculo proposicional clásico tienen una expresión equivalente en el álgebra booleana. Por lo tanto, la lógica booleana se utiliza a veces para denotar el cálculo proposicional realizado de esta manera. [ 16 ] [ 17 ] [ 18 ] El álgebra booleana no es suficiente para capturar fórmulas lógicas que utilizan cuantificadores , como las de la lógica de primer orden .
Aunque el desarrollo de la lógica matemática no siguió el programa de Boole, la conexión entre su álgebra y lógica se estableció posteriormente en el contexto de la lógica algebraica , que también estudia los sistemas algebraicos de muchas otras lógicas. [ 8 ] El problema de determinar si las variables de una fórmula booleana (proposicional) dada pueden asignarse de tal manera que la fórmula se evalúe como verdadera se llama problema de satisfacibilidad booleana (SAT), y es importante para la ciencia de la computación teórica , siendo el primer problema que se demostró que es NP-completo . El modelo de computación estrechamente relacionado conocido como circuito booleano relaciona la complejidad temporal (de un algoritmo ) con la complejidad del circuito .
Valores
Mientras que en álgebra elemental las expresiones denotan principalmente números , en álgebra booleana denotan los valores de verdad falso y verdadero . Estos valores se representan con los bits , 0 y 1. No se comportan como los enteros 0 y 1, para los cuales 1 + 1 = 2 , sino que pueden identificarse con los elementos del campo de dos elementos GF(2) , es decir, aritmética entera módulo 2 , para la cual 1 + 1 = 0. La suma y la multiplicación desempeñan entonces los roles booleanos de XOR (o exclusivo) y AND (conjunción), respectivamente, con la disyunción x ∨ y (o inclusivo) definible como x + y − xy y la negación ¬ x como 1 − x . En GF(2) , − puede reemplazarse por + , ya que denotan la misma operación; Sin embargo, esta forma de escribir operaciones booleanas permite aplicar las operaciones aritméticas habituales de los enteros (esto puede ser útil cuando se utiliza un lenguaje de programación en el que no está implementado GF(2) ).
El álgebra booleana también se ocupa de funciones cuyos valores pertenecen al conjunto {0,1} . Una secuencia de bits es un ejemplo común de este tipo de función. Otro ejemplo frecuente es la totalidad de los subconjuntos de un conjunto E : para un subconjunto F de E , se puede definir una función indicadora que toma el valor 1 en F y 0 fuera de F. El ejemplo más general son los elementos de un conjunto de álgebra booleana , siendo todos los ejemplos anteriores casos particulares de este.
Al igual que en el álgebra elemental, la parte puramente ecuacional de la teoría puede desarrollarse sin considerar valores explícitos para las variables. [ 19 ]
Operaciones
Operaciones básicas
Mientras que el álgebra elemental tiene cuatro operaciones (suma, resta, multiplicación y división), el álgebra booleana tiene solo tres operaciones básicas: conjunción , disyunción y negación , expresadas con los operadores binarios correspondientes AND () y O () y el operador unario NOT (), denominados colectivamente operadores booleanos . [ 20 ] Las variables en álgebra booleana que almacenan el valor lógico de 0 y 1 se denominan variables booleanas . Se utilizan para almacenar valores verdaderos o falsos. [ 21 ] Las operaciones básicas sobre las variables booleanas x e y se definen de la siguiente manera:
Alternativamente, los valores de x ∧ y , x ∨ y , y ¬ x pueden expresarse tabulando sus valores con tablas de verdad como sigue: [ 22 ]
Cuando se utilizan en expresiones, los operadores se aplican según las reglas de precedencia. Al igual que en el álgebra elemental, las expresiones entre paréntesis se evalúan primero, siguiendo las reglas de precedencia. [ 23 ]
Si los valores de verdad 0 y 1 se interpretan como números enteros, estas operaciones pueden expresarse con las operaciones aritméticas ordinarias (donde x + y utiliza la suma y xy utiliza la multiplicación), o mediante las funciones mínimo/máximo:
Podría considerarse que solo la negación y una de las otras dos operaciones son básicas debido a las siguientes identidades que permiten definir la conjunción en términos de negación y disyunción, y viceversa ( leyes de De Morgan ): [ 24 ]
Operaciones secundarias
Las operaciones compuestas a partir de las operaciones básicas incluyen, entre otras, las siguientes:
Estas definiciones dan lugar a las siguientes tablas de verdad que proporcionan los valores de estas operaciones para las cuatro posibles entradas.
- Material condicional
- La primera operación, x → y , o C xy , se denomina implicación material . Si x es verdadero, el resultado de la expresión x → y se considera igual a y (por ejemplo, si x es verdadero e y es falso, entonces x → y también es falso). Pero si x es falso, el valor de y puede ignorarse; sin embargo, la operación debe devolver un valor booleano y solo hay dos opciones. Por definición, x → y es verdadero cuando x es falso ( la lógica de la relevancia rechaza esta definición, al considerar una implicación con una premisa falsa como algo distinto de verdadero o falso).
- OR exclusivo ( XOR )
- La segunda operación, x ⊕ y , o J xy , se denomina disyunción exclusiva (a menudo abreviada como XOR) para distinguirla de la disyunción, que es la disyunción inclusiva. Excluye la posibilidad de que tanto x como y sean verdaderas (véase, por ejemplo, la tabla): si ambas son verdaderas, el resultado es falso. En términos aritméticos, se define como una suma donde módulo 2 es 1 + 1 = 0.
- Equivalencia lógica
- La tercera operación, el complemento de la disyunción exclusiva, es la equivalencia o igualdad booleana: x ≡ y , o E xy , es verdadera solo cuando x e y tienen el mismo valor. Por lo tanto, x ⊕ y, como su complemento, puede entenderse como x ≠ y , que es verdadera solo cuando x e y son diferentes. Así, su equivalente en aritmética módulo 2 es x + y . El equivalente de la equivalencia en aritmética módulo 2 es x + y + 1.
Leyes
Una ley del álgebra booleana es una identidad como x ∨ ( y ∨ z ) = ( x ∨ y ) ∨ z entre dos términos booleanos, donde un término booleano se define como una expresión construida a partir de variables y las constantes 0 y 1 usando las operaciones ∧, ∨ y ¬. El concepto puede extenderse a términos que involucran otras operaciones booleanas como ⊕, → y ≡, pero tales extensiones son innecesarias para los propósitos para los que se utilizan las leyes. Dichos propósitos incluyen la definición de un álgebra booleana como cualquier modelo de las leyes booleanas, y como un medio para derivar nuevas leyes a partir de antiguas como en la derivación de x ∨ ( y ∧ z ) = x ∨ ( z ∧ y ) de y ∧ z = z ∧ y (como se trata en § Axiomatización del álgebra booleana ).
Leyes monótonas
El álgebra booleana satisface muchas de las mismas leyes que el álgebra ordinaria cuando se asocia ∨ con la suma y ∧ con la multiplicación. En particular, las siguientes leyes son comunes a ambos tipos de álgebra: [ 25 ] [ 26 ]
Las siguientes leyes se cumplen en el álgebra booleana, pero no en el álgebra ordinaria:
Tomar x = 2 en la tercera ley anterior muestra que no es una ley de álgebra ordinaria, ya que 2 × 2 = 4. Las cinco leyes restantes pueden ser refutadas en álgebra ordinaria tomando todas las variables como 1. Por ejemplo, en la ley de absorción 1, el lado izquierdo sería 1(1 + 1) = 2 , mientras que el lado derecho sería 1 (y así sucesivamente).
Todas las leyes tratadas hasta ahora se refieren a la conjunción y la disyunción. Estas operaciones tienen la propiedad de que cambiar cualquiera de los argumentos deja la salida sin cambios, o bien la salida cambia de la misma manera que la entrada. De forma equivalente, cambiar cualquier variable de 0 a 1 nunca produce un cambio en la salida de 1 a 0. Se dice que las operaciones con esta propiedad son monótonas . Por lo tanto, los axiomas hasta ahora se refieren a la lógica booleana monótona. La no monotonicidad entra en juego mediante el complemento ¬ de la siguiente manera. [ 5 ]
leyes no monótonas
La operación de complemento se define mediante las dos leyes siguientes.
Todas las propiedades de la negación, incluidas las leyes que se mencionan a continuación, se derivan únicamente de las dos leyes anteriores. [ 5 ]
Tanto en el álgebra ordinaria como en el álgebra booleana, la negación funciona intercambiando pares de elementos, por lo que en ambas álgebras satisface la ley de la doble negación (también llamada ley de involución).
Pero mientras que el álgebra ordinaria satisface las dos leyes
El álgebra booleana satisface las leyes de De Morgan :
Lo completo
Las leyes enumeradas anteriormente definen el álgebra booleana, en el sentido de que implican el resto de la materia. Las leyes de complementación 1 y 2, junto con las leyes monótonas, son suficientes para este propósito y, por lo tanto, pueden considerarse como un posible conjunto completo de leyes o axiomatización del álgebra booleana. Cada ley del álgebra booleana se deduce lógicamente de estos axiomas. Además, las álgebras booleanas pueden definirse como modelos de estos axiomas, tal como se trata en la sección « Álgebras booleanas» .
Escribir más leyes del álgebra booleana no puede generar nuevas consecuencias de estos axiomas, ni descartar ningún modelo de los mismos. Por el contrario, en una lista de algunas, pero no todas, las mismas leyes, podrían existir leyes booleanas que no se derivaran de las de la lista, y además, habría modelos de las leyes enumeradas que no serían álgebras booleanas.
Esta axiomatización no es en absoluto la única, ni siquiera necesariamente la más natural, dado que no se prestó atención a si algunos de los axiomas se derivaban de otros, sino que simplemente se optó por detenerse cuando se habían observado suficientes leyes, tratado con más detalle en § Axiomatización del álgebra booleana . O bien, se puede prescindir por completo de la noción intermedia de axioma definiendo una ley booleana directamente como cualquier tautología , entendida como una ecuación que se cumple para todos los valores de sus variables sobre 0 y 1. [ 27 ] [ 28 ] Se puede demostrar que todas estas definiciones de álgebra booleana son equivalentes.
Principio de dualidad
Principio: Si {X, R} es un conjunto parcialmente ordenado , entonces {X, R(inverso)} también es un conjunto parcialmente ordenado.
No hay nada especial en la elección de símbolos para los valores del álgebra booleana. 0 y 1 podrían renombrarse como α y β , y siempre que se hiciera de forma consistente, seguiría siendo álgebra booleana, aunque con algunas diferencias estéticas evidentes.
Pero supongamos que 0 y 1 se renombraran como 1 y 0 respectivamente. Seguiría siendo álgebra booleana y, además, operaría con los mismos valores. Sin embargo, no sería idéntica a nuestra álgebra booleana original, ya que ahora ∨ se comporta como lo hacía ∧ y viceversa. Por lo tanto, aún existen algunas diferencias superficiales que indican que la notación ha cambiado, a pesar de que se siguen utilizando 0 y 1.
Pero si, además de intercambiar los nombres de los valores, también se intercambian los nombres de las dos operaciones binarias, entonces no queda rastro de lo que se hizo. El resultado final es completamente indistinguible del original. Las columnas de x ∧ y y x ∨ y en las tablas de verdad han cambiado de lugar, pero ese cambio es irrelevante.
Cuando los valores y las operaciones se pueden emparejar de forma que todo lo importante permanezca inalterado al intercambiar todos los pares simultáneamente, los miembros de cada par se denominan duales entre sí. Así, 0 y 1 son duales, y ∧ y ∨ también lo son. El principio de dualidad , también llamado dualidad de De Morgan , afirma que el álgebra booleana permanece inalterada cuando se intercambian todos los pares duales.
Un cambio que no fue necesario hacer como parte de este intercambio fue el complemento. Complementar es una operación autodual . La operación identidad o de no hacer nada x (copiar la entrada a la salida) también es autodual. Un ejemplo más complicado de una operación autodual es ( x ∧ y ) ∨ ( y ∧ z ) ∨ ( z ∧ x ) . No hay ninguna operación binaria autodual que dependa de ambos argumentos. Una composición de operaciones autoduales es una operación autodual. Por ejemplo, si f ( x , y , z ) = ( x ∧ y ) ∨ ( y ∧ z ) ∨ ( z ∧ x ) , entonces f ( f ( x , y , z ), x , t ) es una operación autodual de cuatro argumentos x , y , z , t .
El principio de dualidad puede explicarse desde la perspectiva de la teoría de grupos por el hecho de que existen exactamente cuatro funciones que son aplicaciones biyectivas ( automorfismos ) del conjunto de polinomios booleanos sobre sí mismo: la función identidad, la función complemento, la función dual y la función contradual (dual complementada). Estas cuatro funciones forman un grupo bajo la composición de funciones , isomorfo al grupo de Klein de cuatro funciones , que actúa sobre el conjunto de polinomios booleanos. Walter Gottschalk señaló que, en consecuencia, un nombre más apropiado para el fenómeno sería el principio (o cuadrado ) de cuaternalidad . [ 5 ] : 21–22
Representaciones diagramáticas
Diagramas de Venn
Un diagrama de Venn [ 29 ] puede utilizarse para representar una operación booleana mediante regiones superpuestas sombreadas. Hay una región para cada variable, todas circulares en los ejemplos presentados. El interior y el exterior de la región x corresponden respectivamente a los valores 1 (verdadero) y 0 (falso) para la variable x . El sombreado indica el valor de la operación para cada combinación de regiones, donde el color oscuro representa 1 y el claro 0 (algunos autores utilizan la convención opuesta).
Los tres diagramas de Venn en la figura siguiente representan respectivamente la conjunción x ∧ y , la disyunción x ∨ y y el complemento ¬ x .

En el caso de la conjunción, la región dentro de ambos círculos está sombreada para indicar que x ∧ y es 1 cuando ambas variables son 1. Las otras regiones se dejan sin sombrear para indicar que x ∧ y es 0 para las otras tres combinaciones.
El segundo diagrama representa la disyunción x ∨ y sombreando las regiones que se encuentran dentro de uno o ambos círculos. El tercer diagrama representa el complemento ¬ x sombreando la región que no se encuentra dentro del círculo.
Aunque no hemos mostrado los diagramas de Venn para las constantes 0 y 1, son triviales, ya que representan respectivamente un recuadro blanco y uno oscuro, ninguno de los cuales contiene un círculo. Sin embargo, podríamos colocar un círculo para x en esos recuadros, en cuyo caso cada uno denotaría una función de un argumento, x , que devuelve el mismo valor independientemente de x , denominada función constante. En lo que respecta a sus resultados, las constantes y las funciones constantes son indistinguibles; la diferencia radica en que una constante no toma argumentos, lo que se denomina operación nula o de cero argumentos , mientras que una función constante toma un argumento, el cual ignora, y es una operación unaria .
Los diagramas de Venn son útiles para visualizar leyes. Las leyes de conmutatividad para ∧ y ∨ se pueden observar en la simetría de los diagramas: una operación binaria que no fuera conmutativa no tendría un diagrama simétrico, ya que intercambiar x e y tendría el efecto de reflejar el diagrama horizontalmente, y cualquier fallo de conmutatividad aparecería entonces como un fallo de simetría.
La idempotencia de ∧ y ∨ se puede visualizar deslizando los dos círculos juntos y observando que el área sombreada se convierte entonces en el círculo completo, tanto para ∧ como para ∨.
Para ver la primera ley de absorción, x ∧ ( x ∨ y ) = x , comience con el diagrama del medio para x ∨ y y observe que la porción del área sombreada en común con el círculo x es todo el círculo x . Para la segunda ley de absorción, x ∨ ( x ∧ y ) = x , comience con el diagrama de la izquierda para x ∧ y observe que al sombrear todo el círculo x , solo se sombrea el círculo x , ya que el sombreado anterior estaba dentro del círculo x .
La ley de doble negación se puede observar complementando el sombreado del tercer diagrama para ¬ x , que sombrea el círculo x .
Para visualizar la primera ley de De Morgan, (¬ x ) ∧ (¬ y ) = ¬( x ∨ y ) , partimos del diagrama central para x ∨ y y complementamos su sombreado de manera que solo se sombree la región fuera de ambos círculos, que es lo que describe el lado derecho de la ley. El resultado es el mismo que si sombreáramos la región que está fuera del círculo x y fuera del círculo y, es decir, la conjunción de sus exteriores, que es lo que describe el lado izquierdo de la ley.
La segunda ley de De Morgan, (¬ x ) ∨ (¬ y ) = ¬( x ∧ y ) , funciona de la misma manera intercambiando los dos diagramas.
La primera ley del complemento, x ∧ ¬ x = 0 , establece que el interior y el exterior del círculo x no se superponen. La segunda ley del complemento, x ∨ ¬ x = 1 , establece que todo está dentro o fuera del círculo x .
Compuertas lógicas digitales
La lógica digital es la aplicación del álgebra booleana de 0 y 1 al hardware electrónico, que consiste en compuertas lógicas conectadas para formar un diagrama de circuito . Cada compuerta implementa una operación booleana y se representa esquemáticamente mediante una forma que indica la operación. Las formas asociadas a las compuertas de conjunción (compuertas AND), disyunción (compuertas OR) y complemento (inversores) son las siguientes: [ 30 ]

Las líneas a la izquierda de cada compuerta representan los cables o puertos de entrada . El valor de la entrada se representa mediante un voltaje en el terminal. En la lógica de nivel alto activo, el 0 se representa con un voltaje cercano a cero o a tierra, mientras que el 1 se representa con un voltaje cercano al de la fuente de alimentación; en la lógica de nivel bajo activo, esto se invierte. La línea a la derecha de cada compuerta representa el puerto de salida, que normalmente sigue las mismas convenciones de voltaje que los puertos de entrada.
La función de complemento se implementa mediante una puerta inversora. El triángulo indica la operación que simplemente copia la entrada a la salida; el pequeño círculo en la salida representa la inversión que complementa la entrada. La convención de colocar dicho círculo en cualquier puerto significa que la señal que pasa por este puerto se complementa durante su recorrido, ya sea un puerto de entrada o de salida.
El principio de dualidad , o leyes de De Morgan , establece que al complementar los tres puertos de una puerta AND, esta se convierte en una puerta OR, y viceversa, como se muestra en la Figura 4. Sin embargo, al complementar ambos puertos de un inversor, el funcionamiento permanece inalterado.
De manera más general, se puede complementar cualquiera de los ocho subconjuntos de los tres puertos de una puerta AND u OR. Las dieciséis posibilidades resultantes dan lugar a solo ocho operaciones booleanas, a saber, aquellas con un número impar de 1s en su tabla de verdad. Hay ocho de estas porque el "bit diferente" puede ser 0 o 1 y puede ir en cualquiera de las cuatro posiciones en la tabla de verdad. Al haber dieciséis operaciones booleanas binarias, esto debe dejar ocho operaciones con un número par de 1s en sus tablas de verdad. Dos de estas son las constantes 0 y 1 (como operaciones binarias que ignoran ambas entradas); cuatro son las operaciones que dependen no trivialmente de exactamente una de sus dos entradas, a saber, x , y , ¬x y ¬y ; y las dos restantes son x ⊕ y (XOR) y su complemento x ≡ y .
Álgebras booleanas
El término «álgebra» designa tanto un sujeto, a saber, el objeto del álgebra , como un objeto, a saber, una estructura algebraica . Si bien lo anterior se ha centrado en el álgebra booleana, esta sección trata sobre objetos matemáticos denominados álgebras booleanas, definidas en su forma más general como cualquier modelo de las leyes booleanas. Comenzamos con un caso particular de la noción definible sin referencia a las leyes, a saber, las álgebras booleanas concretas, y luego damos la definición formal de la noción general.
Álgebras booleanas concretas
Un álgebra booleana concreta o cuerpo de conjuntos es cualquier conjunto no vacío de subconjuntos de un conjunto dado X cerrado bajo las operaciones de unión , intersección y complemento con respecto a X. [ 5 ]
(Históricamente, se requería que X también fuera no vacío para excluir el álgebra booleana degenerada o de un solo elemento, que es la única excepción a la regla de que todas las álgebras booleanas satisfacen las mismas ecuaciones, ya que el álgebra degenerada satisface todas las ecuaciones. Sin embargo, esta exclusión entra en conflicto con la definición puramente ecuacional preferida de "álgebra booleana", pues no hay forma de descartar el álgebra de un solo elemento utilizando solo ecuaciones; 0 ≠ 1 no cuenta, al ser una ecuación negada. Por lo tanto, los autores modernos permiten el álgebra booleana degenerada y dejan que X sea vacío).
Ejemplo 1. El conjunto potencia 2 X de X , que consta de todos los subconjuntos de X. Aquí X puede ser cualquier conjunto: vacío, finito, infinito o incluso no numerable .
Ejemplo 2. El conjunto vacío y X. Esta álgebra de dos elementos muestra que un álgebra booleana concreta puede ser finita incluso cuando consta de subconjuntos de un conjunto infinito. Se puede observar que todo cuerpo de subconjuntos de X debe contener el conjunto vacío y X. Por lo tanto, no es posible un ejemplo más pequeño, salvo el álgebra degenerada que se obtiene al considerar X como vacío para que el conjunto vacío y X coincidan.
Ejemplo 3. El conjunto de conjuntos finitos y cofinitos de enteros, donde un conjunto cofinito es aquel que omite solo una cantidad finita de enteros. Este conjunto es claramente cerrado bajo el complemento y también bajo la unión, ya que la unión de un conjunto cofinito con cualquier otro conjunto es cofinita, mientras que la unión de dos conjuntos finitos es finita. La intersección se comporta como la unión con los términos "finito" y "cofinito" intercambiados. Este ejemplo es infinitamente numerable porque solo existen una cantidad numerable de conjuntos finitos de enteros.
Ejemplo 4. Para un ejemplo menos trivial del punto planteado en el ejemplo 2, consideremos un diagrama de Venn formado por n curvas cerradas que dividen el diagrama en 2 × n regiones, y sea X el conjunto (infinito) de todos los puntos en el plano que no están en ninguna curva pero sí en algún lugar dentro del diagrama. El interior de cada región es, por lo tanto, un subconjunto infinito de X , y cada punto en X está en exactamente una región. Entonces, el conjunto de todas las 2 × 2 × n posibles uniones de regiones (incluido el conjunto vacío obtenido como la unión del conjunto vacío de regiones y X obtenido como la unión de todas las 2 × n regiones) es cerrado bajo unión, intersección y complemento con respecto a X y, por lo tanto, forma un álgebra booleana concreta. Nuevamente, hay un número finito de subconjuntos de un conjunto infinito que forman un álgebra booleana concreta, siendo el ejemplo 2 el caso en el que n = 0 no hay curvas.
Subconjuntos como vectores de bits
Un subconjunto Y de X puede identificarse con una familia indexada de bits con conjunto de índices X , donde el bit indexado por x ∈ X es 1 o 0 según si x ∈ Y o no . (Esta es la llamada noción de función característica de un subconjunto). Por ejemplo, una palabra de computadora de 32 bits consta de 32 bits indexados por el conjunto {0,1,2,...,31}, donde 0 y 31 indexan los bits de orden bajo y alto respectivamente. Para un ejemplo más pequeño, sidonde a, b, c se consideran posiciones de bits en ese orden de izquierda a derecha, los ocho subconjuntos {}, { c }, { b }, { b ,c } , { a }, { a , c }, { a , b } y { a , b , c } de X se pueden identificar con los respectivos vectores de bits 000, 001, 010, 011, 100, 101, 110 y 111. Los vectores de bits indexados por el conjunto de números naturales son secuencias infinitas de bits, mientras que aquellos indexados por los reales en el intervalo unitario [0,1] están empaquetados demasiado densamente para poder escribirlos de forma convencional, pero no obstante forman familias indexadas bien definidas (imagínese colorear cada punto del intervalo [0,1] de negro o blanco independientemente; los puntos negros forman entonces un subconjunto arbitrario de [0,1]).
Desde este punto de vista de los vectores de bits, un álgebra booleana concreta puede definirse equivalentemente como un conjunto no vacío de vectores de bits todos de la misma longitud (más generalmente, indexados por el mismo conjunto) y cerrados bajo las operaciones de vectores de bits de ∧, ∨ y ¬, como en 1010∧0110 = 0010 , 1010∨0110 = 1110 y ¬1010 = 0101 , las realizaciones de vectores de bits de intersección, unión y complemento respectivamente.
Álgebra booleana prototípica
El conjunto {0,1} y sus operaciones booleanas, tal como se trataron anteriormente, pueden entenderse como el caso especial de vectores de bits de longitud uno, que, al identificar los vectores de bits con subconjuntos, también pueden entenderse como los dos subconjuntos de un conjunto de un solo elemento. Esto se denomina álgebra booleana prototípica , justificada por la siguiente observación.
- Las leyes que satisfacen todas las álgebras booleanas concretas no degeneradas coinciden con las que satisface el álgebra booleana prototípica.
Esta observación se demuestra de la siguiente manera. Ciertamente, cualquier ley que satisfaga todas las álgebras booleanas concretas también la satisface la prototípica, puesto que es concreta. A la inversa, cualquier ley que no se cumpla para alguna álgebra booleana concreta debe haber fallado en una posición de bit específica, en cuyo caso dicha posición constituye un contraejemplo de un bit para esa ley. La no degeneración garantiza la existencia de al menos una posición de bit, ya que solo existe un vector de bits vacío.
El objetivo final de la siguiente sección puede entenderse como la eliminación del término "concreto" de la observación anterior. Dicho objetivo se alcanza mediante la observación más contundente de que, salvo isomorfismo, todas las álgebras booleanas son concretas.
Álgebras booleanas: la definición
Hasta ahora, todas las álgebras booleanas han sido concretas, compuestas por vectores de bits o, equivalentemente, por subconjuntos de algún conjunto. Dicha álgebra booleana consta de un conjunto y operaciones sobre ese conjunto que, según se puede demostrar , satisfacen las leyes del álgebra booleana.
En lugar de demostrar que se cumplen las leyes booleanas, podemos postular un conjunto X , dos operaciones binarias sobre X y una operación unaria, y exigir que dichas operaciones satisfagan las leyes del álgebra booleana. Los elementos de X no tienen por qué ser vectores de bits ni subconjuntos, sino que pueden ser cualquier cosa. Esto nos lleva a la definición abstracta más general.
- Un álgebra booleana es cualquier conjunto con operaciones binarias ∧ y ∨ y una operación unaria ¬ sobre él que satisface las leyes booleanas. [ 31 ]
Para los fines de esta definición, es irrelevante cómo las operaciones llegaron a satisfacer las leyes, ya sea por decreto o por demostración. Todas las álgebras booleanas concretas satisfacen las leyes (por demostración, no por decreto), por lo que toda álgebra booleana concreta es un álgebra booleana según nuestras definiciones. Esta definición axiomática de un álgebra booleana como un conjunto y ciertas operaciones que satisfacen ciertas leyes o axiomas por decreto es completamente análoga a las definiciones abstractas de grupo , anillo , cuerpo , etc., características del álgebra moderna o abstracta .
Dada cualquier axiomatización completa del álgebra booleana, como los axiomas para un retículo distributivo complementado , una condición suficiente para que una estructura algebraica de este tipo satisfaga todas las leyes booleanas es que satisfaga precisamente esos axiomas. Por lo tanto, la siguiente es una definición equivalente.
- Un álgebra booleana es un retículo distributivo complementado.
La sección sobre axiomatización enumera otras axiomatizaciones, cualquiera de las cuales puede servir de base para una definición equivalente.
Álgebras booleanas representables
Aunque toda álgebra booleana concreta es una álgebra booleana, no toda álgebra booleana tiene por qué ser concreta. Sea n un entero positivo libre de cuadrados , es decir, uno que no es divisible por el cuadrado de un entero, por ejemplo, 30 pero no 12. Se puede demostrar que las operaciones de máximo común divisor , mínimo común múltiplo y división entre n (es decir, ¬ x = n / x ) satisfacen todas las leyes booleanas cuando sus argumentos abarcan los divisores positivos de n . Por lo tanto, esos divisores forman un álgebra booleana. Estos divisores no son subconjuntos de un conjunto, lo que hace que los divisores de n constituyan un álgebra booleana que, según nuestras definiciones, no es concreta.
Sin embargo, si cada divisor de n se representa mediante el conjunto de sus factores primos, esta álgebra booleana no concreta es isomorfa al álgebra booleana concreta que consta de todos los conjuntos de factores primos de n , donde la unión corresponde al mínimo común múltiplo, la intersección al máximo común divisor y el complemento a la división en n . Así pues, este ejemplo, aunque no sea técnicamente concreto, es al menos "moralmente" concreto a través de esta representación, denominada isomorfismo . Este ejemplo es una instancia de la siguiente noción.
- Un álgebra de Boole se denomina representable cuando es isomorfa a un álgebra de Boole concreta.
La siguiente pregunta se responde afirmativamente de la siguiente manera.
- Toda álgebra booleana es representable.
Es decir, salvo isomorfismo, las álgebras booleanas abstractas y concretas son lo mismo. Este resultado depende del teorema del ideal primo booleano , un principio de elección ligeramente más débil que el axioma de elección . Esta fuerte relación implica un resultado más débil que refuerza la observación de la subsección anterior, dando lugar a la siguiente consecuencia sencilla de la representabilidad.
- Las leyes que satisfacen todas las álgebras de Boole coinciden con las que satisface el álgebra de Boole prototípica.
Es más débil en el sentido de que no implica por sí misma la representabilidad. Las álgebras booleanas son especiales en este caso; por ejemplo, un álgebra de relaciones es un álgebra booleana con estructura adicional, pero no es cierto que toda álgebra de relaciones sea representable en el sentido propio de las álgebras de relaciones.
Álgebra booleana axiomatizada
La definición anterior de un álgebra booleana abstracta como un conjunto junto con operaciones que satisfacen las leyes booleanas plantea la cuestión de cuáles son esas leyes. Una respuesta simplista sería "todas las leyes booleanas", que pueden definirse como todas las ecuaciones que se cumplen para el álgebra booleana de 0 y 1. Sin embargo, dado que existen infinitas leyes de este tipo, esta no es una respuesta satisfactoria en la práctica, lo que lleva a preguntarse si basta con exigir que se cumplan solo un número finito de leyes.
En el caso de las álgebras booleanas, la respuesta es "sí": las ecuaciones enumeradas anteriormente, que son un número finito, son suficientes. Por lo tanto, se dice que el álgebra booleana es finitamente axiomatizable o de base finita .
Además, el número de ecuaciones necesarias puede reducirse aún más. Para empezar, algunas de las leyes anteriores se deducen de otras. Un subconjunto suficiente de las leyes anteriores consiste en los pares de leyes de asociatividad, conmutatividad y absorción, la distributividad de ∧ sobre ∨ (o la otra ley de distributividad; una basta) y las dos leyes complementarias. De hecho, esta es la axiomatización tradicional del álgebra booleana como un retículo distributivo complementado .
Al introducir leyes adicionales no enumeradas anteriormente, es posible acortar aún más la lista de ecuaciones necesarias; por ejemplo, con la barra vertical que representa la operación de carrera de Sheffer , el único axiomaes suficiente para axiomatizar completamente el álgebra booleana. También es posible encontrar axiomas individuales más largos utilizando operaciones más convencionales; véase Axiomas mínimos para el álgebra booleana . [ 32 ]
Lógica proposicional
La lógica proposicional es un sistema lógico íntimamente conectado con el álgebra booleana. [ 5 ] Muchos conceptos sintácticos del álgebra booleana se trasladan a la lógica proposicional con solo cambios menores en la notación y la terminología, mientras que la semántica de la lógica proposicional se define a través de álgebras booleanas de tal manera que las tautologías (teoremas) de la lógica proposicional corresponden a teoremas de ecuaciones del álgebra booleana.
Sintácticamente, cada término booleano corresponde a una fórmula proposicional de la lógica proposicional. En esta traducción entre el álgebra booleana y la lógica proposicional, las variables booleanas x, y, ... se convierten en variables proposicionales (o átomos ) P, Q , ... Los términos booleanos como x ∨ y se convierten en fórmulas proposicionales P ∨ Q ; 0 se convierte en falso o ⊥ , y 1 se convierte en verdadero o ⊤ . Es conveniente, al referirse a proposiciones genéricas, usar las letras griegas Φ, Ψ, ... como metavariables (variables ajenas al lenguaje del cálculo proposicional, utilizadas al hablar de cálculo proposicional) para denotar proposiciones.
La semántica de la lógica proposicional se basa en asignaciones de verdad . La idea esencial de una asignación de verdad es que las variables proposicionales se mapean a elementos de un álgebra booleana fija, y entonces el valor de verdad de una fórmula proposicional que utiliza estas letras es el elemento del álgebra booleana que se obtiene al calcular el valor del término booleano correspondiente a la fórmula. En la semántica clásica, solo se utiliza el álgebra booleana de dos elementos, mientras que en la semántica de valores booleanos se consideran álgebras booleanas arbitrarias. Una tautología es una fórmula proposicional a la que se le asigna el valor de verdad 1 por cada asignación de verdad de sus variables proposicionales a un álgebra booleana arbitraria (o, equivalentemente, por cada asignación de verdad al álgebra booleana de dos elementos).
Estas semánticas permiten una traducción entre tautologías de lógica proposicional y teoremas ecuacionales del álgebra booleana. Toda tautología Φ de lógica proposicional puede expresarse como la ecuación booleana Φ = 1, que será un teorema del álgebra booleana. Recíprocamente, todo teorema Φ = Ψ del álgebra booleana corresponde a las tautologías (Φ ∨ ¬Ψ) ∧ (¬Φ ∨ Ψ) y (Φ ∧ Ψ) ∨ (¬Φ ∧ ¬Ψ). Si → está en el lenguaje, estas últimas tautologías también pueden escribirse como (Φ → Ψ) ∧ (Ψ → Φ), o como dos teoremas separados Φ → Ψ y Ψ → Φ; Si ≡ está disponible, entonces se puede utilizar la tautología simple Φ ≡ Ψ.
Aplicaciones
Una aplicación motivadora del cálculo proposicional es el análisis de proposiciones y argumentos deductivos en lenguaje natural. [ 33 ] Mientras que la proposición "si x = 3, entonces x + 1 = 4" depende de los significados de símbolos como + y 1, la proposición "si x = 3, entonces x = 3" no; es verdadera simplemente en virtud de su estructura, y sigue siendo verdadera ya sea que " x = 3" se reemplace por " x = 4" o "la luna está hecha de queso verde". La forma genérica o abstracta de esta tautología es "si P , entonces P ", o en el lenguaje del álgebra booleana, P → P.
Sustituir P por x = 3 o cualquier otra proposición se denomina instanciación de P mediante dicha proposición. El resultado de instanciar P en una proposición abstracta se denomina instancia de la proposición. Por lo tanto, x = 3 → x = 3 es una tautología por ser una instancia de la tautología abstracta P → P. Todas las ocurrencias de la variable instanciada deben instanciarse con la misma proposición para evitar sinsentidos como P → x = 3 o x = 3 → x = 4.
El cálculo proposicional restringe la atención a las proposiciones abstractas, aquellas construidas a partir de variables proposicionales mediante operaciones booleanas. La instanciación sigue siendo posible dentro del cálculo proposicional, pero solo instanciando variables proposicionales mediante proposiciones abstractas, como instanciar Q mediante Q → P en P → ( Q → P ) para producir la instancia P → (( Q → P ) → P ).
(La disponibilidad de la instanciación como parte del mecanismo del cálculo proposicional evita la necesidad de metavariables dentro del lenguaje del cálculo proposicional, ya que las variables proposicionales ordinarias pueden considerarse dentro de dicho lenguaje para denotar proposiciones arbitrarias. Las metavariables en sí mismas están fuera del alcance de la instanciación, pues no forman parte del lenguaje del cálculo proposicional, sino del mismo lenguaje para hablar de él en el que está escrita esta oración, donde existe la necesidad de poder distinguir las variables proposicionales y sus instanciaciones como entidades sintácticas distintas).
Sistemas deductivos para la lógica proposicional
Una axiomatización del cálculo proposicional es un conjunto de tautologías llamadas axiomas y una o más reglas de inferencia para generar nuevas tautologías a partir de las antiguas. Una demostración en un sistema axiomático A es una secuencia finita no vacía de proposiciones, cada una de las cuales es una instancia de un axioma de A o se deduce, mediante alguna regla de A, de proposiciones que aparecen anteriormente en la demostración (evitando así el razonamiento circular). La última proposición es el teorema demostrado por la demostración. Todo segmento inicial no vacío de una demostración es en sí mismo una demostración, por lo que toda proposición en una demostración es en sí misma un teorema. Una axiomatización es correcta cuando todo teorema es una tautología, y completa cuando toda tautología es un teorema. [ 34 ]
Cálculo de secuencias
El cálculo proposicional se organiza comúnmente como un sistema de Hilbert , cuyas operaciones son las mismas que las del álgebra booleana y cuyos teoremas son tautologías booleanas, es decir, términos booleanos iguales a la constante booleana 1. Otra forma es el cálculo de secuentes , que tiene dos tipos: proposiciones, como en el cálculo proposicional ordinario, y pares de listas de proposiciones llamadas secuentes , como A ∨ B , A ∧ C , ... ⊢ A , B → C , ... Las dos mitades de un secuente se denominan antecedente y sucesor, respectivamente. La metavariable habitual que denota un antecedente o parte de él es Γ, y para un sucesor Δ; así, Γ, A ⊢ Δ denotaría un secuente cuyo sucesor es una lista Δ y cuyo antecedente es una lista Γ con una proposición adicional A añadida después. El antecedente se interpreta como la conjunción de sus proposiciones, el consecuente como la disyunción de sus proposiciones, y el consecuente mismo como la implicación del consecuente por el antecedente.
La implicación se diferencia de la implicación en que, mientras que esta última es una operación binaria que devuelve un valor en un álgebra booleana, la primera es una relación binaria que se cumple o no se cumple. En este sentido, la implicación es una forma externa de implicación, es decir, externa al álgebra booleana, considerando al lector del secuente también como externo, que interpreta y compara antecedentes y consecuentes en algún álgebra booleana. La interpretación natural de ⊢ es como ≤ en el orden parcial del álgebra booleana definida por x ≤ y solo cuando x ∨ y = y . Esta capacidad de combinar la implicación externa ⊢ y la implicación interna → en una misma lógica es una de las diferencias esenciales entre el cálculo de secuentes y el cálculo proposicional. [ 35 ]
Aplicaciones
El álgebra booleana, como cálculo de dos valores, es fundamental para los circuitos informáticos, la programación informática y la lógica matemática, y también se utiliza en otras áreas de las matemáticas, como la teoría de conjuntos y la estadística. [ 5 ]
Computadoras
A principios del siglo XX, varios ingenieros eléctricos reconocieron intuitivamente que el álgebra booleana era análoga al comportamiento de ciertos tipos de circuitos eléctricos. Claude Shannon demostró formalmente que dicho comportamiento era lógicamente equivalente al álgebra booleana en su tesis de maestría de 1937, titulada "Análisis simbólico de circuitos de relés y conmutación" .
Hoy en día, todos los ordenadores modernos de propósito general realizan sus funciones mediante lógica booleana binaria; es decir, sus circuitos eléctricos son una manifestación física de dicha lógica. Lo consiguen de diversas maneras: mediante voltajes en cables de circuitos de alta velocidad y dispositivos de almacenamiento capacitivo, mediante la orientación de un dominio magnético en dispositivos de almacenamiento ferromagnético, mediante perforaciones en tarjetas perforadas o cintas de papel , etc. (Algunos ordenadores antiguos utilizaban circuitos o mecanismos decimales en lugar de circuitos lógicos binarios).
Por supuesto, es posible codificar más de dos símbolos en cualquier medio. Por ejemplo, se podrían usar 0, 1, 2 y 3 voltios para codificar un alfabeto de cuatro símbolos en un cable, o agujeros de diferentes tamaños en una tarjeta perforada. En la práctica, las estrictas limitaciones de alta velocidad, tamaño reducido y bajo consumo de energía hacen que el ruido sea un factor importante. Esto dificulta la distinción entre símbolos cuando hay varios posibles símbolos que podrían aparecer en un mismo lugar. En lugar de intentar distinguir entre cuatro voltajes en un solo cable, los diseñadores digitales han optado por dos voltajes por cable: uno alto y otro bajo.
Las computadoras utilizan circuitos booleanos de dos valores por las razones antes mencionadas. Las arquitecturas de computadoras más comunes utilizan secuencias ordenadas de valores booleanos, llamados bits, de 32 o 64 valores, por ejemplo, 01101000110101100101010101001011. Al programar en código máquina , lenguaje ensamblador y otros lenguajes de programación , los programadores trabajan con la estructura digital de bajo nivel de los registros de datos . Estos registros operan con voltajes, donde cero voltios representan el valor booleano 0, y un voltaje de referencia (a menudo +5 V, +3.3 V o +1.8 V) representa el valor booleano 1. Dichos lenguajes admiten tanto operaciones numéricas como lógicas. En este contexto, "numérico" significa que la computadora trata las secuencias de bits como números binarios (números en base dos) y ejecuta operaciones aritméticas como suma, resta, multiplicación o división. El término "lógica" se refiere a las operaciones lógicas booleanas de disyunción, conjunción y negación entre dos secuencias de bits, donde cada bit de una secuencia se compara con su equivalente en la otra. Por lo tanto, los programadores pueden trabajar y aplicar las reglas del álgebra numérica o del álgebra booleana según sea necesario. Una característica distintiva fundamental entre estas familias de operaciones es la existencia de la operación de acarreo en la primera, pero no en la segunda.
Lógica bivalente
Otros ámbitos donde el uso de dos valores resulta una buena opción son el derecho y las matemáticas. En conversaciones informales cotidianas, se aceptan respuestas matizadas o complejas como «quizás» o «solo los fines de semana». Sin embargo, en situaciones más específicas, como un tribunal o en matemáticas basadas en teoremas, se considera ventajoso formular las preguntas de manera que admitan una respuesta simple de sí o no —¿es el acusado culpable o inocente?, ¿es la proposición verdadera o falsa?— y descartar cualquier otra respuesta. Si bien esto puede resultar limitante en la práctica para quien responde, el principio de la pregunta simple de sí o no se ha convertido en un elemento central tanto de la lógica judicial como de la matemática, lo que justifica que la lógica de dos valores se organice y estudie por derecho propio.
Un concepto central de la teoría de conjuntos es la pertenencia. Una organización puede permitir varios grados de membresía, como principiante, asociado y miembro de pleno derecho. Sin embargo, en los conjuntos, un elemento pertenece o no pertenece. Los candidatos a pertenecer a un conjunto funcionan como los cables de una computadora digital: cada candidato es miembro o no miembro, del mismo modo que cada cable es alto o bajo.
Dado que el álgebra es una herramienta fundamental en cualquier área susceptible de tratamiento matemático, estas consideraciones se combinan para hacer que el álgebra de dos valores sea de fundamental importancia para el hardware informático, la lógica matemática y la teoría de conjuntos.
La lógica bivaluada puede extenderse a la lógica multivaluada , principalmente reemplazando el dominio booleano {0, 1} por el intervalo unitario [0,1]. En este caso, en lugar de solo tomar los valores 0 o 1, se puede asumir cualquier valor entre 0 y 1, ambos inclusive. Algebraicamente, la negación (NOT) se reemplaza por 1 − x , la conjunción (AND) por la multiplicación ( xy ) y la disyunción (OR) se define mediante la ley de De Morgan . La interpretación de estos valores como valores de verdad lógica da como resultado una lógica multivaluada, que constituye la base de la lógica difusa y la lógica probabilística . En estas interpretaciones, un valor se interpreta como el "grado" de verdad: hasta qué punto una proposición es verdadera o la probabilidad de que lo sea.
Operaciones booleanas
La aplicación original de las operaciones booleanas fue la lógica matemática , donde combina los valores de verdad, verdadero o falso, de fórmulas individuales.
Lenguaje natural
Los lenguajes naturales como el inglés tienen palabras para varias operaciones booleanas, en particular la conjunción ( and ), la disyunción ( or ), la negación ( not ) y la implicación ( implica ). Pero not es sinónimo de and not . Cuando se usan para combinar afirmaciones situacionales como "the block is on the table" y "cats drink milk", que ingenuamente son verdaderas o falsas, los significados de estos conectores lógicos a menudo tienen el significado de sus contrapartes lógicas. Sin embargo, con descripciones de comportamiento como "Jim walked through the door", se empiezan a notar diferencias como la falta de conmutatividad, por ejemplo, la conjunción de "Jim opened the door" con "Jim walked through the door" en ese orden no es equivalente a su conjunción en el otro orden, ya que and usualmente significa and then en tales casos. Las preguntas pueden ser similares: el orden "¿Is the sky blue, and why is the sky blue?" tiene más sentido que el orden inverso. Las órdenes conjuntivas sobre el comportamiento son como afirmaciones de comportamiento, como get dress and go to school . Las órdenes disyuntivas como «ámame o déjame» o «pesca o corta el cebo» tienden a ser asimétricas debido a la implicación de que una alternativa es menos preferible. Los sustantivos unidos como «té» y «leche» generalmente describen agregación como con unión de conjuntos, mientras que « té o leche » es una elección. Sin embargo, el contexto puede invertir estos sentidos, como en « tus opciones son café y té» , que generalmente significa lo mismo que «tus opciones son café o té » (alternativas). La doble negación, como en «no me gusta la leche», rara vez significa literalmente «sí me gusta la leche», sino que transmite algún tipo de matiz, como si implicara que hay una tercera posibilidad. «No no P» puede interpretarse libremente como «seguramente P», y aunque P necesariamente implica «no no P », lo contrario es sospechoso en inglés, al igual que con la lógica intuicionista . En vista del uso altamente idiosincrásico de las conjunciones en los lenguajes naturales, el álgebra booleana no puede considerarse un marco fiable para interpretarlas.
Lógica digital
Las operaciones booleanas se utilizan en lógica digital para combinar los bits que circulan por cables individuales, interpretándolos así en el intervalo {0,1}. Cuando se utiliza un vector de n compuertas binarias idénticas para combinar dos vectores de bits, cada uno de n bits, las operaciones individuales de bits pueden entenderse colectivamente como una única operación sobre valores de un álgebra booleana con 2ⁿ elementos .
Teoría ingenua de conjuntos
La teoría de conjuntos ingenua interpreta las operaciones booleanas como operaciones sobre subconjuntos de un conjunto X dado . Como vimos anteriormente, este comportamiento es exactamente paralelo a las combinaciones de vectores de bits coordenadas, donde la unión de dos conjuntos corresponde a la disyunción de dos vectores de bits, y así sucesivamente.
Tarjetas de video
El álgebra booleana libre de 256 elementos en tres generadores se emplea en pantallas de ordenador basadas en gráficos rasterizados , que utilizan la operación bit blit para manipular regiones completas compuestas por píxeles , basándose en operaciones booleanas para especificar cómo se debe combinar la región de origen con la de destino, normalmente con la ayuda de una tercera región llamada máscara . Las tarjetas de vídeo modernas ofrecen las 2²³ = 256 operaciones ternarias para este fin, siendo la elección de la operación un parámetro de un byte (8 bits) . Las constantes SRC = 0xaa o 0b10101010 , DST = 0xcc o 0b11001100 y MSK = 0xf0 o 0b11110000 permiten que las operaciones booleanas, como (que significa XOR entre el origen y el destino y luego AND entre el resultado y la máscara), se escriban directamente como una constante que denota un byte calculado en tiempo de compilación, 0x80 en el ejemplo, 0x88 si solo , etc. En tiempo de ejecución, la tarjeta de video interpreta el byte como la operación raster indicada por la expresión original de una manera uniforme que requiere muy poco hardware y que toma un tiempo completamente independiente de la complejidad de la expresión.(SRC^DST)&MSK(SRC^DST)&MSKSRC^DST
Modelado y CAD
Los sistemas de modelado sólido para diseño asistido por computadora ofrecen una variedad de métodos para construir objetos a partir de otros objetos, siendo la combinación mediante operaciones booleanas uno de ellos. En este método, el espacio en el que existen los objetos se entiende como un conjunto S de vóxeles (el análogo tridimensional de los píxeles en gráficos bidimensionales) y las formas se definen como subconjuntos de S , lo que permite combinar objetos como conjuntos mediante unión, intersección, etc. Un uso obvio es la construcción de una forma compleja a partir de formas simples simplemente como la unión de estas últimas. Otro uso es el esculpido entendido como la eliminación de material: cualquier operación de rectificado, fresado, enrutamiento o perforación que se pueda realizar con maquinaria física sobre materiales físicos se puede simular en la computadora con la operación booleana x ∧ ¬ y o x − y , que en teoría de conjuntos es la diferencia de conjuntos, que elimina los elementos de y de los de x . Así, dadas dos formas, una para ser mecanizada y la otra el material que se debe eliminar, el resultado de mecanizar la primera para eliminar la segunda se describe simplemente como su diferencia de conjuntos.
Búsquedas booleanas
Las consultas de los motores de búsqueda también emplean lógica booleana. Para esta aplicación, cada página web en Internet puede considerarse un "elemento" de un "conjunto". Los siguientes ejemplos utilizan una sintaxis compatible con Google . [ NB 1 ]
- Las comillas dobles se utilizan para combinar palabras separadas por espacios en blanco en un único término de búsqueda. [ NB 2 ]
- Los espacios en blanco se utilizan para especificar el operador lógico AND, ya que es el operador predeterminado para unir términos de búsqueda:
"Término de búsqueda 1" "Término de búsqueda 2"
- La palabra clave OR se utiliza para la operación lógica OR:
"Término de búsqueda 1" O "Término de búsqueda 2"
- Se utiliza un signo menos antepuesto para la negación lógica:
"Término de búsqueda 1" − "Término de búsqueda 2"
- Los paréntesis pueden ayudar a ampliar la búsqueda: cuando los términos 2 y 3 son términos/sinónimos similares:
"Término de búsqueda 1" y ("Término de búsqueda 2" o "Término de búsqueda 3")Véase también
Notas
- ↑ No todos los motores de búsqueda admiten la misma sintaxis de consulta. Además, algunas organizaciones (como Google) ofrecen motores de búsqueda especializados que admiten sintaxis alternativas o extendidas. (Véase la guía rápida de sintaxis ). El buscador de código de Google, ahora desaparecido, admitía expresiones regulares, pero ya no existe.
- ↑ En la documentación de Google, los términos de búsqueda delimitados por comillas dobles se denominan búsquedas de "frase exacta".
Referencias
- ↑ Boole, George (28-07-2011). El análisis matemático de la lógica: un ensayo hacia un cálculo del razonamiento deductivo .
- ↑ Boole, George (2003) [1854]. Una investigación de las leyes del pensamiento . Prometheus Books . ISBN 978-1-59102-089-9.
- ↑ "El nombre álgebra booleana (o 'álgebras' booleanas) para el cálculo originado por Boole, extendido por Schröder y perfeccionado por Whitehead parece haber sido sugerido por primera vez por Sheffer, en 1913." Edward Vermilye Huntington , " Nuevos conjuntos de postulados independientes para el álgebra de la lógica, con especial referencia a los Principia mathematica de Whitehead y Russell ", en Transactions of the American Mathematical Society 35 (1933), 274-304; nota al pie, página 278.
- ↑ Peirce, Charles S. (1931). Obras completas . Vol. 3. Harvard University Press . pág. 13. ISBN 978-0-674-13801-8.
{{cite book}}: Incompatibilidad de ISBN/Fecha ( ayuda ) - 1 2 3 4 5 6 7 Givant, Steven R.; Halmos, Paul Richard (2009). Introducción a las álgebras booleanas . Textos de pregrado en matemáticas, Springer . págs. 21–22 . ISBN 978-0-387-40293-2.
- ↑ Nelson, Eric S. (2011). "El I Ching y la filosofía: de Leibniz a Derrida" . Journal of Chinese Philosophy . 38 (3): 377– 396. doi : 10.1111/j.1540-6253.2011.01661.x .
- ↑ Lenzen, Wolfgang. "Leibniz: Lógica" . En Fieser, James; Dowden, Bradley (eds.). Enciclopedia de Filosofía de Internet . ISSN 2161-0002 . OCLC 37741658 .
- 1 2 3 Dunn, J. Michael; Hardegree, Gary M. (2001). Métodos algebraicos en lógica filosófica . Oxford University Press . pág. 2. ISBN 978-0-19-853192-0.
- ↑ Bimbó, Katalin; Dunn, J. Michael (2008). Lógicas de Galois generalizadas: Semántica relacional de cálculos lógicos no clásicos . Publicaciones CSLI. ISBN 978-1-57586-573-7.
- ↑ Stone, MH (1936). "La teoría de la representación para álgebras booleanas" . Transactions of the American Mathematical Society . 40 (1): 37– 111. doi : 10.2307/1989664 . ISSN 0002-9947 . JSTOR 1989664 .
- ↑ Weisstein, Eric W. "Álgebra booleana" . mathworld.wolfram.com . Consultado el 2 de septiembre de 2020 .
- ↑ Balabanian, Norman; Carlson, Bradley (2001). Principios de diseño de lógica digital . John Wiley. págs. 39–40 . ISBN 978-0-471-29351-4., muestra en línea
- ↑ Rajaraman; Radhakrishnan (1 de marzo de 2008). Introducción al diseño de computadoras digitales . PHI Learning Pvt. Ltd. pág. 65. ISBN 978-81-203-3409-0.
- ↑ Camara, John A. (2010). Manual de referencia de electricidad y electrónica para el examen PE de electricidad e informática . www.ppi2pass.com. pág. 41. ISBN 978-1-59126-166-7.
- ↑ Shin-ichi Minato, Saburo Muroga (2007). «Capítulo 29: Diagramas de decisión binaria». En Chen, Wai-Kai (ed.). Manual de VLSI (2.ª ed.). CRC Press . ISBN 978-0-8493-4199-1.
- ↑ Parkes, Alan (2002). Introducción a los lenguajes, las máquinas y la lógica: lenguajes computables, máquinas abstractas y lógica formal . Springer. pág. 276. ISBN 978-1-85233-464-2.
- ↑ Barwise, Jon ; Etchemendy, John ; Allwein, Gerard; Barker-Plummer, Dave; Liu, Albert (1999). Lenguaje, prueba y lógica . CSLI Publications. ISBN 978-1-889119-08-3.
- ↑ Goertzel, Ben (1994). Lógica caótica: lenguaje, pensamiento y realidad desde la perspectiva de la ciencia de sistemas complejos . Springer. pág. 48. ISBN 978-0-306-44690-0.
- ↑ Halmos, Paul Richard (1963). Lecciones sobre álgebras booleanas. van Nostrand.
- ↑ Bacon, Jason W. (2011). "Apuntes de clase de Ciencias de la Computación 315" . Archivado del original el 2 de octubre de 2021. Consultado el 1 de octubre de 2021 .
- ↑ "Álgebra booleana: expresiones, reglas, teoremas y ejemplos" . GeeksforGeeks . 24 de septiembre de 2021. Consultado el 3 de junio de 2024 .
- ↑ "Operaciones lógicas booleanas" (PDF) .
- ↑ "Operaciones de álgebra booleana" . bob.cs.sonoma.edu . Consultado el 3 de junio de 2024 .
- ↑ "Álgebra booleana" (PDF) .
- ↑ O'Regan, Gerard (2008). Breve historia de la informática . Springer. pág. 33. ISBN 978-1-84800-083-4.
- ↑ "Elementos de álgebra booleana" . www.ee.surrey.ac.uk . Archivado del original el 21 de julio de 2020. Consultado el 2 de septiembre de 2020 .
- ↑ McGee, Vann, Cálculo sentencial revisado: Álgebra booleana (PDF)
- ↑ Goodstein, Reuben Louis (2012), "Capítulo 4: Lógica de sentencias", Álgebra booleana , Courier Dover Publications, ISBN 978-0-48615497-8
- ↑ Venn, John (julio de 1880). "I. Sobre la representación diagramática y mecánica de proposiciones y razonamientos" (PDF) . The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science . 5. 10 (59): 1– 18. Bibcode : 1880LEDPM..10....1V . doi : 10.1080/14786448008626877 . Archivado (PDF) del original el 16 de mayo de 2017.
- ↑ Shannon, Claude (1949). "La síntesis de circuitos de conmutación de dos terminales". Bell System Technical Journal . 28 : 59–98 . Bibcode : 1949BSTJ...28...59S . doi : 10.1002/j.1538-7305.1949.tb03624.x .
- ↑ Koppelberg, Sabine (1989). «Teoría general de las álgebras booleanas». Manual de álgebras booleanas, vol. 1 (ed. J. Donald Monk con Robert Bonnet) . Ámsterdam, Países Bajos: North Holland . ISBN 978-0-444-70261-6.
- ↑ McCune, William ; Veroff, Robert; Fitelson, Branden ; Harris, Kenneth; Feist, Andrew; Wos, Larry (2002), "Axiomas simples y breves para el álgebra booleana", Journal of Automated Reasoning , 29 (1): 1–16 , doi : 10.1023/A:1020542009983 , MR 1940227 , S2CID 207582048
- ^ Allwood, Jens; Andersson, Gunnar-Gunnar; Andersson, Lars-Gunnar; Dahl, Osten (15 de septiembre de 1977). Lógica en Lingüística . Prensa de la Universidad de Cambridge . ISBN 978-0-521-29174-3.
- ↑ Hausman, Alan; Kahane, Howard; Tidman, Paul (2010) [2007]. Lógica y filosofía: una introducción moderna . Wadsworth Cengage Learning. ISBN 978-0-495-60158-6.
- ↑ Girard, Jean-Yves ; Taylor, Paul; Lafont, Yves (1990) [1989]. Pruebas y tipos . Cambridge University Press (Cambridge Tracts in Theoretical Computer Science, 7). ISBN 978-0-521-37181-0.
Lecturas adicionales
- Mano, Morris; Ciletti, Michael D. (2013). Diseño digital . Pearson. ISBN 978-0-13-277420-8.
- Whitesitt, J. Eldon (1995). Álgebra booleana y sus aplicaciones . Courier Dover Publications . ISBN 978-0-486-68483-3.
- Dwinger, Philip (1971). Introducción a las álgebras booleanas . Würzburg, Alemania: Physica Verlag.
- Sikorski, romano (1969). Álgebras de Boole (3 ed.). Berlín, Alemania: Springer-Verlag . ISBN 978-0-387-04469-9.
- Bocheński, Józef Maria (1959). Un resumen de lógica matemática . Traducido de las ediciones francesa y alemana por Otto Bird. Dordrecht, Holanda Meridional: D. Reidel.
Perspectiva histórica
- Boole, George (1848). "El cálculo lógico" . Cambridge and Dublin Mathematical Journal . III : 183–198 .
- Hailperin, Theodore (1986). La lógica y la probabilidad de Boole: una exposición crítica desde el punto de vista del álgebra, la lógica y la teoría de la probabilidad contemporáneas (2.ª ed.). Elsevier . ISBN 978-0-444-87952-3.
- Gabbay, Dov M.; Woods, John, eds. (2004). El auge de la lógica moderna: de Leibniz a Frege . Manual de Historia de la Lógica. Vol. 3. Elsevier . ISBN 978-0-444-51611-4., varios capítulos relevantes de Hailperin, Valencia y Grattan-Guinness
- Badesa, Calixto (2004). «Capítulo 1. Álgebra de clases y cálculo proposicional». El nacimiento de la teoría de modelos: el teorema de Löwenheim en el marco de la teoría de los relativos . Princeton University Press . ISBN 978-0-691-05853-5.
- Stanković, Radomir S. [en alemán] ; Astola, Jaakko Tapio [en finés] (2011). Escrito en Niš, Serbia y Tampere, Finlandia. De la lógica booleana a los circuitos de conmutación y autómatas: hacia la tecnología de la información moderna . Estudios en inteligencia computacional. Vol. 335 (1.ª ed.). Berlín y Heidelberg, Alemania: Springer-Verlag . págs. xviii + 212. doi : 10.1007/978-3-642-11682-7 . ISBN 978-3-642-11681-0. ISSN 1860-949X . LCCN 2011921126 . Consultado el 25 de octubre de 2022 .
- Entrada de "La tradición del álgebra de la lógica"Por Stanley Burris en la Enciclopedia de Filosofía de Stanford , 21 de febrero de 2012
Enlaces externos
- Álgebra booleana
- Presentaciones de 1847
- Lógica algebraica