↔⇔≡⟺
Logical symbols representing iff
In logic and related fields such as mathematics and philosophy, "if and only if" (often shortened as "iff") is paraphrased by the biconditional, a logical connective^{[1]} between statements. The biconditional is true in two cases, where either both statements are true or both are false. The connective is biconditional (a statement of material equivalence),^{[2]} and 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), though it is controversial whether the connective thus defined is properly rendered by the English "if and only if"—with its pre-existing meaning. For example, P if and only if Q means that P is true whenever Q is true, and the only case in which P is true is if Q is also true, whereas in the case of P if Q, there could be other scenarios where P is true and Q is false.
In writing, phrases commonly used as alternatives to P "if and only if" Q include: Q is necessary and sufficient for P, for P it is necessary and sufficient that Q, P is equivalent (or materially equivalent) to Q (compare with material implication), P precisely if Q, P precisely (or exactly) when Q, P exactly in case Q, and P just in case Q.^{[3]} Some authors regard "iff" as unsuitable in formal writing;^{[4]} others consider it a "borderline case" and tolerate its use.^{[5]} In logical formulae, logical symbols, such as and ,^{[6]} are used instead of these phrases; see § Notation below.
The truth table of P Q is as follows:^{[7]}^{[8]}
F | F | T | F | T | T | T |
F | T | F | F | T | F | F |
T | F | F | F | F | T | F |
T | T | F | T | T | T | T |
It is equivalent to that produced by the XNOR gate, and opposite to that produced by the XOR gate.^{[9]}
The corresponding logical symbols are "", "",^{[6]} and ,^{[10]} 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 Polish notation, it is the prefix symbol .^{[11]}
Another term for the logical connective, i.e., the symbol in logic formulas, is exclusive nor.
In TeX, "if and only if" is shown as a long double arrow: via command \iff or \Longleftrightarrow.^{[12]}
In most logical systems, one proves a statement of the form "P iff Q" by proving either "if P, then Q" and "if Q, then P", or "if P, then Q" and "if not-P, then not-Q". Proving these pairs 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 been shown to be both true, or both false.
Usage of the abbreviation "iff" first appeared in print in John L. Kelley's 1955 book General Topology.^{[13]} 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."^{[14]}
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:^{[15]} "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ː].
Conventionally, definitions are "if and only if" statements; some texts — such as Kelley's General Topology — follow this convention, and use "if and only if" or iff in definitions of new terms.^{[16]} However, this usage of "if and only if" is relatively uncommon and overlooks the linguistic fact that the "if" of a definition is interpreted as meaning "if and only if". The majority of textbooks, research papers and articles (including English Wikipedia articles) follow the linguistic convention of interpreting "if" as "if and only if" whenever a mathematical definition is involved (as in "a topological space is compact if every open cover has a finite subcover").^{[17]} Moreover, in the case of a recursive definition, the only if half of the definition is interpreted as a sentence in the metalanguage stating that the sentences in the definition of a predicate are the only sentences determining the extension of the predicate.
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 as well. 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 (although, as noted above, if is more often used than iff in statements of definition).
The elements of X are all and only the elements of Y means: "For any z in the domain of discourse, z is in X if and only if z is in Y."
In their Artificial Intelligence: A Modern Approach, Russell and Norvig note (page 282),^{[18]} in effect, that it is often more natural to express if and only if as if together with a "database (or logic programming) semantics". They give the example of the English sentence "Richard has two brothers, Geoffrey and John".
In a database or logic program, this could be represented simply by two sentences:
The database semantics interprets the database (or program) as containing all and only the knowledge relevant for problem solving in a given domain. It interprets only if as expressing in the metalanguage that the sentences in the database represent the only knowledge that should be considered when drawing conclusions from the database.
In first-order logic (FOL) with the standard semantics, the same English sentence would need to be represented, using if and only if, with only if interpreted in the object language, in some such form as:
Compared with the standard semantics for FOL, the database semantics has a more efficient implementation. Instead of reasoning with sentences of the form:
it uses sentences of the form:
to reason forwards from conditions to conclusions or backwards from conclusions to conditions.
The database semantics is analogous to the legal principle expressio unius est exclusio alterius (the express mention of one thing excludes all others). Moreover, it underpins the application of logic programming to the representation of legal texts and legal reasoning.^{[19]}