Copy Link
Add to Bookmark
Report
SET 026 0x09
-[ 0x09 ]--------------------------------------------------------------------
-[ Analisis Booleano]--------------------------------------------------------
-[ by Aristoteles ]--------------------------------------------------SET-26--
Este articulo es una base bastante completa para comenzar a adentrarse en la
criptologia. No se trata de mostrar direcciones maravillosas ni trucos
infalibles, es solo informacion basica,... dura informacion que solo os va a
servir para algo en el caso de que posteriormente vosotros aporteis algun
esfuerzo de desarrollo y ,.... compartais vuestro trabajo con el resto del
mundo.
oo oo oo oo oo
oo o ooo oo o oo oo o oo o o oo
o o o o o o o o o o o o o oo oo o o o
ooo o ooo oooo ooo o ooo ooo oooo ooo o o o o o oooo
o o o o o o o o o o o o o o o o o o o o o
ooo ooo o oo ooo o ooo ooo oo ooo oo oo ooo oo
oo
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIlIlIllIlllIIlIIIllIllIIlllI
para Angela, primera y ultima. gracias por todo lo que me has dado
Advertencia: Este texto contiene algunos caracteres extendidos que se
muestran correctamente en la pagina 437 de MS-DOS. Ha sido necesario
usarlos. La lista completa es:
"î" pertenencia: "¤" letra enye "í" conjunto vacio:
minuscula:
xxx x
xx xxx
xx xxxx x x x
xxxxx x x x
xx xxx xxx
xx x x x
xxx x x
"": diferencia "ª" negacion de una "ð" equivalencia:
simetrica: proposicion:
xxxxxx
x
x x xxxxxx
x x xxxxx
xxxxx x xxxxxx
(no es extendido,
es DEL [127d])
Para establecer la pagina 437 en MS-DOS:
mode con cp prepare=((437) %windir%\command\ega.cpi)
mode con cp select=437
INDICE:
-------
Operaciones
Operaciones sobre un operando
Anulacion
Totalidad
Identidad
Not
Operaciones sobre dos operandos
Anulacion
Totalidad
Identidad del primero
Complementario del primero
Identidad del segundo
Complementario del segundo
And
Or
XOr / equivalencia
Diferencia logica del primero y el segundo
Diferencia logica del segundo y el primero
NAnd
NOr
XNOr
Implicacion primero => segundo
Implicacion segundo => primero
Operaciones sobre mas de dos operandos
Tabla de signos
Nombres de las operaciones
Propiedades
Asociativa
Conmutativa
Idempotencia
Elemento neutro
Elemento inverso
Distributiva
leyes de De Morgan
Leyes de absorcion
Otras propiedades
Propiedades de la implicacion
Apendice: Tabla de operaciones
Notas finales
Referencias
Despedida
El algebra de G. Boole se puede aplicar a distintos campos:
- operaciones binarias a nivel de bits
- logica de proposiciones
- algebra de conjuntos (y probabilidad)
OPERACIONES:
------------
Se definiran operaciones sobre uno y dos operandos cuyo resultado dependa
de los operandos. Tambien se explicaran los resultados que no dependan de
los operandos (resultados independientes).
OPERACIONES SOBRE UN OPERANDO:
------------------------------
Con un operando, podemos obtener cuatro resultados distintos, pero solo
dos de ellos son operaciones que dependen del operando: identidad y not.
Los otros dos resultados no dependen del operando, y no seran tratados
como operaciones, sino como distintos valores que podemos obtener. Son:
anulacion y totalidad.
ANULACION:
----------
Devuelve el valor nulo. El valor nulo es en cada caso:
bitwise: El valor nulo es el numero cero, se representa por: 0. En
lenguajes de programacion indica el valor 'falso'. Todos los
bits del campo son 0.
logica: El valor nulo es una asercion falsa (una proposicion siempre
falsa, tambien llamada contradiccion o falacia).
Ejemplo: P y no P, "Soy humano Y NO soy humano"
conjuntos: Se llama conjunto vacio el conjunto que no contiene ningun
elemento. Esta incluido en cualquier conjunto (por la
definicion de inclusion). Se representa por: í
TOTALIDAD:
----------
El valor total depende del tama¤o con que lo hayamos definido. En cada
caso es:
bitwise: El valor total es un numero de todo unos, dependiendo del
tama¤o que tenga el campo en que estemos trabajando; por
ejemplo, en 16 bits el valor total es 65535d. Se representa por
-1, que es el valor que toma un numero de todo unos en la
aritmetica de complemento a dos. En lenguajes de programacion
indica 'verdadero' (aunque en general, cualquier numero
distinto de 0 es tratado como verdadero).
logica: El valor total es una asercion verdadera (una proposicion
siempre verdadera, o tautologia).
Ejemplo: P o no P, "Estoy muerto O estoy vivo"
conjuntos: El valor total es el conjunto total, que contiene a todos los
demas conjuntos. Es complementario del conjunto vacio. Se
suele representar por E.
IDENTIDAD:
----------
Esta operacion actua sobre un operando. Devuelve el propio operando.
bitwise: Id x = x
Ejemplo: Id 123d = 123d
logica: (Id P) <=> P
(la identidad de P es cierta si y solo si P es cierta)
conjuntos: Id A = A
Ejemplo: x î Id A <=> x î A
NOT:
----
Esta operacion actua sobre un unico operando. Devuelve el complementario
del operando; depende, pues, del valor total. En cada caso:
bitwise: Modifica el valor de cada bit. Si un bit esta establecido, lo
pone a 0 y si esta a 0 lo pone a 1. Su resultado depende del
tama¤o del campo en que trabajemos.
Ejemplos: not 5 (en 4 bits) = 10d
not 5 (en 8 bits) = not 101b (en 8 bits) = 11111010b
= 128d+64d+32d+16d+8+2 = 250d
Si empleamos numeros con signo usando aritmetica de complemento
a 2, entonces: not a = -a-1 (cualquiera que sea el tama¤o
total, puesto que el cambio de signo es una operacion que ya
depende del tama¤o total).
Ejemplo: not 5 (en 8 bits con signo) = -6
not 5 (en 32d bits con signo) = -6
logica: Opera sobre una unica asercion. Si la asercion es verdadera, el
resultado es falso. Si la asercion es falsa, el resultado es
verdadero.
NO P es verdadera si y solo si P es falsa,
NO P es falsa si y solo si P es verdadera.
Ejemplo: "Estoy vivo Y estoy muerto" es falsa,
"NO (estoy vivo Y estoy muerto)" es verdadera, ya que
por las leyes de De Morgan, es equivalente a:
"NO estoy vivo O NO estoy muerto" <=>
"Estoy muerto O estoy vivo"... es verdadera.
conjuntos: El complementario de un conjunto A es el conjunto de los
elementos de E que no pertenecen a A. El complementario se
representa por: C A o tambien: A'
E
OPERACIONES SOBRE DOS OPERANDOS:
--------------------------------
Sobre dos operandos podemos obtener 16 resultados, de los cuales:
- dos no dependen de ningun operando: anulacion y totalidad
- dos dependen solo del primer operando: 'identidad del primer
operando' y 'complementario del primer operando'
- dos dependen solo del segundo operando: 'identidad del segundo
operando' y 'complementario del segundo operando'
- diez dependen de ambos operandos: and, or, xor, 'diferencia del
primero y el segundo', 'diferencia del segundo y el primero', nand,
nor, xnor, 'primero implica segundo', y 'segundo implica primero'.
ANULACION:
----------
Recibe dos operandos, y devuelve el valor nulo, segun cada caso. Este
resultado no depende de ninguno de sus dos operandos, y es independiente
del valor total.
TOTALIDAD:
----------
Recibe dos operandos, y devuelve el valor total segun cada caso. Este
resultado no depende de ninguno de sus dos operandos. Si depende del
valor total que hayamos definido.
IDENTIDAD DEL PRIMERO:
----------------------
Toma dos operandos. Devuelve verdadero si y solo si el primer operando
es verdadero. El resultado es independiente del segundo operando.
bitwise: Compara dos numeros bit a bit. Devuelve 1 si y solo si el bit
del primer operando es 1. No tiene en cuenta el segundo numero.
Ejemplo: 127d * 7 = 127d
(donde "*" denota la identidad del primer numero)
logica: El resultado sera verdadero si y solo si la primera asercion es
verdadera. Es independiente de la segunda asercion.
Ejemplo: (P * Q) <=> P
("*" denota la identidad de la primera asercion)
conjuntos: El resultado es el primer conjunto (primer operando), y es
independiente del segundo conjunto.
Ejemplo: xîA*B <=> xîA
("*" denota la identidad del primer conjunto)
COMPLEMENTARIO DEL PRIMERO:
---------------------------
Recibe dos operandos, y devuelve el complementario del primero; es
independiente del segundo operando. El resultado depende del valor
total.
bitwise: Compara los dos operandos bit a bit. Devuelve 0 si el bit del
primero es 1, y devuelve 1 si el bit del primero es 0 (es
independiente del segundo operando). Su resultado depende del
tama¤o del campo en que trabajemos.
Ejemplo: 15d * 5 (en 5 bits) = 10000b = -16
("*" denota la operacion 'not primer operando')
logica: La operacion devuelve verdadero si y solo si la primera asercion
es falsa (es independiente de la segunda).
Ejemplo: P * Q <=> no P
("*" denota 'complementaria de la primera asercion')
conjuntos: El resultado es el complementario del primer conjunto. Es
independiente del segundo conjunto. Su resultado depende del
conjunto total.
Ejemplo: A*B=A'
("*" denota el complementario del primer conjunto)
IDENTIDAD DEL SEGUNDO:
----------------------
(Ver identidad del primero)
COMPLEMENTARIO DEL SEGUNDO:
---------------------------
(Ver complementario del primero)
Se acabaron las operaciones absurdas (al menos habia que citarlas).
AND:
----
Trabaja con dos operandos. Devuelve verdadero si y solo si los dos
operandos son verdaderos (falso en el resto de los casos). Por tanto, su
resultado no depende del tama¤o del valor total.
bitwise: Compara bit a bit, devolviendo un bit a 1 si y solo si los dos
bits son 1. Se conoce tambien con el nombre de producto logico.
Ejemplo: 1001b and 1100b = 1000b
logica: La asercion resultante es verdadera si y solo si las dos
aserciones son verdaderas. Se llama conjuncion de proposiciones.
P Y Q es verdadera si y solo si P es verdadera y Q es verdadera
Ejemplo: "Existo Y soy humano" <=> "Soy humano"
^
por: "Soy humano" => "Existo"
conjuntos: La interseccion de dos conjuntos es el conjunto de los
elementos que pertenecen a la vez a ambos conjuntos. Si la
interseccion de los conjuntos es el conjunto vacio, se dice
que son conjuntos disjuntos entre si (si no, decimos que los
conjuntos se encuentran o se cortan).
AnB = { x | xîA Y xîB }
OR:
---
Recibe dos operandos. Su resultado es verdadero si y solo si al menos
uno de los operandos es verdadero. No depende del valor total. Es un 'o'
con sentido inclusivo (un operando no excluye al otro).
bitwise: Trabaja bit a bit. Devuelve 1 si y solo si al menos uno de los
dos bits vale 1. Tambien conocido como suma logica.
Ejemplo: 0101b or 1001b = 1101b
logica: El resultado es verdadero si y solo si al menos una de las dos
aserciones es verdadera. Es un O inclusivo (pueden ser ambas
verdaderas). Se llama disyuncion/disjuncion de proposiciones. En
el lenguaje cotidiano, a veces se utiliza: "y/o".
P o Q <=> P es verdadera O Q es verdadera
conjuntos: La union (o reunion) de dos conjuntos es el conjunto de los
elementos de ambos conjuntos.
AuB = { x | xîA O xîB }
XOR:
----
Recibe dos operandos, y devuelve verdadero si y solo si un unico
operando es verdadero (y el otro es falso). Un operando excluye al otro,
y para que el resultado sea verdadero, los operandos deben ser
distintos. Es un 'o' con sentido exclusivo. Su resultado no depende del
valor total. XOR es una doble diferencia logica (ver diferencia logica).
bitwise: Opera bit a bit, y devuelve verdadero si y solo si un operando
es 1 y el otro es 0. Se llama tambien suma logica exclusiva.
Ejemplo: 1100b xor 0110b = 1010b
logica: La asercion resultante es verdadera si y solo si una unica
asercion es cierta (y la otra falsa). Una asercion excluye a la
otra, y no pueden ser ambas verdaderas o ambas falsas.
P O BIEN Q <=> (P es cierta Y Q es falsa) O
(P es falsa Y Q es cierta)
Ejemplo: "Soy hombre O BIEN soy mujer" es una asercion cierta
(asumiendo que no hay puntos medios).
conjuntos: Se llama diferencia simetrica de dos conjuntos al conjunto
formado por los elementos de ambos conjuntos que no
pertenecen a los dos conjuntos al mismo tiempo.
AB = { x | xîA Y xîB Y xî(AnB)' }
DIFERENCIA LOGICA DEL PRIMERO Y EL SEGUNDO:
-------------------------------------------
Es una operacion sobre dos operandos. Su resultado es verdadero si y
solo si el primer operando es verdadero y el segundo es falso. Por lo
tanto, su resultado es independiente del valor total. Esta operacion no
es asociativa ni conmutativa.
bitwise: Trabaja bit a bit. Devuelve 1 si y solo si el primer operando
es 1 y el segundo 0. Se llama diferencia logica.
Ejemplo: 0101b - 1100b = 0001b
("-" denota la diferencia logica del 1o y el 2o)
logica: La asercion resultado es verdadera si y solo si la primera
asercion es verdadera y la segunda falsa.
P - Q <=> P Y NO Q
Ejemplo: "(x es primo) - (x es impar)" <=>
"x es primo" Y "x es par" <=> "x es 2"
("-" denota la diferencia logica del 1o y el 2o)
conjuntos: La diferencia de dos conjuntos es el conjunto formado por los
elementos pertenecientes al primer conjunto y no
pertenecientes al segundo conjunto.
A-B = { x | xîA Y xîB' }
DIFERENCIA LOGICA DEL SEGUNDO Y EL PRIMERO:
-------------------------------------------
Esta operacion es la diferencia logica en el otro sentido, obteniendose
resultados diferentes (ver diferencia logica del primero y el segundo).
Tampoco cumple la propiedad asociativa ni la conmutativa (si fuese
conmutativa, las dos diferencias serian la misma operacion).
Ahora se explicaran las complementarias de estas cinco operaciones.
NAND:
-----
Es la operacion complementaria de AND (el resultado de AND es negado).
Recibe dos operandos, y devuelve verdadero si y solo si al menos uno de
los operandos es falso. Su resultado depende del valor total. Esta
operacion no se suele usar.
bitwise: Compara bit a bit. Devuelve 1 si y solo si al menos uno de los
operandos es 0 (devuelve 0 si ambos son 1).
Ejemplo: 0011b nand 0110b (en 4 bits) = 1101b
logica: Devuelve una asercion verdadera si y solo si al menos una de las
aserciones es falsa.
P NAND Q <=> NO (P Y Q) <=> (NO P) O NO Q (leyes de De Morgan)
conjuntos: El conjunto resultante de esta operacion es el complementario
de la interserccion de los dos conjuntos operandos.
An'B = (AnB)' = { x | xî(AnB)' } = { x | xîA' O xîB' }= A'uB'
("n'" denota el complementario de la interseccion)
NOR:
----
Es la operacion complementaria de OR (el resultado de OR es negado).
Trabaja con dos operandos. Devuelve verdadero si y solo si los dos
operandos son falsos, por tanto, su resultado depende del valor total.
Esta operacion tampoco se suele usar.
bitwise: Trabaja bit a bit. Devuelve un bit a 1 si y solo si ambos
operandos son 0 (devuelve 0 en el resto de casos).
Ejemplo: 0101b nor 0011b (en 4 bits) = 1000b
logica: La asercion resultante es cierta si y solo si ambas aserciones
son falsas.
P NOR Q <=> NO (P O Q) <=> (NO P) Y (NO Q)
conjuntos: El conjunto resultante es el complementario de la union de
los conjuntos operandos.
Au'B = (AuB)' = { x | xî(AuB)' } = { x | xîA' Y xîB' }= A'nB'
("u'" denota el complementario de la union de conjuntos)
XNOR / EQUIVALENCIA:
--------------------
Esta operacion es muy importante. Se trata de la negacion del resultado
de XOR (es su operacion complementaria). Su resultado es verdadero si y
solo si ambos resultados son verdaderos o ambos resultados son falsos.
Por esta definicion, su resultado depende del valor total. Es una
equivalencia, o implicacion en los dos sentidos.
bitwise: Compara bit a bit. Devuelve 1 si y solo si los dos bits
operandos son iguales (que sean ambos 1 o que sean ambos 0).
A nivel de bits esta operacion se llama xnor.
Ejemplo: 0011b xnor 1001b (en 4 bits) = 0101b
logica: El resultado es una asercion verdadera si y solo si ambas
aserciones son verdaderas o ambas aserciones son falsas. Se
trata de la equivalencia tan usada en matematicas (tambien
llamada doble implicacion o condicional).
(P <=> Q) <=> (P => Q) Y (Q => P)
'P <=> Q' se lee:
P es condicion necesaria y suficiente de Q
P si y solo si Q
P es equivalente logico de Q
Ejemplo: "(x + 1 = 1) <=> (x = 0)" es una asercion verdadera.
conjuntos: El resultado de operar dos conjuntos es el conjunto de los
elementos que pertenecen a la vez a ambos conjuntos o que no
pertenecen a ninguno. Depende del conjunto total.
xî(A<=>B) <=> (xîAnB O xî(AuB)')
(en este caso, "<=>" denota la operacion 'equivalencia entre
conjuntos', aunque nunca se utiliza [se compone con las
operaciones basicas not, and y or]).
IMPLICACION PRIMERO => SEGUNDO:
-------------------------------
Es la operacion complementaria de la diferencia logica del primero y el
segundo. Devuelve verdadero si y solo si: el primer operando es cierto y
el segundo tambien, o si el primero es falso. Esta es la definicion de
implicacion, una operacion que depende del tama¤o del valor total.
bitwise: No se suele utilizar directamente. Compara a nivel de bits, y
devuelve 1 cuando el primer bit es 0, o cuando el primer bit es
1 y el segundo es 1. Como ya he dicho, depende del tama¤o total
del campo en que trabajemos.
Ejemplo: (1100b => 0110b) (en 8 bits) = 11110111b
("=>" denota la operacion implicacion a nivel de bits)
logica: La asercion resultante es cierta si y solo si la primera
asercion es cierta y la segunda tambien, o si la primera
asercion es falsa. La implicacion simple tambien se utiliza
mucho en demostraciones (sobretodo en demostraciones de un solo
sentido).
(P => Q) <=> [(P Y Q) O NO P] <=> (NO P) O Q
'P => Q' se lee:
P es condicion suficiente de Q
Q es condicion necesaria de P
Si P, entonces Q
P solo si Q
Q si P
P implica Q
P entra¤a Q
La proposicion P recibe el nombre de hipotesis, y Q tesis o
conclusion. En una demostracion es posible que, al tomar la
hipotesis como falsa, lleguemos a una contradiccion, por lo que
la proposicion quedaria demostrada (por el principio del medio
excluido).
Ejemplo: "Si tengo pies, entonces tengo piernas" es una asercion
verdadera, y equivalente a: "NO tengo pies O tengo
piernas". Es posible que este ultimo enunciado te
confunda, lo veras mas claro si analizas los casos:
no tener pies ni piernas
no tener pies y tener piernas
tener pies y no tener piernas (imposible)
tener pies y piernas
conjuntos: El resultado de esta operacion es el conjunto de los
elementos del conjunto total que no pertenecen al primer
conjunto o que pertenecen al segundo. El resultado depende
del conjunto total.
xî(A=>B) <=> (xîA' O xîB) <=> [(xîA O xîA') Y (xîA' O xîB)]
<=> [xîA' O (xîA Y xîB)]
^
por las propiedades distributivas
("=>" denota la implicacion entre conjuntos)
IMPLICACION SEGUNDO => PRIMERO:
-------------------------------
Se trata de la implicacion en el otro sentido (primero <= segundo). (Ver
implicacion primero => segundo).
OPERACIONES SOBRE MAS DE DOS OPERANDOS:
---------------------------------------
Sobre n operandos se pueden obtener 4^n resultados distintos. Habra
algunos que no dependan de ningun operando, otras que dependan de
algunos operandos, y otros que dependan de todos los operandos. Todas
las operaciones sobre mas de dos operandos pueden ser compuestas
mediante las operaciones ya descritas. Shannon lo demostro, y tambien
probo que todas las operaciones pueden ser compuestas mediante {and,
not}, {or, not}, etc
TABLA DE SIGNOS:
----------------
Los distintos signos que se suelen usar para indicar las operaciones son:
operacion: bitwise logica conjuntos
------------- -------------------- -------------------------- ---------
_ _
not A ~A not A no P !P ªP ~P A A'
and A*B A&B A and B P y Q P&&Q P/\Q AnB
or A+B A|B A or B P o Q P||Q P\/Q AuB
xor A(+)B A^B A xor B P o bien Q AB
dif. logica A-B A-B
nand A nand B
xnor/equival. A xnor B P <=> Q
implicacion P => Q
No se recomienda usar la notacion de C o de otro lenguaje para evitar
confusiones. El valor total y el valor nulo se suelen representar:
bitwise logica conjuntos
-------- ---------- ----------
0 FALSO í
-1 VERDADERO E
NOMBRES DE LAS OPERACIONES:
---------------------------
Cada operacion puede tener un nombre distinto segun el campo en que se
utilice:
nivel de bits logica conjuntos
-------------------- ----------------- ---------------------
not negacion complementario
and/producto logico conjuncion interseccion
or/suma logica disyuncion union/reunion
xor/suma logica disyuncion diferencia simetrica
exclusiva exclusiva???
diferencia logica ??? (P y no Q) diferencia
nand ??? (no (P y Q)) ??? ((AnB)')
nor ??? (no (P o Q)) ??? ((AuB)')
xnor equivalencia ??? ((AB)')
??? (not dif. log.) implicacion ??? ((A-B)')
PROPIEDADES:
------------
A continuacion se describen las propiedades de las operaciones descritas.
No se demuestra ninguna, porque eso lo puede hacer el lector. La forma mas
rapida es demostrarlas para todas las combinaciones posibles de operandos y
los resultados que producen (puesto que estan definidas sobre conjuntos
finitos).
Para describir las operaciones se empleara notacion de nivel de bits, con
algunas extensiones (ver tabla de signos). Se utilizara "=>" para la
implicacion y "<=>" o "xnor" para la equivalencia. Se utilizara A' para
indicar el complementario de A.
Evidentemente, las propiedades son aplicables a los tres campos (nivel de
bits, logica, y conjuntos). La igualdad debe ser sustituida solo en logica
por la equivalencia ("<=>").
ASOCIATIVA:
-----------
Definicion: Para cualesquiera x, y, z: x * (y * z) = (x * y) * z
("*" denota la operacion)
Cumplen la propiedad asociativa: anulacion, and, identidad del primero,
identidad del segundo, xor, or, nor, xnor, complementario del segundo,
complementario del primero, nand, y totalidad.
A * (B * C) = (A * B) * C = A * B * C (and)
A (+) (B (+) C) = (A (+) B) (+) C = A (+) B (+) C (xor)
A + (B + C) = (A + B) + C = A + B + C (or)
CONMUTATIVA:
------------
Definicion: Para cualesquiera x, y: x * y = y * x
Cumplen la conmutativa: anulacion, and, xor, or, nor, xnor, nand, y
totalidad.
A * B = B * A (and)
A (+) B = B (+) A (xor)
A + B = B + A (or)
IDEMPOTENCIA: (o fridegidez)
-------------
Definicion: Para todo x: x * x = x
("*" denota la operacion idempotente)
Cumplen la idempotencia las operaciones: and, identidad del primero,
identidad del segundo, y or.
A * A = A (and)
A + A = A (or)
ELEMENTO NEUTRO:
----------------
Definicion: Existe un elemento e tal que para todo x: e * x = x * e = x
Es posible que exista elemento neutro sin que se de la
propiedad conmutativa, aunque en estas operaciones no ocurre en
ningun caso.
Tienen elemento neutro: and, xor, or, xnor.
El elemento neutro de and y xnor es el valor total (-1 en nivel de bits):
A * -1 = -1 * A = A (and)
A xnor -1 = -1 xnor A = A (xnor)
El elemento neutro de xor y or es el valor nulo (0 a nivel de bits):
A (+) 0 = 0 (+) A = A (xor)
A + 0 = 0 + A = A (or)
ELEMENTO INVERSO:
-----------------
Definicion: Para todo x existe un y tal que: x * y = y * x = e
En otras palabras, todo elemento tiene simetrico. Tambien puede
existir elemento neutro sin que se de la propiedad conmutativa
para todos los elementos, aunque tampoco ocurre con ninguna
operacion de las explicadas. Si es necesario que exista
elemento neutro.
Tienen elemento inverso la operaciones: xor y xnor.
El elemento inverso de estas operaciones es el propio operado:
A (+) A = 0 (xor)
A xnor A = -1 (xnor)
DISTRIBUTIVA:
-------------
Existen dos propiedades distributivas: por la izquierda y por la derecha,
no es necesario que se de la propiedad conmutativa para que se cumplan
ambas, aunque si se da, entonces se cumplen las dos.
Definicion: por la izquierda:
Para cualesquiera x, y, z: x * (y (*) z) = (x * y) (*) (x * z)
("*" denota una operacion, y "(*)" denota otra)
por la derecha:
Para cualesquiera x, y, z: (y (*) z) * x = (y * x) (*) (z * x)
Se lee: "la operacion * es distributiva por la izquierda o por la derecha
en relacion a la operacion (*)".
Cumplen la propiedad distributiva solo por la izquierda los pares de
operaciones siguientes:
(diferencia segundo - primero, anulacion)
(diferencia segundo - primero, and)
(diferencia segundo - primero, diferencia primero - segundo)
(diferencia segundo - primero, diferencia segundo - primero)
(diferencia segundo - primero, xor)
(diferencia segundo - primero, or)
(identidad segundo, anulacion)
(identidad segundo, diferencia primero - segundo)
(identidad segundo, diferencia segundo - primero)
(identidad segundo, xor)
(identidad segundo, nor)
(identidad segundo, xnor)
(identidad segundo, complementario segundo)
(identidad segundo, implicacion segundo => primero)
(identidad segundo, complementario primero)
(identidad segundo, implicacion primero => segundo)
(identidad segundo, nand)
(identidad segundo, totalidad)
(complementario segundo, complementario segundo)
(complementario segundo, complementario primero)
(complementario primero, and)
(complementario primero, or)
(implicacion primero => segundo, and)
(implicacion primero => segundo, or)
(implicacion primero => segundo, xnor)
(implicacion primero => segundo, implicacion segundo => primero)
(implicacion primero => segundo, implicacion primero => segundo)
(implicacion primero => segundo, totalidad)
Cumplen la propiedad distributiva solo por la derecha los siguientes pares:
(diferencia primero - segundo, anulacion)
(diferencia primero - segundo, and)
(diferencia primero - segundo, diferencia primero - segundo)
(diferencia primero - segundo, diferencia segundo - primero)
(diferencia primero - segundo, xor)
(diferencia primero - segundo, or)
(identidad primero, anulacion)
(identidad primero, diferencia primero - segundo)
(identidad primero, diferencia segundo - primero)
(identidad primero, xor)
(identidad primero, nor)
(identidad primero, xnor)
(identidad primero, complementario segundo)
(identidad primero, implicacion segundo => primero)
(identidad primero, complementario primero)
(identidad primero, implicacion primero => segundo)
(identidad primero, nand)
(identidad primero, totalidad)
(complementario segundo, and)
(complementario segundo, or)
(implicacion segundo => primero, and)
(implicacion segundo => primero, or)
(implicacion segundo => primero, xnor)
(implicacion segundo => primero, implicacion segundo => primero)
(implicacion segundo => primero, implicacion primero => segundo)
(implicacion segundo => primero, totalidad)
(complementario primero, complementario segundo)
(complementario primero, complementario primero)
Cumplen la propiedad distributiva (por la izquierda y por la derecha) los
pares de operaciones:
(anulacion, anulacion)
(anulacion, and)
(anulacion, diferencia primero - segundo)
(anulacion, identidad primero)
(anulacion, diferencia segundo - primero)
(anulacion, identidad segundo)
(anulacion, xor)
(anulacion, or)
(and, anulacion)
(and, and)
(and, diferencia primero - segundo)
(and, identidad primero)
(and, diferencia segundo - primero)
(and, identidad segundo)
(and, xor)
(and, or)
(diferencia primero - segundo, identidad primero)
(diferencia primero - segundo, identidad segundo)
(identidad primero, and)
(identidad primero, identidad primero)
(identidad primero, identidad segundo)
(identidad primero, or)
(diferencia segundo - primero, identidad primero)
(diferencia segundo - primero, identidad segundo)
(identidad segundo, and)
(identidad segundo, identidad primero)
(identidad segundo, identidad segundo)
(identidad segundo, or)
(xor, identidad primero)
(xor, identidad segundo)
(xor, complementario segundo)
(xor, complementario primero)
(or, and)
(or, identidad primero)
(or, identidad segundo)
(or, or)
(or, xnor)
(or, implicacion segundo => primero)
(or, implicacion primero => segundo)
(or, totalidad)
(nor, identidad primero)
(nor, identidad segundo)
(xnor, identidad primero)
(xnor, identidad segundo)
(xnor, complementario segundo)
(xnor, complementario primero)
(complementario segundo, identidad primero)
(complementario segundo, identidad segundo)
(implicacion segundo => primero, identidad primero)
(implicacion segundo => primero, identidad segundo)
(complementario primero, identidad primero)
(complementario primero, identidad segundo)
(implicacion primero => segundo, identidad primero)
(implicacion primero => segundo, identidad segundo)
(nand, identidad primero)
(nand, identidad segundo)
(totalidad, and)
(totalidad, identidad primero)
(totalidad, identidad segundo)
(totalidad, or)
(totalidad, xnor)
(totalidad, implicacion segundo => primero)
(totalidad, implicacion primero => segundo)
(totalidad, totalidad)
Los 16 pares de operaciones no citados no cumplen ninguna. Si alguien
encuentra un error en esta lista, que me lo haga saber. He hecho la lista
con un programa, y es posible que por algun error de implementacion sea
incorrecta. Gracias.
Las mas importantes son:
A * (B - C) = (A * B) - (A * C) (and, dif. primero - segundo)
(B - C) * A = (B * A) - (C * A)
A * (B + C) = (A * B) + (A * C) (and, or)
(B + C) * A = (B * A) + (C * A)
A * (B (+) C) = (A * B) (+) (A * C) (and, xor)
(B (+) C) * A = (B * A) (+) (C * A)
A + (B * C) = (A + B) * (A + C) (or, and)
(B * C) + A = (B + A) * (C + A)
A + (B => C) = ((A + B) => (A + C)) (or, implic. primero => segundo)
(B => C) + A = ((B + A) => (C + A))
A + (B <=> C) = ((A + B) <=> (A + C)) (or, equivalencia/xnor)
(B <=> C) + A = ((B + A) <=> (C + A))
Observese que la suma logica es distributiva en relacion al producto
logico; esto no ocurre en la suma y el producto aritmeticos.
LEYES DE De Morgan:
------------------
Definicion: Para cualesquiera x, y, se cumple: (x * y)' = x' (*) y'
("*" denota una operacion, y "(*)" denota otra)
Cumplen las leyes de De Morgan los siguientes pares de operaciones:
(anulacion, totalidad)
(and, or)
(diferencia primero - segundo, implicacion segundo => primero)
(identidad primero, identidad primero)
(diferencia segundo - primero, implicacion primero => segundo)
(identidad segundo, identidad segundo)
(xor, xnor)
(or, and)
(nor, nand)
(xnor, xor)
(complementario segundo, complementario segundo)
(implicacion segundo => primero, diferencia primero - segundo)
(complementario primero, complementario primero)
(implicacion primero => segundo, diferencia segundo - primero)
(nand, nor)
(totalidad, anulacion)
Las realmente importantes son:
(A * B)' = A' + B' (and, or)
(A - B)' = (A' <= B') (dif. prim. - seg., implic. seg. => prim.)
(A (+) B)' = (A' <=> B') (xor, equivalencia/xnor)
(A + B)' = A' * B' (or, and)
(A <=> B)' = A' (+) B' (equivalencia/xnor, xor)
(A => B)' = B' - A' (implic. prim. => seg., dif. seg. - prim.)
(perdon por el cambio, pero no hay mas simbolos)
LEYES DE ABSORCION:
-------------------
Las leyes de absorcion se dan entre dos operaciones. Existen cuatro tipos
de leyes de absorcion.
Definicion: por la izquierda-izquierda: (tiene que tener un nombre)
para cualesquiera x, y: x * (x (*) y) = x
por la izquierda-derecha:
para cualesquiera x, y: x * (y (*) x) = x
por la derecha-izquierda:
para cualesquiera x, y: (x (*) y) * x = x
por la derecha-derecha:
para cualesquiera x, y: (y (*) x) * x = x
Cumplen las leyes de absorcion solo por la izquierda-izquierda:
(diferencia primero - segundo, diferencia segundo - primero)
(diferencia primero - segundo, complementario primero)
(complementario segundo, complementario primero)
(implicacion segundo => primero, complementario primero)
(implicacion segundo => primero, implicacion primero => segundo)
Solo por la izquierda-derecha:
(diferencia primero - segundo, diferencia primero - segundo)
(diferencia primero - segundo, complementario segundo)
(complementario segundo, complementario segundo)
(implicacion segundo => primero, complementario segundo)
(implicacion segundo => primero, implicacion segundo => primero)
Solo por la derecha-izquierda:
(diferencia segundo - primero, diferencia segundo - primero)
(diferencia segundo - primero, complementario primero)
(complementario primero, complementario primero)
(implicacion primero => segundo, complementario primero)
(implicacion primero => segundo, implicacion primero => segundo)
Solo por la derecha-derecha:
(diferencia segundo - primero, diferencia primero - segundo)
(diferencia segundo - primero, complementario segundo)
(complementario primero, complementario segundo)
(implicacion primero => segundo, complementario segundo)
(implicacion primero => segundo, implicacion segundo => primero)
Solo por la izquierda-izquierda y por la izquierda-derecha:
(diferencia primero - segundo, anulacion)
(diferencia primero - segundo, nor)
(identidad primero, anulacion)
(identidad primero, and)
(identidad primero, diferencia primero - segundo)
(identidad primero, diferencia segundo - primero)
(identidad primero, xor)
(identidad primero, or)
(identidad primero, nor)
(identidad primero, xnor)
(identidad primero, complementario segundo)
(identidad primero, implicacion segundo => primero)
(identidad primero, complementario primero)
(identidad primero, implicacion primero => segundo)
(identidad primero, nand)
(identidad primero, totalidad)
(implicacion segundo => primero, nand)
(implicacion segundo => primero, totalidad)
Solo por la izquierda-izquierda y por la derecha-izquierda:
(and, identidad primero)
(and, implicacion segundo => primero)
(or, diferencia primero - segundo)
(or, identidad primero)
Solo por la izquierda-izquierda y por la derecha-derecha:
[ninguna]
Solo por la izquierda-derecha y por la derecha-izquierda:
[ninguna]
Solo por la izquierda-derecha y por la derecha-derecha:
(and, identidad segundo)
(and, implicacion primero => segundo)
(or, diferencia segundo - primero)
(or, identidad segundo)
Solo por la derecha-izquierda y por la derecha-derecha:
(diferencia segundo - primero, anulacion)
(diferencia segundo - primero, nor)
(identidad segundo, anulacion)
(identidad segundo, and)
(identidad segundo, diferencia primero - segundo)
(identidad segundo, diferencia segundo - primero)
(identidad segundo, xor)
(identidad segundo, or)
(identidad segundo, nor)
(identidad segundo, xnor)
(identidad segundo, complementario segundo)
(identidad segundo, implicacion segundo => primero)
(identidad segundo, complementario primero)
(identidad segundo, implicacion primero => segundo)
(identidad segundo, nand)
(identidad segundo, totalidad)
(implicacion primero => segundo, nand)
(implicacion primero => segundo, totalidad)
Solo por la izquierda-izquierda y por la izquierda-derecha y por la
derecha-izquierda:
(identidad primero, identidad primero)
Solo por la izquierda-izquierda y por la izquierda-derecha y por la
derecha-derecha:
(identidad primero, identidad segundo)
Solo por la izquierda-izquierda y por la derecha-izquierda y por la
derecha-derecha:
(identidad segundo, identidad primero)
Solo por la izquierda-derecha y por la derecha-izquierda y por la
derecha-derecha:
(identidad segundo, identidad segundo)
Cumplen las leyes de absorcion (las cuatro propiedades) los siguientes
pares de operaciones:
(and, or)
(and, totalidad)
(xor, anulacion)
(or, anulacion)
(or, and)
(xnor, totalidad)
Es posible que la lista contenga errores. Los pares no citados (182) no
cumplen ninguna propiedad. Estos ultimos pares de operaciones son los mas
importantes:
A * (A + B) = A (and, or)
A * (B + A) = A
(A + B) * A = A
(B + A) * A = A
A + (A * B) = A (or, and)
A + (B * A) = A
(A * B) + A = A
(B * A) + A = A
OTRAS PROPIEDADES:
------------------
Aqui solo se trataran las operaciones not, and, or, diferencia, y xor.
Estas operaciones son todas conmutativas menos la diferencia, asi que no se
indicaran todos los sentidos en las siguientes formulas. Se recuerda que 0
representa el valor nulo y -1 el valor total.
Propiedades del complementario:
0' = -1
-1' = 0
(A')' = A
A' = -1 - A
A * A' = 0
A + A' = -1
A - A' = A
A' - A = A'
A (+) A' = -1
Propiedades del valor nulo:
A * 0 = 0
A + 0 = A
A - 0 = A
0 - A = 0
A (+) 0 = A
Propiedades del valor total:
A * -1 = A
A + -1 = -1
A - -1 = 0
-1 - A = A'
A (+) -1 = A'
Propiedades que definen la diferencia y la suma exclusiva:
A - B = A * B' = A - (A * B)
A (+) B = (A + B) - (A * B) = (A - B) + (B - A)
PROPIEDADES DE LA IMPLICACION:
------------------------------
Estas propiedades son a lo que muchos reducen la logica. Son necesarias
para demostraciones. Nota/ FALSO representa una contradiccion, VERDADERO
representa una tautologia.
NO NO P <=> P (principio de no-contradiccion y del medio excluso)
(P <=> Q) <=> [(P => Q) Y (Q => P)]
[(P => Q) Y (Q => R)] <=> (P => R) (demostracion directa)
(P => Q) <=> (Q O NO P) <=> NO (P Y NO Q)
NO P <=> (P => FALSO)
P <=> (VERDADERO => P)
(P => Q) <=> [(P Y NO Q) => FALSO]
(P => Q) <=> (NO Q => NO P) (contrapositivo)
APEDICE: TABLA DE OPERACIONES:
------------------------------
OPERACIONES SOBRE UN SOLO OPERANDO:
-----------------------------------
NOP LDP TOT NOMBRE leyenda:
--- --- --- --------------------------- NOP: numero de operacion.
0 n n anulacion LDP: resultado linealmente
1 s n identidad del operando dependiente del
2 s s complementario del operando operando.
3 n s totalidad TOT: resultado dependiente
del tama¤o total.
Nota sobre el numero de operacion:
En operaciones sobre un operando, el numero de operacion en un valor
de 2 bits que identifica el resultado de la operacion para todos los
posibles operandos (0 o 1). Ver la siguiente tabla:
NOP 0 1 la tabla muestra los resultados de la operacion para
--- --- --- cada operando. los resultados de cada operacion indican
0 0 0 el numero de la operacion, por ejemplo, la operacion 3
1 0 1 devuelve los resultados 1 y 1, el numero de 2 bits 11 es
2 1 0 3. mediante el numero de operacion se pueden conocer
3 1 1 todas las propiedades de una operacion.
OPERACIONES SOBRE DOS OPERANDOS:
--------------------------------
Recuerda que combinando estas operaciones o las de un solo operando es
posible obtener cualquier resultado para cualesquiera que sean los
operandos (se entiende para mas de dos operandos). Sobre n operandos se
pueden definir 4^n operaciones.
NOP LD1 LD2 TOT ASO CON IDM EEN EEI NOMBRE
--- --- --- --- --- --- --- ----- ----- -------------------------------
0 n n n s s n n n anulacion
1 s s n s s s s -1 n and
2 s s n n n n n n diferencia primero - segundo
3 s n n s n s n n identidad primero
4 s s n n n n n n diferencia segundo - primero
5 n s n s n s n n identidad segundo
6 s s n s s n s 0 s OP xor
7 s s n s s s s 0 n or
8 s s s s s n n n nor
9 s s s s s n s -1 s OP xnor / equivalencia
10 n s s s n n n n complementario del segundo
11 s s s n n n n n implicacion segundo => primero
12 s n s s n n n n complementario del primero
13 s s s n n n n n implicacion primero => segundo
14 s s s s s n n n nand
15 n n s s s n n n totalidad
Leyenda: NOP: numero de operacion.
LD1: linealmente dependiente del primer operando.
LD2: linealmente dependiente del segundo operando.
TOT: dependiente del tama¤o total.
ASO: cumple la propiedad asociativa (para cualesquiera x, y,
z, se cumple: x*(y*z)=(x*y)*z).
CON: cumple la propiedad conmutativa (para cualesquiera x e
y, se cumple: x*y=y*x).
IDM: cumple la idempotencia (para todo x, x*x=x)
EEN: existe elemento neutro (existe un elemento e tal que
para todo elemento x, se cumple: e*x=x*e=x. se puede
hablar de elemento neutro si no se de la conmutativa
para todos los elementos). se indica tambien cual es el
elemento neutro, -1 representa el valor total y 0 el
valor nulo.
EEI: exite elemento inverso (para todo x existe un y tal que:
x*y=y*x=e). se indica cual es este elemento inverso en
cada caso (OP indica el propio operando).
Sobre el numero de operacion:
Ocupa 4 bits, que corresponden a los distintos resultados de cada
operacion con las 4 posibles combinaciones de operandos. Observese la
siguiente tabla de resultados:
NOP 0,0 0,1 1,0 1,1
--- --- --- --- --- por ejemplo, la operacion xor, de numero 6,
0 0 0 0 0 produce los siguientes resultados:
1 0 0 0 1
2 0 0 1 0 0 xor 0 = 0
3 0 0 1 1 0 xor 1 = 1
4 0 1 0 0 1 xor 0 = 1
5 0 1 0 1 1 xor 1 = 0
6 0 1 1 0 ------
7 0 1 1 1 0110 = 6 (numero de xor)
8 1 0 0 0
9 1 0 0 1 el numero de operacion define sus resultados,
10 1 0 1 0 y, por tanto, sus propiedades, la dependencia
11 1 0 1 1 de sus operandos, y la existencia de elementos
12 1 1 0 0 neutro e inverso.
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1
Sobre las operaciones complementarias: Las 8 primeras operaciones de
la tabla (de numeros 0..7) son las que no dependen del tama¤o total,
las 8 ultimas (8..15) son sus complementarias, y si dependen del
tama¤o total del campo. Dos operaciones cuyos numeros suman 15 son
complementarias. La dependencia lineal de sus operadores y las
propiedades asociativa y conmutativa son las mismas para operaciones
complementarias. Las operaciones 1 y 7 (and y or) tienen elemento
neutro, sin embargo, sus complementarias no.
OPERACIONES DISTRIBUTIVAS:
--------------------------
por la izquierda: para cualesquiera x, y, z: x*(y(*)z)=(x*y)(*)(x*z)
por la derecha: para cualesquiera x, y, z: (y(*)z)*x=(y*x)(*)(z*x)
Las siguientes listas indican las operaciones distributivas en un
numero de 8 bits. Los 4 bits de mayor peso indican el numero de la
primera operacion, y los 4 de menor peso el de la segunda operacion.
La primera operacion es distributiva en relacion a la segunda. Los
numeros estan indicados en hexadecimal para que sea mas facil la
descodificacion.
Por la izquierda:
40 41 42 44 46 47 50 52 54 56 58 59 5A 5B
5C 5D 5E 5F AA AC C1 C7 D1 D7 D9 DB DD DF
Por la derecha:
20 21 22 24 26 27 30 32 34 36 38 39 3A 3B
3C 3D 3E 3F A1 A7 B1 B7 B9 BB BD BF CA CC
Ambas (propiedad distributiva):
00 01 02 03 04 05 06 07 10 11 12 13 14 15 16 17
23 25 31 33 35 37 43 45 51 53 55 57 63 65 6A 6C
71 73 75 77 79 7B 7D 7F 83 85 93 95 9A 9C A3 A5
B3 B5 C3 C5 D3 D5 E3 E5 F1 F3 F5 F7 F9 FB FD FF
leyes de De Morgan:
----------------
para cualesquiera x, y: (x*y)'=x'(*)y'
La siguiente lista incluye los pares de operaciones que cumplen las
leyes de De Morgan. El formato es el mismo que el usado en las
operaciones distributivas: los 4 bits de mayor peso indican la
primera operacion, y los 4 bits de menor peso la segunda.
Cumplen las leyes de De Morgan:
0F 17 2B 33 4D 55 69 71 8E 96 AA B2 CC D4 E8 F0
LEYES DE ABSORCION:
-------------------
El formato sigue siendo el mismo. Los 4 bits de mayor peso indican la
primera operacion, y los 4 bits de menor peso la segunda operacion.
Por la izquierda-izquierda:
24 2C AC BC BD
Por la izquierda-derecha:
24 2C AC BC BD
Por la derecha-izquierda:
44 4C CC DC DD
Por la derecha-derecha:
42 4A CA DA DB
Por la izquierda-izquierda y por la izquierda-derecha:
20 28 30 31 32 34 36 37 38 39 3A 3B 3C 3D 3E 3F BE BF
Por la izquierda-izquierda y por la derecha-izquierda:
13 1B 72 73
Por la izquierda-izquierda y por la derecha-derecha:
[ninguna]
Por la izquierda-derecha y por la derecha-izquierda:
[ninguna]
Por la izquierda-derecha y por la derecha-derecha:
15 1D 74 75
Por la derecha-izquierda y por la derecha-derecha:
40 48 50 51 52 54 56 57 58 59 5A 5B 5C 5D 5E 5F DE DF
Por la izquierda-izquierda y por la izquierda-derecha y por la
derecha-izquierda:
33
Por la izquierda-izquierda y por la izquierda-derecha y por la
derecha-derecha:
35
Por la izquierda-izquierda y por la derecha-izquierda y por la
derecha-derecha:
53
Por la izquierda-derecha y por la derecha-izquierda y por la
derecha-derecha:
55
Leyes de absorcion (las cuatro propiedades):
17 1F 60 70 71 9F
NOTAS FINALES:
--------------
- No abuses del lenguaje. Si puedes aprende latin, que es mas estricto, y
te vale para entablar conversacion con las de letras (aunque, si haces
matematicas, no echaras de menos a las de letras).
- Como ya habras notado, en logica de aserciones solo existen dos posibles
resultados: verdadero o falso, por lo que el tama¤o del valor total es de
1 bit. Sin embargo, en conjuntos o nivel de bits, el valor total tiene un
tama¤o variable (el numero de elementos del conjunto total, o el tama¤o
en bits del campo en que trabajemos, respectivamente). No se si ha
quedado claro, pero es muy importante entenderlo, porque la igualdad no
debe aplicarse a la logica de proposiciones, sino la equivalencia.
- La igualdad ("=") es un operador para formar proposiciones. Compara los
dos miembros, siendo la proposicion resultante verdadera si y solo si son
iguales. En logica no se utiliza "=", sino la equivalencia:
"x + 5 = 7" <=> "x = 2"
Tambien se puede indicar equivalencia logica entre proposiciones mediante
el simbolo "ð":
P ð Q
- En logica se ha trabajado con aserciones. Una asercion es una proposicion
siempre cierta o siempre falsa. Una proposicion es un enunciado que puede
ser o bien verdadero o bien falso (principio del medio excluido). Existen
circunstancias en que la verdad de una proposicion excluye a la otra, por
ejemplo: "(x > 3) Y (x < 2)" es una asercion falsa, aunque no podamos
decir si cada proposicion por separado es siempre cierta o falsa (por
separado no son aserciones, sino solamente proposiciones).
- El significado de "y/o", que suele aparecer en la lista de ingredientes
de las cajas de galletas, es el siguiente:
"aceites y/o grasas" <=> (aceites Y grasas) O BIEN aceites O BIEN grasas
Al menos es como yo lo entiendo. Esto es la definicion del O inclusivo:
"aceites O grasas". Como ves, en el "y/o", el foreslash es un XOR, y 'o'
es tambien XOR.
- En espa¤ol, normalmente interpretamos el 'o' (inclusivo) como exclusivo,
y por esta razon surgio el 'y/o'. Parece que 'y/o' existe tambien en
otros idiomas (en latin creo que no), asi que probablemente sea un error
del lenguaje, que en muchos casos la lengua no soluciona.
- El 'o' exclusivo en logica se suele emplear 'o bien P o bien Q', aunque
en este texto se ha usado 'P o bien Q'. Asegurate de que sean correctos.
- En nivel de bits, la suma modulo 2 bit a bit de dos numeros coincide con
la diferencia modulo 2 bit a bit, y se suelen llamar XOR. Probablemente
por esta razon, XOR sea conocido como diferencia simetrica o suma
exclusiva. Lo de diferencia simetrica debe ser porque todo elemento es
simetrizable.
- Lo del numero de operacion me lo he inventado. Es probable que ya existan
numeros asignados a cada operacion y que no correspondan a los que he
dado yo (en orden de bits inverso). Tambien he llamado a la operacion 15
totalidad, pero ahora pienso que habria quedado mejor completitud.
- XOR y XNOR son muy usadas en criptologia, porque pueden invertirse.
Operando el resultado con uno de los operandos se obtiene el otro
operando. XNOR es una doble implicacion (equivalencia). XOR es una doble
diferencia logica (la diferencia logica y la implicacion son operaciones
complementarias, y ambas se pueden dar en los dos sentidos porque no son
conmutativas).
- Por que el conjunto vacio esta contenido en todo conjunto? La definicion
de inclusion entre conjuntos es: AcB <=> (para todo xîE) (xîA => xîB)
Relee la definicion de implicacion si es necesario.
- Creo que me he inventado muchas cosas en las leyes de absorcion. No me
gusta la definicion. Si alguien sabe el nombre de cada una, que me lo
diga. Tambien no he incluido algunas cosas, como elementos regulares,
centrales, y algo mas.
- Le dejo a otro/a lo que queda sobre otros tipos de logica y lo que yo no
he escrito sobre logica basica (como cuantificadores). Tambien estaria
muy bien aritmetica a nivel de bits.
REFERENCIAS:
------------
[QUE79] Michel Queysanne. Algebra basica. Editorial Vicens-Vives. Segunda
edicion. ISBN: 84-316-1789-6. (ha sido una gran ayuda)
[CL] Manuel Castellet e Irene Llerena. Algebra lineal y geometria.
Editorial Reverte. Primera edicion. ISBN: 84-291-5009-9.
[BS] Robert G. Bartle y Donald R. Sherbert. Introduccion al analisis
matematico de una variable. Editorial Limusa Wiley. Segunda
edicion. ISBN: 968-18-5191-9. (tiene un apendice de logica y
demostraciones muy bueno)
[BAR96] Pablo Barron Ballesteros. Curso de ensamblador. Segunda edicion.
Archivo: CURSOASM.ZIP / CURSOASM.TXT. (el origen de todo esto)
DESPEDIDA:
----------
Probablemente este texto no te servira para mucho, y con conocer and, or,
xor, y not te baste, pero he querido ir mas alla. Espero que, al menos,
haya servido para modificar tu forma de razonar, y para que veas la logica
desde un punto de vista mas real.
Por que aprender el funcionamiento de las cosas creadas por el hombre
cuando puedes descubrir por ti mismo la mas pura de todas las ciencias?
Se diferente. No te enga¤es diciendote que haces un servicio a la sociedad,
que pretendes concienciar al mundo, o que tus objetivos son simples retos
intelectuales. Aspira, si puedes, a algo mas.
La criptologia te espera.
Aristoteles "El Filosofo Naturista"
peakaboole@telepolis.com
*EOF*
madfran