En lógica , la disyunción , también conocida como disyunción lógica o adición lógica o disyunción inclusiva , es un conectivo lógico típicamente anotado como y leído en voz alta como "o". Por ejemplo, la oración en inglés "está soleado o hace calor" se puede representar en lógica usando la fórmula disyuntiva , asumiendo que abrevia "está soleado" y abrevia "hace calor".
En lógica clásica , a la disyunción se le da una verdad semántica funcional según la cual una fórmula es verdadera a menos que ambas y sean falsas. Debido a que esta semántica permite que una fórmula disyuntiva sea verdadera cuando sus dos disyunciones son verdaderas, es una interpretación inclusiva de la disyunción, en contraste con la disyunción exclusiva . Los tratamientos teóricos de la prueba clásica a menudo se dan en términos de reglas como la introducción y eliminación de la disyunción . A la disyunción también se le han dado numerosos tratamientos no clásicos , motivados por problemas que incluyen el argumento de la batalla naval de Aristóteles , el principio de incertidumbre de Heisenberg , así como los numerosos desajustes entre la disyunción clásica y sus equivalentes más cercanos en los lenguajes naturales . [1] [2]
Un operando de una disyunción es una disyunción . [3]
Debido a que el "o" lógico significa que una fórmula de disyunción es verdadera cuando una o ambas de sus partes son verdaderas, se la denomina disyunción inclusiva . Esto contrasta con una disyunción exclusiva , que es verdadera cuando uno u otro de los argumentos es verdadero, pero no ambos (denominado " exclusivo o ", o "XOR").
Cuando es necesario aclarar si se pretende "o" inclusivo o exclusivo, los angloparlantes a veces utilizan la frase " y/o ". En términos de lógica, esta frase es idéntica a "o", pero hace explícita la inclusión de ambos como verdaderos.
En lógica y campos relacionados, la disyunción normalmente se anota con un operador infijo (Unicode U+2228 ∨ LOGICAL OR ). [1] Las notaciones alternativas incluyen , utilizadas principalmente en electrónica , así como en muchos lenguajes de programación . A veces también se utiliza la palabra inglesa "or", a menudo en letras mayúsculas. En la notación de prefijo para lógica de Jan Łukasiewicz , el operador es , abreviatura de polaco alternatywa (inglés: alternativo). [4]
En la semántica de la lógica , la disyunción clásica es una operación funcional de verdad que devuelve el valor de verdad "verdadero" a menos que ambos argumentos sean "falsos". Su entrada semántica se proporciona de manera estándar de la siguiente manera: [5]
Esta semántica corresponde a la siguiente tabla de verdad : [1]
En los sistemas lógicos clásicos donde la disyunción lógica no es una primitiva, se puede definir en términos de la primitiva " y " ( ) y " no " ( ) como:
Alternativamente, puede definirse en términos de " implica " ( ) y "no" como: [6]
Esto último se puede comprobar mediante la siguiente tabla de verdad:
También puede definirse únicamente en términos de :
Se puede comprobar mediante la siguiente tabla de verdad:
Las siguientes propiedades se aplican a la disyunción:
Los operadores correspondientes a la disyunción lógica existen en la mayoría de los lenguajes de programación .
La disyunción se utiliza a menudo para operaciones bit a bit . Ejemplos:
El or
operador se puede utilizar para establecer bits en un campo de bits en 1, or
agregando el campo a un campo constante con los bits relevantes establecidos en 1. Por ejemplo, x = x | 0b00000001
forzará el bit final a 1 y dejará los demás bits sin cambios. [ cita necesaria ]
Muchos lenguajes distinguen entre disyunción lógica y bit a bit proporcionando dos operadores distintos; en los idiomas siguientes a C , la disyunción bit a bit se realiza con el operador de tubería única ( |
) y la disyunción lógica con el ||
operador de tubería doble ().
La disyunción lógica suele sufrir un cortocircuito ; es decir, si el primer operando (izquierdo) se evalúa como true
, entonces el segundo operando (derecho) no se evalúa. Por tanto, el operador de disyunción lógica suele constituir un punto de secuencia .
En un lenguaje paralelo (concurrente), es posible cortocircuitar ambos lados: se evalúan en paralelo y si uno termina con el valor verdadero, el otro se interrumpe. Por eso este operador se llama paralelo o .
Aunque el tipo de expresión de disyunción lógica es booleano en la mayoría de los lenguajes (y por lo tanto solo puede tener el valor true
o false
), en algunos lenguajes (como Python y JavaScript ), el operador de disyunción lógica devuelve uno de sus operandos: el primer operando si se evalúa a un valor verdadero y el segundo operando en caso contrario. [8] [9] Esto le permite cumplir el rol del operador de Elvis .
La correspondencia Curry-Howard relaciona una forma constructivista de disyunción con tipos de sindicatos etiquetados . [ cita necesaria ] [10]
La pertenencia de un elemento de un conjunto de unión en la teoría de conjuntos se define en términos de una disyunción lógica: . Debido a esto, la disyunción lógica satisface muchas de las mismas identidades que la unión teórica de conjuntos, como la asociatividad , la conmutatividad , la distributividad y las leyes de Morgan , identificando la conjunción lógica con la intersección de conjuntos , la negación lógica con el complemento de conjuntos . [11]
La disyunción en los lenguajes naturales no coincide precisamente con la interpretación de la lógica clásica. En particular, la disyunción clásica es inclusiva, mientras que la disyunción del lenguaje natural a menudo se entiende exclusivamente , como lo haría normalmente el siguiente inglés. [1]
Esta inferencia a veces ha sido entendida como una vinculación , por ejemplo por Alfred Tarski , quien sugirió que la disyunción del lenguaje natural es ambigua entre una interpretación clásica y una no clásica. Trabajos más recientes en pragmática han demostrado que esta inferencia puede derivarse como una implicatura conversacional sobre la base de una denotación semántica que se comporta de manera clásica. Sin embargo, se ha argumentado que las construcciones disyuntivas que incluyen el húngaro vagy... vagy y el francés soit... soit son intrínsecamente exclusivas, lo que genera falta de gramaticalidad en contextos donde de otro modo se forzaría una lectura inclusiva. [1]
Se han observado desviaciones similares de la lógica clásica en casos como la disyunción de libre elección y la simplificación de antecedentes disyuntivos , donde ciertos operadores modales desencadenan una interpretación de la disyunción similar a una conjunción . Al igual que con la exclusividad, estas inferencias han sido analizadas como implicaturas y vinculaciones que surgen de una interpretación no clásica de la disyunción. [1]
En muchos idiomas, las expresiones disyuntivas desempeñan un papel en la formación de preguntas. Por ejemplo, si bien el siguiente ejemplo en inglés puede interpretarse como una pregunta polar que pregunta si es cierto que Mary es filósofa o lingüista, también puede interpretarse como una pregunta alternativa que pregunta cuál de las dos profesiones es la suya. El papel de la disyunción en estos casos se ha analizado utilizando lógicas no clásicas como la semántica alternativa y la semántica inquisitiva , que también se han adoptado para explicar la libre elección y las inferencias de simplificación. [1]
En inglés, como en muchas otras lenguas, la disyunción se expresa mediante una conjunción coordinante . Otras lenguas expresan significados disyuntivos de diversas formas, aunque se desconoce si la disyunción en sí es un universal lingüístico . En muchos idiomas como Dyirbal y Maricopa , la disyunción se marca mediante un sufijo verbal . Por ejemplo, en el siguiente ejemplo de Maricopa, la disyunción está marcada por el sufijo šaa . [1]
Johnš
John- NOM
Facturas
Bill- NOM
vʔaawuumšaa
3 -viene- PL - FUT - INFER
"John o Bill vendrán."