previous up next
Go backward to 2.2.5 Implications
Go up to 2.2 Propositional Logic
Go forward to 2.2.7 Summary
RISC-Linz logo

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

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

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

previous up next