Skip to content

Conditioned Disjunction

A ternary Boolean connective whose middle argument selects the first branch when true and the third branch when false: [p,q,r] = (q ∧ p) ∨ (¬q ∧ r).

Version
v5 · 2026-09-19 · History
Domain-specific #
1531
Domain group
Formal Sciences
Origin domain
Mathematics
Subdomain
Propositional Logic → Mathematics
Aliases
Conditional disjunction

Core Idea

Conditioned disjunction is a ternary truth-functional connective introduced by Alonzo Church. In Church's argument order, [p,q,r] takes q as the condition, p as the true branch, and r as the false branch:

[p,q,r] \equiv (q\to p)\land(\neg q\to r) \equiv (q\land p)\lor(\neg q\land r).

When q is true, the connective has the value of p; when q is false, it has the value of r. It is therefore the Boolean “if q, then p, else r” operation. The name emphasizes a disjunction whose alternatives are gated by complementary conditions rather than an ordinary inclusive disjunction between peers.

How would you explain it like I'm…

The Pick-One Switch

Imagine a switch that looks at a middle light. If the middle light is on, it passes along whatever the first light shows; if it's off, it passes along whatever the last light shows. That 'if this, pick that, otherwise pick the other one' switch is what conditioned disjunction does in logic.

If-Then-Else Logic

Conditioned disjunction is a logic operation, introduced by Alonzo Church, that takes three true-or-false inputs. One input is the condition. If the condition is true, the answer is the same as the first choice; if it's false, the answer is the same as the other choice. It's just like saying 'if it's raining, bring an umbrella, otherwise bring sunglasses'. Computer chips use the same idea to choose which signal gets through. It's so useful that, together with plain 'true' and 'false', you can build every other logic operation — like 'not', 'and', and 'or' — out of it.

Church's Ternary If-Then-Else

Conditioned Disjunction is a three-input truth-functional connective introduced by Alonzo Church. In Church's notation [p,q,r], q is the condition, p is the value when q is true, and r is the value when q is false, so [p,q,r] is equivalent to (q → p) ∧ (¬q → r), or (q ∧ p) ∨ (¬q ∧ r). The name reflects a disjunction whose two alternatives are guarded by opposite conditions, not an ordinary 'or' between equals. The same operation appears in circuits as a one-bit 2-to-1 multiplexer, and in programming it has the same truth table as q ? p : r, though the logical connective doesn't carry programming details like evaluation order or short-circuiting. With the constants true and false, it is functionally complete: not, and, and or can all be built from it.

 

Conditioned disjunction is a ternary truth-functional connective introduced by Alonzo Church. In Church's argument order, [p, q, r] takes q as the condition, p as the true branch, and r as the false branch, so that [p, q, r] ≡ (q → p) ∧ (¬q → r) ≡ (q ∧ p) ∨ (¬q ∧ r); it takes the value of p when q is true and of r when q is false. It is thus the Boolean if-then-else, and the name stresses a disjunction whose alternatives are gated by complementary conditions rather than an inclusive disjunction between peers. It has three exact interpretations: a primitive ternary connective with a fixed eight-row truth table in propositional logic; a one-bit two-to-one multiplexer in switching theory, with q as the select line; and the Boolean table of a conditional expression q ? p : r in programming, after correcting for Church's order. The logical connective does not inherit a programming language's evaluation order, side effects, typing, or short-circuiting. With truth constants it is functionally complete for classical propositional logic, so negation, conjunction, and disjunction are definable from it, making it a viable primitive basis rather than a mere abbreviation.

Scope of Application

In propositional logic, conditioned disjunction supplies a compact primitive for case splits and permits alternate axiom systems for classical propositional calculus. Church's treatment shows how familiar connectives can be defined through the ternary operator and constants, allowing metatheoretic questions about sufficiency, independence, and proof systems.

In Boolean algebra, the connective is an if–then–else operator. It supports decomposition of Boolean functions by a chosen variable: split the function into the case where q=1 and the case where q=0, then reassemble the cofactors with conditioned disjunction. This is closely related to Shannon expansion and underlies decision diagrams and logic synthesis.

Clarity

A conditioned-disjunction statement should answer:

  1. What notation and argument order are used?
  2. Which argument is the selector?
  3. Which branch is chosen when the selector is true?
  4. Is the logic classical and two-valued?
  5. Are p and r propositions, Boolean values, or terms of a wider type?
  6. Is the claim extensional—about the returned truth value—or operational—about evaluation? 7.

Manages Complexity

The connective compresses a two-case proof or definition into one compositional object. Instead of repeating “if q then use p; otherwise use r,” an analyst carries one term with explicit selector and branches. Nested terms build decision trees while retaining the conditional structure.

In Boolean-function manipulation, conditioned disjunction separates the choice of decomposition variable from the two cofactors.

Abstract Reasoning

The equivalence follows by cases. If q=1, then q\to p has value p and \neg q\to r is true, so their conjunction is p. If q=0, the first implication is true and the second has value r, so the conjunction is r. Rewriting implications gives (q\land p)\lor(\neg q\land r).

Knowledge Transfer

The mechanism transfers exactly among classical propositional logic, Boolean algebra, ideal switching circuits, SAT/SMT representations, binary decision diagrams, and pure Boolean conditional expressions. The roles map without metaphor: selector, true branch, false branch, and one output.

The transfer to general programming is partial. A language-level conditional may return arbitrary typed values and choose only one branch for evaluation. That operational laziness can prevent an exception or side effect in the unselected branch, whereas the truth function merely specifies the result under a valuation.

Relationships to Other Abstractions

Local relationship map for Conditioned DisjunctionParents appear above the current abstraction, mutual partners to the right, and children below. Node labels state whether each abstraction is prime or domain-specific; colors identify relation types.ConditionedDisjunctionDOMAINPrime abstraction: Selection — is a kind ofSelectionPRIME

Current abstraction Conditioned Disjunction Domain-specific

Parents (1) — outgoing typed relations

  • Conditioned Disjunction is a kind of Selection Prime

    Selection is the broader abstraction this entry instantiates.

Hierarchy path (1) — routes to 1 parentless root

  • Conditioned Disjunction → is a kind of Selection

Neighborhood in Abstraction Space

Conditioned Disjunction sits in a sparse region of the domain-specific corpus (70th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.

Family — Unclustered & Miscellaneous (2769 abstractions)

Nearest neighbors

Computed from structural-signature embeddings · 2026-10-25