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
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

previous up next