   Go backward to 2.2.5 ImplicationsGo up to 2.2 Propositional LogicGo forward to 2.2.7 Summary ### 2.2.6 Equivalences

If A and B are formulas, then
(A <=> B)
is a formula.

Alternative Forms  An equivalence A <=> B is often also expressed as

• A = B, A ~ B;
• "A and B are equivalent" ("A und B sind äquivalent");
• "A if and only if B" ("A genau dann, wenn B", "A dann und nur dann, wenn B");
• "A iff B" ("A gdw B");
• "A is necessary and sufficient for B" ("A ist notwendig und hinreichend für B");
• `equiv(A, B)`.

The last line denotes the input syntax of the Logic Evaluator.

Definition 10 (Semantics of Equivalence) Let A and B be formulas. The meaning of A <=> B is defined by the following truth table:
 A B A <=> B false false true false true false true false false true true true
In other words, A <=> B is true if and only if A and B have the same truth value.

Operational Interpretation  In the Logic Evaluator, an implication is represented by an object of the Java type

```public final class Equiv implements Formula
{
private Formula formula0;
private Formula formula1;

public Equiv(Formula _formula0, Formula _formula1)
{
formula0 = _formula0;
formula1 = _formula1;
}

public boolean eval() throws EvalException
{
return (formula0.eval() == formula1.eval());
}
}
```
The Java expression `(new Equiv(A, B)).eval()` computes the truth value of A <=> B. As one can see, the result is true only if A and B have the same truth value.

Proposition 10 (Equivalence Laws) For all formulas A and B, the following holds:
 A <=> B iff B <=> A A <=> B iff (A /\  B) \/ (~A /\  ~B) A <=> B iff (A => B) /\  (B => A)

Because of the last relationship, the equivalence A <=> B is frequently defined just as a syntactic abbreviation for (A => B) /\  (B => A).

Proposition 11 (Equivalence) For all formulas A and B, the formula A <=> B is true if and only if
A iff B
holds.

This law introduces a relationship between ` => ' and the notion of equivalence that justifies to call this operator by the same name.

Author: Wolfgang Schreiner
Last Modification: October 4, 1999   