In logic and related fields such as mathematics and philosophy, **if and only if** (shortened **iff**) is a biconditional logical connective between statements.

In that it is biconditional, the connective can be likened to the standard material conditional ("only if", equal to "if ... then") combined with its reverse ("if"); hence the name. The result is that the truth of either one of the connected statements requires the truth of the other (i.e. either both statements are true, or both are false). It is controversial whether the connective thus defined is properly rendered by the English "if and only if", with its pre-existing meaning. There is nothing to stop one from *stipulating* that we may read this connective as "only if and if", although this may lead to confusion.

In writing, phrases commonly used, with debatable propriety, as alternatives to P "if and only if" Q include *Q is necessary and sufficient for P*, *P is equivalent (or materially equivalent) to Q* (compare material implication), *P precisely if Q*, *P precisely (or exactly) when Q*, *P exactly in case Q*, and *P just in case Q*.^{[1]} Many authors regard "iff" as unsuitable in formal writing;^{[2]} others use it freely.^{[3]}

In *logic formulae*, logical symbols are used instead of these phrases; see the discussion of notation.

The truth table of *P* *Q* is as follows:^{[4]}^{[5]}

P |
Q |
P Q |
P Q |
P Q |
---|---|---|---|---|

T | T | T | T | T |

T | F | F | T | F |

F | T | T | F | F |

F | F | T | T | T |

It is equivalent to that produced by the XNOR gate, and opposite to that produced by the XOR gate.

The corresponding logical symbols are "↔", "", and "≡", and sometimes "iff". These are usually treated as equivalent. However, some texts of mathematical logic (particularly those on first-order logic, rather than propositional logic) make a distinction between these, in which the first, ↔, is used as a symbol in logic formulas, while ⇔ is used in reasoning about those logic formulas (e.g., in metalogic). In Łukasiewicz's notation, it is the prefix symbol 'E'.

Another term for this logical connective is exclusive nor.

In most logical systems, one proves a statement of the form "P iff Q" by proving "if P, then Q" and "if Q, then P". Proving this pair of statements sometimes leads to a more natural proof since there are not obvious conditions in which one would infer a biconditional directly. An alternative is to prove the disjunction "(P and Q) or (not-P and not-Q)", which itself can be inferred directly from either of its disjuncts—that is, because "iff" is truth-functional, "P iff Q" follows if P and Q have both been shown true, or both false.

Usage of the abbreviation "iff" first appeared in print in John L. Kelley's 1955 book *General Topology.*^{[6]} Its invention is often credited to Paul Halmos, who wrote "I invented 'iff,' for 'if and only if'—but I could never believe I was really its first inventor."^{[7]}

It is somewhat unclear how "iff" was meant to be pronounced. In current practice, the single 'word' "iff" is almost always read as the four words "if and only if." However, in the preface of *General Topology*, Kelley suggests that it should be read differently: "In some cases where mathematical content requires 'if and only if' and euphony demands something less I use Halmos' 'iff'". The authors of one discrete mathematics textbook suggest:^{[8]} "Should you need to pronounce iff, really hang on to the 'ff' so that people hear the difference from 'if'", implying that "iff" could be pronounced as /ɪfː/.

This section
does not cite any sources. (June 2013) (Learn how and when to remove this template message) |

**"Madison will eat the fruit**(equivalent to__if__it is an apple."**"**or__Only if__Madison will eat the fruit, it is an apple;"**"Madison will eat the fruit**)*←*fruit is an apple"- This states that Madison will eat fruits that are apples. It does not, however, exclude the possibility that Madison might also eat bananas or other types of fruit. All that is known for certain is that she will eat any and all apples that she happens upon. That the fruit is an apple is a
*sufficient*condition for Madison to eat the fruit.

- This states that Madison will eat fruits that are apples. It does not, however, exclude the possibility that Madison might also eat bananas or other types of fruit. All that is known for certain is that she will eat any and all apples that she happens upon. That the fruit is an apple is a
**"Madison will eat the fruit**(equivalent to__only if__it is an apple."**"**or__If__Madison will eat the fruit, then it is an apple"**"Madison will eat the fruit**)*→*fruit is an apple"- This states that the only fruit Madison will eat is an apple. It does not, however, exclude the possibility that Madison will refuse an apple if it is made available, in contrast with (1), which requires Madison to eat any available apple. In this case, that a given fruit is an apple is a
*necessary*condition for Madison to be eating it. It is not a sufficient condition since Madison might not eat all the apples she is given.

- This states that the only fruit Madison will eat is an apple. It does not, however, exclude the possibility that Madison will refuse an apple if it is made available, in contrast with (1), which requires Madison to eat any available apple. In this case, that a given fruit is an apple is a
**"Madison will eat the fruit**(equivalent to__if and only if__it is an apple"**"Madison will eat the fruit**)*↔*fruit is an apple"- This statement makes it clear that Madison will eat all and only those fruits that are apples. She will not leave any apple uneaten, and she will not eat any other type of fruit. That a given fruit is an apple is both a
*necessary*and a*sufficient*condition for Madison to eat the fruit.

- This statement makes it clear that Madison will eat all and only those fruits that are apples. She will not leave any apple uneaten, and she will not eat any other type of fruit. That a given fruit is an apple is both a

Sufficiency is the converse of necessity. That is to say, given *P*→*Q* (i.e. if *P* then *Q*), *P* would be a sufficient condition for *Q*, and *Q* would be a necessary condition for *P*. Also, given *P*→*Q*, it is true that *¬Q*→*¬P* (where ¬ is the negation operator, i.e. "not"). This means that the relationship between *P* and *Q*, established by *P*→*Q*, can be expressed in the following, all equivalent, ways:

*P*is sufficient for*Q**Q*is necessary for*P**¬Q*is sufficient for*¬P**¬P*is necessary for*¬Q*

As an example, take (1), above, which states *P*→*Q*, where *P* is "the fruit in question is an apple" and *Q* is "Madison will eat the fruit in question". The following are four equivalent ways of expressing this very relationship:

- If the fruit in question is an apple, then Madison will eat it.
- Only if Madison will eat the fruit in question, is it an apple.
- If Madison will not eat the fruit in question, then it is not an apple.
- Only if the fruit in question is not an apple, will Madison not eat it.

So we see that (2), above, can be restated in the form of *if...then* as "If Madison will eat the fruit in question, then it is an apple"; taking this in conjunction with (1), we find that (3) can be stated as "If the fruit in question is an apple, then Madison will eat it; *and* if Madison will eat the fruit, then it is an apple".

Euler diagrams show logical relationships among events, properties, and so forth. "P only if Q", "if P then Q", and "P→Q" all mean that P is a subset, either proper or improper, of Q. "P if Q", "if Q then P", and Q→P all mean that Q is a proper or improper subset of P. "P if and only if Q" and "Q if and only if P" both mean that the sets P and Q are identical to each other.

Iff is used outside the field of logic, wherever logic is applied, especially in mathematical discussions. It has the same meaning as above: it is an abbreviation for *if and only if*, indicating that one statement is both necessary and sufficient for the other. This is an example of mathematical jargon. (However, as noted above, *if*, rather than *iff*, is more often used in statements of definition.)

The elements of *X* are *all and only* the elements of *Y* is used to mean: "for any *z* in the domain of discourse, *z* is in *X* if and only if *z* is in *Y*."

**^**Weisstein, Eric W. "Iff." From MathWorld--A Wolfram Web Resource. http://mathworld.wolfram.com/Iff.html**^**E.g. Daepp, Ulrich; Gorkin, Pamela (2011),*Reading, Writing, and Proving: A Closer Look at Mathematics*, Undergraduate Texts in Mathematics, Springer, p. 52, ISBN 9781441994790,While it can be a real time-saver, we don't recommend it in formal writing.

**^**Rothwell, Edward J.; Cloud, Michael J. (2014),*Engineering Writing by Design: Creating Formal Documents of Lasting Value*, CRC Press, p. 98, ISBN 9781482234312,It is common in mathematical writing

.**^**p <=> q. WolframAlpha**^***If and only if*, UHM Department of Mathematics,Theorems which have the form "P if and only Q" are much prized in mathematics. They give what are called "necessary and sufficient" conditions, and give completely equivalent and hopefully interesting new ways to say exactly the same thing.

.**^***General Topology,*reissue ISBN 978-0-387-90125-1**^**Nicholas J. Higham (1998).*Handbook of writing for the mathematical sciences*(2nd ed.). SIAM. p. 24. ISBN 978-0-89871-420-3.**^**Maurer, Stephen B.; Ralston, Anthony (2005).*Discrete Algorithmic Mathematics*(3rd ed.). Boca Raton, Fla.: CRC Press. p. 60. ISBN 1568811667.