World Library  
Flag as Inappropriate
Email this Article

Logical disjunction

Article Id: WHEBN0000007962
Reproduction Date:

Title: Logical disjunction  
Author: World Heritage Encyclopedia
Language: English
Subject: Negation, Truth table, Sheffer stroke, Logical connective, Logical connectives
Collection: Logical Connectives
Publisher: World Heritage Encyclopedia

Logical disjunction

Venn diagram of \scriptstyle A \or B
Venn diagram of \scriptstyle A \or B \or C

In logic and mathematics, or is the truth-functional operator of (inclusive) disjunction, also known as alternation; the or of a set of operands is true if and only if one or more of its operands is true. The logical connective that represents this operator is typically written as ∨ or +.

"A or B" is true if A is true, or if B is true, or if both A and B are true.

In logic, or by itself means the inclusive or, distinguished from an exclusive or, which is false when both of its arguments are true, while an "or" is true in that case.

An operand of a disjunction is called a disjunct.

Related concepts in other fields are:


  • Notation 1
  • Definition 2
    • Truth table 2.1
  • Properties 3
  • Symbol 4
  • Applications in computer science 5
    • Bitwise operation 5.1
    • Logical operation 5.2
    • Constructive disjunction 5.3
  • Union 6
  • Natural language 7
  • See also 8
  • Notes 9
  • External links 10
  • References 11


Or is usually expressed with an infix operator: in mathematics and logic, ; in electronics, +; and in most programming languages, |, ||, or or. In Jan Łukasiewicz's prefix notation for logic, the operator is A, for Polish alternatywa.[1]


Logical disjunction is an operation on two logical values, typically the values of two propositions, that has a value of false if and only if both of its operands are false. More generally, a disjunction is a logical formula that can have one or more literals separated only by ORs. A single literal is often considered to be a degenerate disjunction.

The disjunctive identity is false, which is to say that the or of an expression with false has the same value as the original expression. In keeping with the concept of vacuous truth, when disjunction is defined as an operator or function of arbitrary arity, the empty disjunction (OR-ing over an empty set of operands) is generally defined as false.

Truth table

Disjunctions of the arguments on the left — The false bits form a Sierpinski triangle.

The truth table of ~A \or B:

A B A \or B


A \or B     \Leftrightarrow     B \or A
~A ~~~\or~~~ (B \or C)     \Leftrightarrow     ~A \or B \or C     \Leftrightarrow     (A \or B) ~~~\or~~~ ~C
~~~\or~~~     \Leftrightarrow         \Leftrightarrow     ~~~\or~~~
~A \or (B \and C)     \Leftrightarrow     (A \or B) \and (A \or C)
\or     \Leftrightarrow         \Leftrightarrow     \and
~A~ ~\or~ ~A~     \Leftrightarrow     A~
~\or~     \Leftrightarrow    
A \rightarrow B     \Rightarrow     (A \or C) \rightarrow (B \or C)
    \Rightarrow         \Leftrightarrow     \rightarrow

When all inputs are true, the output is true.

A \and B     \Rightarrow     A \or B
(to be tested)

When all inputs are false, the output is false.

A \or B     \Rightarrow     A \or B
(to be tested)

If using binary values for true (1) and false (0), then logical disjunction works almost like binary addition. The only difference is that 1\or 1=1, while 1+1=10.


The mathematical symbol for logical disjunction varies in the literature. In addition to the word "or", and the formula "Apq", the symbol "\or", deriving from the Latin word vel (“either”, “or”) is commonly used for disjunction. For example: "A \or B " is read as "A or B ". Such a disjunction is false if both A and B are false. In all other cases it is true.

All of the following are disjunctions:

A \or B
\neg A \or B
A \or \neg B \or \neg C \or D \or \neg E.

The corresponding operation in set theory is the set-theoretic union.

Applications in computer science

Operators corresponding to logical disjunction exist in most programming languages.

Bitwise operation

Disjunction is often used for bitwise operations. Examples:

  • 0 or 0 = 0
  • 0 or 1 = 1
  • 1 or 0 = 1
  • 1 or 1 = 1
  • 1010 or 1100 = 1110

The or operator can be used to set bits in a bit field to 1, by or-ing the field with a constant field with the relevant bits set to 1. For example, x = x | 0b00000001 will force the final bit to 1 while leaving other bits unchanged.

Logical operation

Many languages distinguish between bitwise and logical disjunction by providing two distinct operators; in languages following C, bitwise disjunction is performed with the single pipe (|) and logical disjunction with the double pipe (||) operators.

Logical disjunction is usually short-circuited; that is, if the first (left) operand evaluates to true then the second (right) operand is not evaluated. The logical disjunction operator thus usually constitutes a sequence point.

In a parallel (concurrent) language, it is possible to short-circuit both sides: they are evaluated in parallel, and if one terminates with value true, the other is interrupted. This operator is thus called the parallel or.

Although in most languages the type of a logical disjunction expression is boolean and thus can only have the value true or false, in some (such as Python and JavaScript) the logical disjunction operator returns one of its operands: the first operand if it evaluates to a true value, and the second operand otherwise.

Constructive disjunction

The Curry–Howard correspondence relates a constructivist form of disjunction to tagged union types.



  1. ^ Józef Maria Bocheński (1959), A Précis of Mathematical Logic, translated by Otto Bird from the French and German editions, Dordrecht, North Holland: D. Reidel, passim.


  • Hazewinkel, Michiel, ed. (2001), "Disjunction",  
  • Stanford Encyclopedia of Philosophy entry
  • Eric W. Weisstein. "Disjunction." From MathWorld--A Wolfram Web Resource

External links

  • Jevons, and practically all mathematical logicians after him, advocated, on various grounds, the definition of "logical addition" in a form which does not necessitate mutual exclusiveness.


See also

As with other notions formalized in mathematical logic, the meaning of the natural-language coordinating conjunction or is closely related to, but different from the logical or. For example, "Please ring me or send an email" likely means "do one or the other, but not both". On the other hand, "Her grades are so good that she's either very bright or studies hard" does not exclude the possibility of both. In other words, in ordinary language "or" can mean the inclusive or exclusive or.

Natural language
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from World Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.