# Logical disjunction

"Disjunction" redirects here. Logical disjunction_sentence_0

For the logic gate, see OR gate. Logical disjunction_sentence_1

For separation of chromosomes, see Meiosis. Logical disjunction_sentence_2

For disjunctions in distribution, see Disjunct distribution. Logical disjunction_sentence_3

"Logical OR" redirects here. Logical disjunction_sentence_4

For the similarly looking doubled vertical bar notation in engineering and network theory, see parallel addition (operator). Logical disjunction_sentence_5

Logical disjunction_table_infobox_0

Logical disjunctionLogical disjunction_table_caption_0

+ y

{\displaystyle x+y}Logical disjunction_cell_0_1_1

0111 )

{\displaystyle (0111)}Logical disjunction_cell_0_2_1

+ y

{\displaystyle x+y}Logical disjunction_cell_0_5_1

+ y

{\displaystyle x+y}Logical disjunction_cell_0_6_1

⊕ y ⊕ x y

{\displaystyle x\oplus y\oplus xy}Logical disjunction_cell_0_7_1

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. Logical disjunction_sentence_6

The logical connective that represents this operator is typically written as ∨ or +. Logical disjunction_sentence_7

In logic, or by itself means the inclusive or. Logical disjunction_sentence_8

This is to be distinguished from an exclusive or, which, unlike the usual or, is false when both of its arguments are true. Logical disjunction_sentence_9

An operand of a disjunction is called a disjunct. Logical disjunction_sentence_10

The concept of disjunction is also used similarly in other fields: Logical disjunction_sentence_11

Logical disjunction_unordered_list_0

## Notation Logical disjunction_section_0

Or is usually expressed with an infix operator: in mathematics and logic, ∨; in electronics, +; and in most programming languages, |, ||, or or. Logical disjunction_sentence_12

In Jan Łukasiewicz's prefix notation for logic, the operator is A, for Polish alternatywa (English: alternative). Logical disjunction_sentence_13

## Definition Logical disjunction_section_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. Logical disjunction_sentence_14

More generally, a disjunction is a logical formula that can have one or more literals separated only by 'or's. Logical disjunction_sentence_15

A single literal is often considered to be a degenerate disjunction. Logical disjunction_sentence_16

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. Logical disjunction_sentence_17

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. Logical disjunction_sentence_18

## Properties Logical disjunction_section_3

The following properties apply to disjunction: Logical disjunction_sentence_19

Logical disjunction_unordered_list_1

• Truth-preserving: The interpretation under which all variables are assigned a truth value of 'true', produces a truth value of 'true' as a result of disjunction.Logical disjunction_item_1_4
• Falsehood-preserving: The interpretation under which all variables are assigned a truth value of 'false', produces a truth value of 'false' as a result of disjunction.Logical disjunction_item_1_5

## Symbol Logical disjunction_section_4

All of the following are disjunctions: Logical disjunction_sentence_20

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

## Applications in computer science Logical disjunction_section_5

Operators corresponding to logical disjunction exist in most programming languages. Logical disjunction_sentence_22

### Bitwise operation Logical disjunction_section_6

Disjunction is often used for bitwise operations. Logical disjunction_sentence_23

Examples: Logical disjunction_sentence_24

Logical disjunction_unordered_list_2

• 0 or 0 = 0Logical disjunction_item_2_6
• 0 or 1 = 1Logical disjunction_item_2_7
• 1 or 0 = 1Logical disjunction_item_2_8
• 1 or 1 = 1Logical disjunction_item_2_9
• 1010 or 1100 = 1110Logical disjunction_item_2_10

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. Logical disjunction_sentence_25

For example, x = x | 0b00000001 will force the final bit to 1, while leaving other bits unchanged. Logical disjunction_sentence_26

### Logical operation Logical disjunction_section_7

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 operator (|), and logical disjunction with the double pipe (||) operator. Logical disjunction_sentence_27

Logical disjunction is usually short-circuited; that is, if the first (left) operand evaluates to true, then the second (right) operand is not evaluated. Logical disjunction_sentence_28

The logical disjunction operator thus usually constitutes a sequence point. Logical disjunction_sentence_29

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. Logical disjunction_sentence_30

This operator is thus called the parallel or. Logical disjunction_sentence_31

Although the type of a logical disjunction expression is boolean in most languages (and thus can only have the value true or false), in some languages (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. Logical disjunction_sentence_32

### Constructive disjunction Logical disjunction_section_8

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

## Union Logical disjunction_section_9

The membership of an element of a union set in set theory is defined in terms of a logical disjunction: x ∈ A ∪ B if and only if (x ∈ A) ∨ (x ∈ B). Logical disjunction_sentence_34

Because of this, logical disjunction satisfies many of the same identities as set-theoretic union, such as associativity, commutativity, distributivity, and de Morgan's laws, identifying logical conjunction with set intersection, logical negation with set complement. Logical disjunction_sentence_35

## Natural language Logical disjunction_section_10

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. Logical disjunction_sentence_36

For example, "Please ring me or send an email" likely means "do one or the other, but not both". Logical disjunction_sentence_37

On the other hand, "Her grades are so good that either she's very bright or she studies hard" does not exclude the possibility of both. Logical disjunction_sentence_38

In other words, in ordinary language "or" (even if used with "either") can mean either the inclusive "or", or the exclusive "or". Logical disjunction_sentence_39