En matemáticas, electrónica digital e informática, el álgebra de Boole, también llamada álgebra booleana, es una estructura algebraica que esquematiza operaciones lógicas.
El álgebra booleana fue introducida por George Boole en su primer libro The Mathematical Analysis of Logic (1847), y expuesta más detalladamente en su An Investigation of the Laws of Thought (1854). Según Edward Vermilye Huntington, el término Boolean algebra fue sugerido por primera vez por Henry M. Sheffer en 1913, aunque Charles Sanders Peirce dio el título A Boolian Algebra with One Constant al primer capítulo de su The Simplest Mathematics en 1880.
El álgebra de Boole ha sido fundamental en el desarrollo de la electrónica digital y está incluida en todos los lenguajes de programación modernos. También se utiliza en teoría de conjuntos y la lógica.
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, normalmente denotados 1 y 0, mientras que en álgebra elemental los valores de las variables son números. En segundo lugar, el álgebra booleana utiliza operadores lógicos como la conjunción (y) denotada como ∧, la disyunción (o) denotada como ∨ y la negación (no) denotada como ¬. El álgebra elemental, por otro lado, utiliza operadores aritméticos como la suma, la multiplicación, la resta y la división. Por tanto, el álgebra de Boole es una modalidad formal de describir operaciones lógicas, de la misma manera que el álgebra elemental describe operaciones numéricas.
Se denomina así en honor a George Boole (1815-1864), matemático inglés autodidacta que fue el primero en definirla como parte de un sistema lógico, inicialmente en un pequeño folleto de 1847, The Mathematical Analysis of Logic,[1] publicado en respuesta a una controversia en curso entre Augustus De Morgan y sir William Rowan Hamilton. El álgebra de Boole fue un intento de utilizar las técnicas algebraicas para tratar expresiones de la lógica proposicional. Más tarde fue extendido como un libro más importante: An Investigation of the Laws of Thought on Which are Founded the Mathematical Theories of Logic and Probabilities (también conocido como An Investigation of the Laws of Thought [2] o simplemente The Laws of Thought[3]), publicado en 1854.
Las interpretaciones respectivas de los símbolos 0 y 1 en el sistema de lógica son Nada y Universo. George Boole[4]
En la actualidad, el álgebra de Boole se aplica de forma generalizada en el ámbito del diseño electrónico. Claude Shannon fue el primero en aplicarla en el diseño de circuitos de conmutación eléctrica biestables, en 1948. Esta lógica se puede aplicar a dos campos:
Dado un conjunto B {\displaystyle {\mathfrak {B}}} en el que se han definido dos leyes de composición interna ⊕ ⊕ --> , ⊙ ⊙ --> {\displaystyle \oplus ,\odot } . La estructura ( B , ⊕ ⊕ --> , ⊙ ⊙ --> ) {\displaystyle ({\mathfrak {B}},\oplus ,\odot )} es un álgebra de Boole si y solo si ( B , ⊕ ⊕ --> , ⊙ ⊙ --> ) {\displaystyle ({\mathfrak {B}},\oplus ,\odot )} es un Retículo distributivo,[5] y complementario, esto es:
Basándose en esta definición se determina lo siguiente.
Dado un conjunto: B {\displaystyle {\mathfrak {B}}} formado cuando menos por los elementos: ∅ ∅ --> , U {\displaystyle \varnothing ,\;U} en el que se ha definido:
Dada la definición del álgebra de Boole como una estructura algebraica genérica, según el caso concreto de que se trate, la simbología y los nombres de las operaciones pueden variar.
Diremos que este conjunto y las operaciones así definidas: ( B , ∼ ∼ --> , ⊕ ⊕ --> , ⊙ ⊙ --> ) {\displaystyle ({\mathfrak {B}},\sim ,\oplus ,\odot )} son un álgebra de boole, si cumple los siguientes axiomas:
Partiendo de los cinco axiomas anteriores, se pueden deducir y demostrar los siguientes teoremas fundamentales:
Sea: ( B , ∼ ∼ --> , ⊕ ⊕ --> , ⊙ ⊙ --> ) {\displaystyle ({\mathfrak {B}},\sim ,\oplus ,\odot )} un álgebra de Boole, sean a, b dos elementos del conjunto, podremos decir entonces que a antecede a b y lo denotamos:
si se cumple alguna de las siguientes condiciones:
Estas cuatro condiciones se consideran equivalentes y el cumplimiento de una de ellas implica necesariamente el cumplimiento de las demás. Definiendo un conjunto parcialmente ordenado.
Si se cumple que:
Para los valores a, b de B {\displaystyle {\mathfrak {B}}} , que cumplen que a antecede a b, o que b antecede a a, se dice que a y b son comparables.
Para los valores a, b de B {\displaystyle {\mathfrak {B}}} , que cumplen que a no antecede a b, y que b no antecede a a, se dice que a y b son no comparables.
El concepto de dualidad permite formalizar este hecho: a toda relación o ley lógica le corresponderá su dual, formada mediante el intercambio de los operadores suma con los de producto, y de U {\displaystyle U\;} con ∅ ∅ --> {\displaystyle \varnothing } .
En Lógica binaria se suele emplear la notación ( { 0 , 1 } , ¯ ¯ --> , + , ⋅ ⋅ --> ) {\displaystyle (\{0,1\},{\bar {}},+,\cdot )} , común en la tecnología digital, siendo la forma más usual y la más cómoda de representar.
Por ejemplo las leyes de De Morgan se representan así:
Cuando el álgebra de Boole se emplea en electrónica, suele emplearse la misma denominación que para las puerta lógica AND (Y), OR (O) y NOT (NO), ampliándose en ocasiones con X-OR (O exclusiva) y su negadas NAND (NO Y), NOR (NO O) y X-NOR (equivalencia). las variables pueden representarse con letras mayúsculas o minúsculas, y pueden tomar los valores {0, 1}.
Empleando esta notación las leyes de De Morgan se representan:
En su aplicación a la lógica se emplea la notación ∧ ∧ --> ∨ ∨ --> ¬ ¬ --> {\displaystyle \land \lor \lnot } y las variables pueden tomar los valores {F, V}, falso o verdadero, equivalentes a {0, 1}
Con la notación lógica las leyes de De Morgan serían así:
En el formato de Teoría de conjuntos el Álgebra de Boole toma el aspecto: ( P ( U ) , ∼ ∼ --> , ∪ ∪ --> , ∩ ∩ --> ) {\displaystyle ({\mathcal {P}}(U),\sim ,\cup ,\cap )}
En esta notación las leyes de De Morgan serían así:
Otra forma en la álgebra de conjuntos del Álgebra de Boole, las leyes de De Morgan serían así:
Desde el punto de vista práctico existe una forma simplificada de representar expresiones booleanas. Se emplean apóstrofos (') para indicar la negación, la operación suma (+) se representa de la forma normal en álgebra, y para el producto no se emplea ningún signo, las variables se representan, normalmente con una letra mayúscula, la sucesión de dos variables indica el producto entre ellas, no una variable nombrada con dos letras.
La representación de las leyes de De Morgan con este sistema quedaría así, con letra minúsculas para las variables:
y así, empleando letras mayúsculas para representar las variables:
Todas estas formas de representación son correctas, se utilizan de hecho, y pueden verse al consultar bibliografía. La utilización de una u otra notación no modifica el álgebra de Boole, solo su aspecto, y depende de la rama de las matemáticas o la tecnología en la que se esté utilizando para emplear una u otra notación.
Hay numerosos casos de distintos análisis de estructuras algebraicas que corresponden al álgebra de Boole, aunque en apariencia son muy diferentes, su estructura es la misma. Vamos a ver algunos de ellos, con el propósito de hacer palpable las similitudes en la estructura y los distintos ámbitos de aplicación y distinta terminología para referirse a las operaciones o a las variables.
Una serie de temas, aparentemente tan distintos, tiene dos cosas en común, la lógica binaria basada en los ceros y los unos y el álgebra de Boole, posiblemente la forma más conocida de esta álgebra, que en ocasiones da lugar a la interpretación que el álgebra de Boole es la lógica binaria exclusivamente, así el conjunto B {\displaystyle {\mathfrak {B}}} en este caso está formado por dos elementos {0,1}, o {F, V}, o {no, sí}, dos valores contrapuestos, que son las dos posibles alternativas entre dos situaciones posibles, aquí, sin pérdida de la generalidad, tomaremos el conjunto: {0,1} como ya hemos dicho:
Donde:
La operación unaria interna negación, definimos una aplicación que a cada elemento a de {0,1}, le asigna un b de {0,1}.
Para todo elemento a en {0,1}, se cumple que existe un único b en {0,1}, tal que b es la negación de a. Como se ve en la tabla.
Con la operación suma definimos una aplicación que, a cada par ordenado (a, b) de B por B, le asigna un c de B.
Para todo par ordenado (a,b) en B por B, se cumple que existe un único c en B, tal que c es el resultado de sumar a con b.
Con la operación producto definimos una aplicación que, a cada par ordenado (a, b) de B por B, le asigna un c de B.
Para todo par ordenado (a, b) en B por B, se cumple que existe un único c en B, tal que c es el resultado del producto a y b. Como se puede ver en la tabla.
Así ( { 0 , 1 } , ¯ ¯ --> , + , ⋅ ⋅ --> ) {\displaystyle (\{0,1\},{\bar {}},+,\cdot )} es un álgebra de Boole al cumplir los siguientes axiomas:
Luego ( { 0 , 1 } , ¯ ¯ --> , + , ⋅ ⋅ --> ) {\displaystyle (\{0,1\},{\bar {}},+,\cdot )} es álgebra de Boole.
Partiendo de estos axiomas se puede demostrar los siguientes teoremas:
Partiendo de ( { 0 , 1 } , ¯ ¯ --> , + , ⋅ ⋅ --> ) {\displaystyle (\{0,1\},{\bar {}},+,\cdot )} álgebra de Boole, dadas dos variables binarias: a, b, que cumplen alguna de estas condiciones:
entonces a es menor o igual que b. Dados los valores binarios 0 y 1, podemos ver:
Estas cuatro condiciones son equivalentes y el cumplimiento de una de ellas supone el cumplimiento de las otras, en este caso es sencillo comprobarlas todas. Luego podemos decir que 0 antecede a 1 y lo denotamos:
Si además sabemos que 0 y 1 son valores distintos:
El valor binario 0 es menor que el valor binario 1.
Dado cualquier conjunto U, se llama conjunto potencia de U, al conjunto de todos los subconjuntos posibles de U y lo denotamos P ( U ) {\displaystyle {\mathcal {P}}(U)} .
A título de ejemplo podemos considerar:
Que tiene como conjunto potencia:
El conjunto vacio es el que no tiene elementos y se representa:
Podemos definir:
Y como es obvio:
Dado un conjunto U {\displaystyle U} , su cardinalidad el número de elementos que tiene, que notaremos como: C ( U ) {\displaystyle {\mathcal {C}}(U)} .
Siendo n {\displaystyle n\,} la cardinalidad de un conjunto U {\displaystyle U\,} :
y siendo el conjunto de todos los posibles subconjuntos de U {\displaystyle U\,} , el conjunto potencia de U {\displaystyle U\,} : P ( U ) {\displaystyle {\mathcal {P}}(U)} , la cardinalidad del conjunto potencia será:
Por ejemplo consideremos el conjunto vacío: ∅ ∅ --> {\displaystyle \varnothing } , la cardinalidad del conjunto vacío es:
la cardinalidad del conjunto vacío es cero, dado que no tiene ningún elemento, la cardinalidad del conjunto de las partes del conjunto vacío es:
El conjunto de las partes del conjunto vacío tiene un elemento, el propio conjunto vacío:
El conjunto vacío tiene un posible subconjunto, el conjunto vacío, y además es el único posible subconjunto que puede tener.
Si consideramos un conjunto de un solo elemento:
la cardinalidad de un conjunto que tiene un único elemento es:
La cardinalidad de las partes del conjunto será:
El conjunto de las partes de U {\displaystyle U} es:
Si el conjunto tiene dos elemento:
la cardinalidad de un conjunto que tiene dos elementos es:
Para conjuntos de más elementos se aplica el mismo criterio.
En esta operación definimos una aplicación que, a cada elemento A de P(U), le asigna un B de P(U).
Para todo elemento A en P(U), se cumple que existe un único B en P(U), tal que B es el complemento de A.
Definiendo el complemento de un conjunto así:
B es el complemento de A, si se cumple que para todo x que pertenezca a B, x pertenece a U y x no pertenece a A.
Con esta operación binaria interna definimos una aplicación que, a cada par ordenado (A, B) de P(U) por P(U), le asigna un C de P(U).
Para todo par ordenado (A,B) en P(U) por P(U), se cumple que existe un único C en P(U), tal que C es la unión A y B.
Definiendo la unión de dos conjuntos como:
El conjunto C es la unión de A y B, si para todo elemento x de C, se cumple que x es elemento de A o de B
Con lo que definimos una aplicación que, a cada par ordenado (A, B) de P(U) por P(U), le asigna un C de P(U).
Para todo par ordenado (A,B) en P(U) por P(U), se cumple que existe un único C en P(U), tal que C es la intersección A y B.
Definiendo la intersección de dos conjuntos como:
El conjunto C es la intersección de A y B, si para todo elemento x de C, se cumple que x es elemento de A y de B.
Con lo que podemos plantear: ( P ( U ) , C , ∪ ∪ --> , ∩ ∩ --> ) {\displaystyle ({\mathcal {P}}(U),{}^{C},\cup ,\cap )} , para un U conocido, como álgebra de Boole si cumple las siguientes axiomas:
Concluyendo que ( P ( U ) , C , ∪ ∪ --> , ∩ ∩ --> ) {\displaystyle ({\mathcal {P}}(U),{}^{C},\cup ,\cap )} es un álgebra de boole.
Dado ( P ( U ) , C , ∪ ∪ --> , ∩ ∩ --> ) {\displaystyle ({\mathcal {P}}(U),{}^{C},\cup ,\cap )} álgebra de Boole, podemos comprobar:
Para los conjuntos A y B que cumplen estas propiedades, podemos decir que A antecede a B, que en el caso de conjuntos se diría A es igual o un subconjunto de B y lo denotamos:
Entendiéndose que A es igual o un subconjunto de B cuando:
El conjunto A es igual o un subconjunto de B, si para todo elemento x que pertenezca a A, x pertenece a B.
También se puede comprobar:
Para todo B de las partes de U, si se cumple que: la unión de B y U es U, la intersección de B y U es B, la unión del complemento de B y U es U, la intersección de B y el complemento de U es el conjunto vacío, entonces B es igual o un subconjunto de U.
Esta conclusión forma parte de la definición de las partes de U, pero se puede llegar a ella por el cumplimiento de una de las cuatro condiciones expuestas, como ya se mencionó, las cuatro condiciones son equivalentes y el cumplimiento de una de ellas implica el cumplimiento de las demás.
Aplicando el mismo razonamiento podemos ver:
Siendo A un conjunto de las partes de U, llegando a la conclusión de que el conjunto vacío es igual o un subconjunto de A.
Una proposición, o un predicado, es un valor de verdad que puede expresarse de forma verbal o con expresiones o relaciones matemática o lógica, por ejemplo:
Son proposiciones expresadas verbalmente, y también lo son:
Dado que cada una de ellas puede ser verdadera o falsa, las proposiciones suelen designarse con letra:
Las afirmaciones verdadero y falso también son proposiciones, designaremos con: B {\displaystyle {\mathfrak {B}}} al conjunto de proposiciones, a fin de ver que la lógica de proposiciones es un álgebra de Boole, además consideraremos:
La operación unaria interna negación, definimos una aplicación que a cada proposición a, le asigna otra poposición b.
Para toda proposición a, se cumple que existe una única proposición b, tal que b es la negación de a.
Con la operación disyunción, definimos una aplicación que a cada par ordenado (a, b) de B por B, le asigna un c de B.
Para todo par ordenado (a,b) en B por B, se cumple que existe un único c en B, tal que c es el resultado de la disyunción de a y b.
Con la operación conjunción definimos una aplicación que, a cada par ordenado (a, b) de B por B, le asigna un c de B.
Para todo par ordenado (a, b) en B por B, se cumple que existe un único c en B, tal que c es el resultado de la conjunción de a y b.
Así ( B , ¬ ¬ --> , ∨ ∨ --> , ∧ ∧ --> ) {\displaystyle ({\mathfrak {B}},\lnot {},\lor ,\land )} es un álgebra de Boole al cumple los siguientes axiomas:
Luego ( B , ¬ ¬ --> , ∨ ∨ --> , ∧ ∧ --> ) {\displaystyle ({\mathfrak {B}},\lnot {},\lor ,\land )} es álgebra de boole.
Sabiendo que ( B , ¬ ¬ --> , ∨ ∨ --> , ∧ ∧ --> ) {\displaystyle ({\mathfrak {B}},\lnot {},\lor ,\land )} es álgebra de Boole, se puede comprobar que:
Para las proposiciones: a, b que cumplen alguna de estas condiciones se puede afirmar que a antecede a b. Que en el caso de proposiciones o predicados se dice que a es tanto o más fuerte que b, o que b es más débil que a, y lo representamos:
Así por ejemplo dadas las proposiciones:
podemos ver:
Si se da la circunstancia de cualesquiera de dos, que llueve mucho o llueve, claramente llueve en cualquier caso.
Si afirmamos que llueve mucho y que llueve, y se cumplen las dos circunstancias entonces es que llueve mucho.
No llueve mucho indica que puede que llueva poco o que no llueva, si no llueve mucho o llueve abarca todas las posibilidades, desde tiempo seco a muy lluvioso, luego la afirmación es verdadera en todo caso.
Si afirmamos que llueve mucho y simultáneamente que no llueve, la afirmación es claramente falsa.
La afirmación más restrictiva es la más fuerte y la menos restrictiva la más débil, en este caso:
La proposición llueve mucho es tanto o más fuerte que llueve, la afirmación llueve mucho es un caso particular o el mismo caso de llueve.
El álgebra de Boole se basa en un conjunto en el que se han definidos tres operaciones internas: una unaria y dos binarias, como ya hemos visto, siendo cómoda esta definición. Estrictamente hablando solo son necesarias dos, la unaria y una de las binarias, así, por ejemplo, en la lógica binaria con la negación y el producto podemos definir la suma.
Con la ley de De Morgan:
Esta expresión resulta más compleja, pero partiendo de la negación y el producto binarios se define la suma binaria.
En la imagen de la derecha podemos ver un circuito en paralelo de dos pulsadores a y b, que corresponde a la suma binaria de a y b, y su equivalente en un circuito en serie de a y b, los dos dan como resultado la misma tabla de verdad, y por tanto son equivalentes, lo artificioso del circuito serie para obtener el mismo resultado que en un circuito paralelo deja ver lo conveniente de considerar esa función, la posibilidad de obtener la suma de dos variables binarias mediante la negación y el producto señalan que, de forma primaria, el álgebra de Boole se basa solo en dos operaciones, y que cualquier expresión en la que intervenga la suma puede transformarse en otra equivalente en la que solo intervienen la negación y el producto.
En el caso de la teoría de conjuntos con el complemento y la intersección podemos definir la unión:
De una forma similar al álgebra binaria, o cualquier otra álgebra de Boole, La definición del álgebra con solo dos operaciones complica las expresiones, pero permite determinar ciertas relaciones muy útiles, así como otras operaciones distintas.
En el álgebra de Boole definido en un conjunto B {\displaystyle {\mathfrak {B}}} las operaciones son internas, dado que parte de elemento de B {\displaystyle {\mathfrak {B}}} , para obtener un resultado en B {\displaystyle {\mathfrak {B}}} .
Sin perdida de la generalidad, y dado los distintos formas que puede adoptar el álgebra de Boole consideraremos la lógica proposicional con las proposiciones: a, c, b, etc. Que pueden tomar los valores verdadero: V o falso: F. Y las conectivas lógicas sobre esas proposiciones que dan como resultado otras proposiciones lógicas, cada proposición: a, b, c, etc. Define un conjunto A, B, C, etc. Que podemos representar de forma gráfica en un diagrama de Venn.
Podemos ver estas conectivas lógicas para: 0, 1 y 2 variables en un diagrama de Hasse:
Si vemos las distintas operaciones por su número de argumentos podemos distinguir:
Las operaciones lógicas sin argumentos son:
Las operaciones con solo un argumento son:
Las operaciones que necesitan dos argumentos son:
Una operación nularia es la que devuelve un valor sin necesidad de argumentos, podemos ver tautología y contradicción.
La tautología presenta el valor verdadero sin necesidad de argumentos o independientemente de las variables sobre la que se calcule. En teoría de conjuntos corresponde al conjunto universal.
En lógica proposicional corresponde al valor: verdadero:
En un circuito de conmutación corresponde a una conexión fija o puente cerrado.
La contradicción, por el contrario, presenta siempre el valor falso, sin necesitar argumentos o independientemente de los argumentos presentados. En teoría de conjuntos corresponde al conjunto vacío.
En lógica proposicional corresponde al valor: falso:
En un circuito de conmutación, corresponde a la no conexión o puente abierto.
Una operación unaria es la que solo necesita un argumento para presentar un resultado, podemos ver dos operaciones unarias: identidad y negación.
La operación identidad de una afirmación presenta el valor de la variable.
Esta operación se puede hacer con el dispositivo electrónico amplificador buffer.
En un circuito de conmutación corresponde a un interruptor normalmente abierto: Interruptor NA.
La operación negación lógica de una variable presenta el valor contrario del argumento, o los casos contrarios de los recogidos en el argumento.
Esta operación se hace con la Puerta NOT.
En un circuito de conmutación corresponde a un interruptor normalmente cerrado: Interruptor NC.
La operación binaria es la que necesita dos argumentos, de hecho es la forma más generalizada de operación, normalmente cuando nos referimos a operaciones, nos referimos a operaciones binarias, en el álgebra de Boole podemos ver las siguientes operaciones binarias:
La disyunción puede expresarse:
Esta operación es conmutativa.
La operación disyunción lógica de proposiciones, es equivalente a la unión de conjuntos en teoría de conjuntos, a la puerta lógica OR:
y al circuito en paralelo en circuitos de conmutación
La negación conjunta de proposiciones es equivalente a la puerta lógica NOR.
Normalmente representado:
La conjunción lógica de proposiciones es equivalente a la intersección de conjuntos en teoría de conjuntos, o a la puerta lógica AND:
en circuitos de conmutación sería un circuito en serie de interruptores.
La conjunción opuesta de proposiciones es equivalente a la puerta lógica NAND.
Esta operación no es conmutativa.
A esta operación también se llama implicación: a implica b:
A esta operación le corresponde un conjunto de puertas lógicas complejas:
Le corresponde la Puerta XNOR.
Esta operación también se llama o exclusivo, uno o el otro pero no los dos, le corresponde la puerta lógica: XOR.
Partiendo de un conjunto: B {\displaystyle {\mathfrak {B}}} y donde a, b, c, d, ... son variables o constantes que pueden tomar valores del conjunto B {\displaystyle {\mathfrak {B}}} , donde se han definido las siguientes operaciones internas:
podemos decir que son fórmulas bien formadas: fbf:
1: Una variable o constante:
2: La negación de una variable o constante:
3: La operación binaria entre dos variables o constantes:
4: El resultado de sustituir en una fórmula bien formada, una variable o constante por una fórmula bien formada:
La aplicación repetida de estos criterios dará siempre una fórmula bien formada.
ejemplo:
Se podrán emplear tantos paréntesis como sean necesarios para evitar ambigüedades, evitando siempre la utilización superflua de paréntesis.
Al evaluar una expresión booleana, deben realizarse las operaciones de acuerdo con su nivel jerárquico, realizando primero la de mayor jerarquía. Si existen paréntesis, deben resolverse primero los más internos y trabajar hacia fuera. En ausencia de paréntesis, la jerarquía de las operaciones es, de mayor a menor, la siguiente:
Si se tienen varias operaciones con la misma jerarquía, éstas pueden ser evaluadas de derecha a izquierda o de izquierda a derecha, el resultado será el mismo.
Como ejemplo, considérese la evaluación de las siguientes expresiones booleanas:
En lógica, una regla de inferencia, o regla de transformación es una forma lógica que consiste en una función que toma premisas, que son ciertas, analiza su sintaxis, y devuelve una conclusión (o conclusiones), a diferencia de la simplificación de funciones lógicas, que partiendo de una expresión la transforma simplificándola, hasta llegar a una expresión mínima equivalente.
Aquí veremos las reglas de inferencia, que partiendo de premisas ciertas, llega a conclusiones ciertas, en operaciones de dos variables.
⊤ ⊤ --> a ∨ ∨ --> b a ← ← --> b a a → → --> b b a ↔ ↔ --> b a ∧ ∧ --> b a ↑ ↑ --> b a ↮ b ¬ ¬ --> b a ↛ b ¬ ¬ --> a a ↚ b a ↓ ↓ --> b ⊥ ⊥ --> a b f 1 f 2 f 3 f 4 f 5 f 6 f 7 f 8 f 9 f 10 f 11 f 12 f 13 f 14 f 15 f 16 V V V V V V V V V V F F F F F F F F V F V V V V F F F F V V V V F F F F F V V V F F V V F F V V F F V V F F F F V F V F V F V F V F V F V F V F {\displaystyle {\begin{array}{cc|cccccccccccccccc}&&\top &a\lor b&a\leftarrow b&a&a\rightarrow b&b&a\leftrightarrow b&a\land b&a\uparrow b&a\not \leftrightarrow b&\neg b&a\not \rightarrow b&\neg a&a\not \leftarrow b&a\downarrow b&\bot \\\hline a&b&f_{1}&f_{2}&f_{3}&f_{4}&f_{5}&f_{6}&f_{7}&f_{8}&f_{9}&f_{10}&f_{11}&f_{12}&f_{13}&f_{14}&f_{15}&f_{16}\\\hline V&V&V&V&V&V&V&V&V&V&F&F&F&F&F&F&F&F\\V&F&V&V&V&V&F&F&F&F&V&V&V&V&F&F&F&F\\F&V&V&V&F&F&V&V&F&F&V&V&F&F&V&V&F&F\\F&F&V&F&V&F&V&F&V&F&V&F&V&F&V&F&V&F\\\end{array}}}
|coautor=
|mes=
|coautores=
Lokasi Pengunjung: 18.217.208.40