// reference · IFF
⇔ Biconditional_
The biconditional, or double implication, expresses "p if and only if q". The expression p ⇔ q is true when p and q share the same truth value (both true or both false) and false when they differ. It is the operator of equivalence.
Truth table: p ⇔ q
| p | q | p ⇔ q★ |
|---|---|---|
| T | T | T |
| T | F | F |
| F | T | F |
| F | F | T |
Classification: Contingency · 4 rows
Definition
The biconditional p ⇔ q is the conjunction of two conditionals: (p ⇒ q) ∧ (q ⇒ p). Hence the name: implication runs in both directions. It is true exactly when p and q have the same truth value.
Alternative symbols: p ↔ q, p ≡ q (common in algebra texts and to denote logical equivalence), and "p iff q", short for if and only if. The calculator uses ⇔ and also accepts ↔.
How to read it
p ⇔ q is read "p if and only if q", "p is equivalent to q", "p is a necessary and sufficient condition for q", or "p exactly when q".
The phrase "if and only if" packs two sentences: "p if q" (q ⇒ p) and "p only if q" (p ⇒ q). When both hold, you have the biconditional.
When it is true
The table has four rows. With p = T and q = T, p ⇔ q = T. With p = T and q = F, p ⇔ q = F. With p = F and q = T, p ⇔ q = F. With p = F and q = F, p ⇔ q = T.
Two true rows (when the values match) and two false rows (when they differ). It is a contingency and its table is exactly the opposite of exclusive disjunction ⊕.
Everyday example
"You pass if and only if you score at least 60 points." With 60 or more you pass; with fewer you don't. There is no way to pass with less than 60 or to fail with 60 or more: the two conditions always go together.
Mathematical definitions are biconditionals: "a number is even if and only if it is divisible by 2". That is why proving an equivalence requires proving both implications separately.
Properties and equivalences
Definition: p ⇔ q ≡ (p ⇒ q) ∧ (q ⇒ p). Normal form: p ⇔ q ≡ (p ∧ q) ∨ (¬p ∧ ¬q). Relation to XOR: p ⇔ q ≡ ¬(p ⊕ q).
It is commutative (p ⇔ q ≡ q ⇔ p) and associative. It is reflexive (p ⇔ p is a tautology) and is preserved when both sides are negated: p ⇔ q ≡ ¬p ⇔ ¬q.
When p ⇔ q is a tautology, we say p and q are logically equivalent and write p ≡ q. Checking whether two formulas are equivalent is exactly building the truth table of their biconditional and verifying it is all true.
Common mistakes
Confusing ⇔ with ⇒. "If it rains, the street gets wet" (⇒) does not say the street gets wet only when it rains. "The street gets wet if and only if it rains" (⇔) does say that, and it is a much stronger claim.
Confusing ⇔ with ⊕: they are opposites. The biconditional is true when the values match; XOR when they differ. Their tables are negations of each other.
Equivalent expressions
Try it yourself
Edit the expression in the calculator and watch how every step of the table changes.
Open in the calculator →Related laws and rules
Logical equivalence
Definition of the biconditional
(p ⇔ q) ⇔ ((p ⇒ q) ∧ (q ⇒ p))
Logical equivalence
Definition of XOR
(p ⊕ q) ⇔ ((p ∨ q) ∧ ¬(p ∧ q))
Logical equivalence
De Morgan's law (conjunction)
¬(p ∧ q) ⇔ (¬p ∨ ¬q)
Logical equivalence
De Morgan's law (disjunction)
¬(p ∨ q) ⇔ (¬p ∧ ¬q)
Logical equivalence
Contrapositive law
(p ⇒ q) ⇔ (¬q ⇒ ¬p)
Frequently asked questions
What does "if and only if" mean? ▼
That the two propositions are equivalent: each implies the other. "p if and only if q" is true when p and q have the same truth value, both true or both false.
What is the difference between ⇒ and ⇔? ▼
The conditional ⇒ runs one way and is false only when p is true and q false. The biconditional ⇔ runs both ways and is false whenever p and q differ.
How does the biconditional relate to XOR? ▼
They are opposites: p ⇔ q ≡ ¬(p ⊕ q). The biconditional is true when the values match and XOR when they differ.
