# Logical equivalence

In logic and mathematics, statements $p$ and $q$ are said to be logically equivalent if they have the same truth value in every model. The logical equivalence of $p$ and $q$ is sometimes expressed as $p\equiv q$, $p::q$, ${\textsf {E}}pq$, or $p\iff q$, depending on the notation being used. However, these symbols are also used for material equivalence, so proper interpretation would depend on the context. Logical equivalence is different from material equivalence, although the two concepts are intrinsically related.

## Logical equivalences

In logic, many common logical equivalences exist and are often listed as laws or properties. The following tables illustrate some of these.

### General logical equivalences

| Equivalence | Name |
| $p\wedge \top \equiv p$ $p\vee \bot \equiv p$ | Identity laws |
| $p\vee \top \equiv \top$ $p\wedge \bot \equiv \bot$ | Domination laws |
| $p\vee p\equiv p$ $p\wedge p\equiv p$ | Idempotent or tautology laws |
| $\neg (\neg p)\equiv p$ | Double negation law |
| $p\vee q\equiv q\vee p$ $p\wedge q\equiv q\wedge p$ | Commutative laws |
| $(p\vee q)\vee r\equiv p\vee (q\vee r)$ $(p\wedge q)\wedge r\equiv p\wedge (q\wedge r)$ | Associative laws |
| $p\vee (q\wedge r)\equiv (p\vee q)\wedge (p\vee r)$ $p\wedge (q\vee r)\equiv (p\wedge q)\vee (p\wedge r)$ | Distributive laws |
| $\neg (p\wedge q)\equiv \neg p\vee \neg q$ $\neg (p\vee q)\equiv \neg p\wedge \neg q$ | De Morgan's laws |
| $p\vee (p\wedge q)\equiv p$ $p\wedge (p\vee q)\equiv p$ | Absorption laws |
| $p\vee \neg p\equiv \top$ $p\wedge \neg p\equiv \bot$ | Negation laws |

### Logical equivalences involving conditional statements

   * $p\rightarrow q\equiv \neg p\vee q$
   * $p\rightarrow q\equiv \neg q\rightarrow \neg p$
   * $p\vee q\equiv \neg p\rightarrow q$
   * $p\wedge q\equiv \neg (p\rightarrow \neg q)$
   * $\neg (p\rightarrow q)\equiv p\wedge \neg q$
   * $(p\rightarrow q)\wedge (p\rightarrow r)\equiv p\rightarrow (q\wedge r)$
   * $(p\rightarrow q)\vee (p\rightarrow r)\equiv p\rightarrow (q\vee r)$
   * $(p\rightarrow r)\wedge (q\rightarrow r)\equiv (p\vee q)\rightarrow r$
   * $(p\rightarrow r)\vee (q\rightarrow r)\equiv (p\wedge q)\rightarrow r$

### Logical equivalences involving biconditionals

   * $p\leftrightarrow q\equiv (p\rightarrow q)\wedge (q\rightarrow p)$
   * $p\leftrightarrow q\equiv \neg p\leftrightarrow \neg q$
   * $p\leftrightarrow q\equiv (p\wedge q)\vee (\neg p\wedge \neg q)$
   * $\neg (p\leftrightarrow q)\equiv \neg p\leftrightarrow q$
   * $\neg (p\leftrightarrow q)\equiv p\leftrightarrow \neg q$
   * $\neg (p\leftrightarrow q)\equiv p\oplus q$
Where $\oplus$ represents XOR.

## Examples
### In logic

The following statements are logically equivalent:
* If Lisa is in Denmark, then she is in Europe (a statement of the form $d\rightarrow e$).
* If Lisa is not in Europe, then she is not in Denmark (a statement of the form $\neg e\rightarrow \neg d$).
Syntactically, (1) and (2) are derivable from each other via the rules of contraposition and double negation. Semantically, (1) and (2) are true in exactly the same models (interpretations, valuations); namely, those in which either Lisa is in Denmark is false or Lisa is in Europe is true.
(Note that in this example, classical logic is assumed. Some non-classical logics do not deem (1) and (2) to be logically equivalent.)

## Relation to material equivalence

Logical equivalence is different from material equivalence. Formulas $p$ and $q$ are logically equivalent if and only if the statement of their material equivalence ($p\leftrightarrow q$) is a tautology.
The material equivalence of $p$ and $q$ (often written as $p\leftrightarrow q$) is itself another statement in the same object language as $p$ and $q$. This statement expresses the idea "'$p$ if and only if $q$'". In particular, the truth value of $p\leftrightarrow q$ can change from one model to another.
On the other hand, the claim that two formulas are logically equivalent is a statement in metalanguage, which expresses a relationship between two statements $p$ and $q$. The statements are logically equivalent if, in every model, they have the same truth value.