Introduction
Predicate logic equivalences are fundamental transformations that allow us to rewrite formulas in different forms while preserving their logical meaning. These equivalences are essential for:
- Simplifying complex formulas
- Converting formulas to normal forms
- Proving logical theorems
- Understanding logical relationships
- Optimizing logical queries
In this article, we’ll explore the major equivalences in predicate logic and learn how to apply them.
Basic Equivalences
Definition of Equivalence
Two formulas are logically equivalent if they have the same truth value under all possible interpretations.
Notation: P ≡ Q (P is equivalent to Q)
Example:
∀x P(x) ≡ ∀x P(x) (reflexivity)
∀x P(x) ≡ ∀y P(y) (variable renaming)
¬∀x P(x) ≡ ∃x ¬P(x) (De Morgan's law)
Quantifier Equivalences
De Morgan’s Laws for Quantifiers
De Morgan’s laws show how negation interacts with quantifiers.
Law 1: Negation of Universal Quantifier
¬∀x P(x) ≡ ∃x ¬P(x)
English: "It's not the case that all x satisfy P"
is equivalent to
"There exists an x that does not satisfy P"
Example:
¬∀x (student(x) → studies(x))
≡ ∃x ¬(student(x) → studies(x))
≡ ∃x (student(x) ∧ ¬studies(x))
"It's not the case that all students study"
≡ "There exists a student who doesn't study"
Law 2: Negation of Existential Quantifier
¬∃x P(x) ≡ ∀x ¬P(x)
English: "It's not the case that some x satisfies P"
is equivalent to
"All x do not satisfy P"
Example:
¬∃x (student(x) ∧ studies(x, logic))
≡ ∀x ¬(student(x) ∧ studies(x, logic))
≡ ∀x (¬student(x) ∨ ¬studies(x, logic))
"It's not the case that some student studies logic"
≡ "No student studies logic"
Quantifier Distribution
Quantifiers distribute over certain logical connectives.
Distribution over Conjunction (Universal)
∀x (P(x) ∧ Q(x)) ≡ ∀x P(x) ∧ ∀x Q(x)
English: "All x satisfy both P and Q"
is equivalent to
"All x satisfy P, and all x satisfy Q"
Example:
∀x (student(x) ∧ studies(x))
≡ ∀x student(x) ∧ ∀x studies(x)
"All are students and all study"
≡ "All are students, and all study"
Distribution over Disjunction (Existential)
∃x (P(x) ∨ Q(x)) ≡ ∃x P(x) ∨ ∃x Q(x)
English: "There exists an x that satisfies P or Q"
is equivalent to
"There exists an x that satisfies P, or there exists an x that satisfies Q"
Example:
∃x (student(x) ∨ teacher(x))
≡ ∃x student(x) ∨ ∃x teacher(x)
"Someone is a student or a teacher"
≡ "Someone is a student, or someone is a teacher"
Non-Distribution Cases
∀x (P(x) ∨ Q(x)) ≢ ∀x P(x) ∨ ∀x Q(x)
Example:
∀x (student(x) ∨ teacher(x))
"Everyone is either a student or a teacher"
≢ ∀x student(x) ∨ ∀x teacher(x)
"Everyone is a student, or everyone is a teacher"
The first is true if each person is one or the other.
The second is true only if everyone is the same role.
∃x (P(x) ∧ Q(x)) ≢ ∃x P(x) ∧ ∃x Q(x)
Example:
∃x (student(x) ∧ studies(x, logic))
"Someone is a student and studies logic"
≢ ∃x student(x) ∧ ∃x studies(x, logic)
"Someone is a student, and someone studies logic"
The first requires one person to be both.
The second allows different people.
Quantifier Commutativity
Multiple quantifiers of the same type commute.
Universal Commutativity
∀x ∀y P(x, y) ≡ ∀y ∀x P(x, y)
English: "For all x and for all y, P(x, y)"
is equivalent to
"For all y and for all x, P(x, y)"
Example:
∀x ∀y (parent(x, y) → ancestor(x, y))
≡ ∀y ∀x (parent(x, y) → ancestor(x, y))
Existential Commutativity
∃x ∃y P(x, y) ≡ ∃y ∃x P(x, y)
English: "There exist x and y such that P(x, y)"
is equivalent to
"There exist y and x such that P(x, y)"
Example:
∃x ∃y (parent(x, y) ∧ sibling(x, y))
≡ ∃y ∃x (parent(x, y) ∧ sibling(x, y))
Mixed Quantifiers Do NOT Commute
∀x ∃y P(x, y) ≢ ∃y ∀x P(x, y)
Example:
∀x ∃y (parent(x, y))
"Everyone has a parent"
≢ ∃y ∀x (parent(x, y))
"There is someone who is everyone's parent"
The first is true (each person has parents).
The second is false (no one is everyone's parent).
Logical Connective Equivalences
Implication Equivalences
Implication as Disjunction
P → Q ≡ ¬P ∨ Q
Example:
student(x) → studies(x)
≡ ¬student(x) ∨ studies(x)
"If x is a student, then x studies"
≡ "x is not a student, or x studies"
Contrapositive
P → Q ≡ ¬Q → ¬P
Example:
student(x) → studies(x)
≡ ¬studies(x) → ¬student(x)
"If x is a student, then x studies"
≡ "If x doesn't study, then x is not a student"
Implication with Quantifiers
∀x (P(x) → Q(x)) ≡ ∀x (¬P(x) ∨ Q(x))
Example:
∀x (student(x) → studies(x))
≡ ∀x (¬student(x) ∨ studies(x))
"All students study"
≡ "For all x, x is not a student or x studies"
Biconditional Equivalences
Biconditional as Conjunction of Implications
P ↔ Q ≡ (P → Q) ∧ (Q → P)
Example:
student(x) ↔ studies(x)
≡ (student(x) → studies(x)) ∧ (studies(x) → student(x))
"x is a student if and only if x studies"
≡ "If x is a student then x studies, and if x studies then x is a student"
Biconditional as Equivalence of Truth Values
P ↔ Q ≡ (P ∧ Q) ∨ (¬P ∧ ¬Q)
Example:
student(x) ↔ studies(x)
≡ (student(x) ∧ studies(x)) ∨ (¬student(x) ∧ ¬studies(x))
"x is a student if and only if x studies"
≡ "Either x is a student and studies, or x is not a student and doesn't study"
Scope and Binding Equivalences
Variable Renaming (Alpha-Conversion)
Renaming bound variables doesn’t change meaning.
∀x P(x) ≡ ∀y P(y)
∃x Q(x) ≡ ∃z Q(z)
Example:
∀x (student(x) → studies(x))
≡ ∀y (student(y) → studies(y))
≡ ∀z (student(z) → studies(z))
Important: Only bound variables can be renamed. Free variables cannot be renamed.
∀x P(x, y) ≢ ∀x P(x, z)
(y and z are free, so renaming changes meaning)
Scope Equivalences
Quantifier Scope Extension
∀x (P(x) ∧ Q) ≡ (∀x P(x)) ∧ Q (if Q has no free x)
Example:
∀x (student(x) ∧ important(logic))
≡ (∀x student(x)) ∧ important(logic)
"All are students and logic is important"
≡ "All are students, and logic is important"
Quantifier Scope Contraction
(∀x P(x)) ∧ Q ≡ ∀x (P(x) ∧ Q) (if Q has no free x)
Example:
(∀x studies(x)) ∧ important(logic)
≡ ∀x (studies(x) ∧ important(logic))
"All study, and logic is important"
≡ "For all x, x studies and logic is important"
Prenex Normal Form
Prenex normal form is a standard form where all quantifiers appear at the beginning of a formula.
Definition: A formula is in prenex normal form if it has the form:
Q₁x₁ Q₂x₂ ... Qₙxₙ P(x₁, x₂, ..., xₙ)
where each Qᵢ is either ∀ or ∃, and P is a formula with no quantifiers.
Converting to Prenex Normal Form
Step 1: Eliminate Implications
P → Q ≡ ¬P ∨ Q
Step 2: Move Negations Inward
¬∀x P(x) ≡ ∃x ¬P(x)
¬∃x P(x) ≡ ∀x ¬P(x)
¬(P ∧ Q) ≡ ¬P ∨ ¬Q
¬(P ∨ Q) ≡ ¬P ∧ ¬Q
Step 3: Move Quantifiers Outward
∀x P(x) ∨ Q ≡ ∀x (P(x) ∨ Q) (if Q has no free x)
∃x P(x) ∧ Q ≡ ∃x (P(x) ∧ Q) (if Q has no free x)
Step 4: Rename Variables if Needed
∀x P(x) ∨ ∃x Q(x) ≡ ∀x (P(x) ∨ ∃y Q(y))
(Rename to avoid variable capture)
Example: Converting to Prenex Normal Form
Original: ∀x (P(x) → ∃y Q(x, y))
Step 1: Eliminate implication
∀x (¬P(x) ∨ ∃y Q(x, y))
Step 2: Move negation inward (already done)
Step 3: Move quantifiers outward
∀x ∃y (¬P(x) ∨ Q(x, y))
Result: ∀x ∃y (¬P(x) ∨ Q(x, y))
(Already in prenex normal form)
Example: Complex Conversion
Original: (∀x P(x)) ∨ (∃y Q(y))
Step 1: Eliminate implication (none)
Step 2: Move negation inward (none)
Step 3: Move quantifiers outward
∀x (P(x) ∨ ∃y Q(y))
∀x ∃y (P(x) ∨ Q(y))
Result: ∀x ∃y (P(x) ∨ Q(y))
Practical Applications
Simplifying Formulas
Use equivalences to simplify complex formulas.
Example 1:
¬∀x (student(x) → studies(x))
≡ ∃x ¬(student(x) → studies(x)) (De Morgan)
≡ ∃x (student(x) ∧ ¬studies(x)) (Implication)
"There exists a student who doesn't study"
Example 2:
∀x (P(x) ∨ Q(x)) ∧ ∀x (¬P(x) ∨ R(x))
≡ ∀x ((P(x) ∨ Q(x)) ∧ (¬P(x) ∨ R(x))) (Scope)
≡ ∀x ((P(x) ∧ ¬P(x)) ∨ (P(x) ∧ R(x)) ∨ (Q(x) ∧ ¬P(x)) ∨ (Q(x) ∧ R(x))) (Distribution)
≡ ∀x (⊥ ∨ (P(x) ∧ R(x)) ∨ (Q(x) ∧ ¬P(x)) ∨ (Q(x) ∧ R(x))) (Contradiction)
≡ ∀x ((P(x) ∧ R(x)) ∨ (Q(x) ∧ ¬P(x)) ∨ (Q(x) ∧ R(x))) (Identity)
Converting Between Equivalent Forms
Use equivalences to convert between different representations.
Example:
"All students study"
∀x (student(x) → studies(x))
Equivalent forms:
≡ ∀x (¬student(x) ∨ studies(x)) (Implication)
≡ ¬∃x (student(x) ∧ ¬studies(x)) (De Morgan)
"It's not the case that some student doesn't study"
Glossary
- Logical equivalence: Two formulas have the same truth value under all interpretations
- De Morgan’s laws: Laws relating negation and quantifiers
- Distribution: Spreading a connective over another connective
- Commutativity: Order doesn’t matter for certain operations
- Contrapositive: P → Q is equivalent to ¬Q → ¬P
- Biconditional: P ↔ Q means P and Q have the same truth value
- Prenex normal form: All quantifiers at the beginning of a formula
- Variable renaming: Renaming bound variables (alpha-conversion)
- Scope: The range over which a quantifier applies
Practice Problems
Problem 1: De Morgan’s Laws
Apply De Morgan’s laws to negate:
- ∀x P(x)
- ∃x Q(x)
- ∀x (student(x) → studies(x))
Solution:
- ¬∀x P(x) ≡ ∃x ¬P(x)
- ¬∃x Q(x) ≡ ∀x ¬Q(x)
- ¬∀x (student(x) → studies(x)) ≡ ∃x (student(x) ∧ ¬studies(x))
Problem 2: Quantifier Distribution
Determine if these are equivalent:
- ∀x (P(x) ∧ Q(x)) and ∀x P(x) ∧ ∀x Q(x)
- ∃x (P(x) ∨ Q(x)) and ∃x P(x) ∨ ∃x Q(x)
- ∀x (P(x) ∨ Q(x)) and ∀x P(x) ∨ ∀x Q(x)
Solution:
- ✓ Equivalent
- ✓ Equivalent
- ✗ Not equivalent
Problem 3: Prenex Normal Form
Convert to prenex normal form:
- ∀x P(x) ∨ ∃y Q(y)
- (∃x P(x)) → (∀y Q(y))
Solution:
- ∀x ∃y (P(x) ∨ Q(y))
- ∀x ∃y (¬P(x) ∨ Q(y))
Problem 4: Simplification
Simplify:
- ¬∃x (student(x) ∧ studies(x, logic))
- ∀x (P(x) → Q(x)) ≡ ?
Solution:
- ∀x (¬student(x) ∨ ¬studies(x, logic)) “No student studies logic”
- ∀x (¬P(x) ∨ Q(x))
Related Resources
Online Platforms
- Stanford Encyclopedia of Philosophy - Logic articles
- Khan Academy Logic - Logic tutorials
- Coursera Logic Courses - Online courses
- MIT OpenCourseWare - University courses
- Brilliant.org Logic - Interactive lessons
Interactive Tools
- Logic Equivalence Checker - Check equivalences
- Formula Simplifier - Simplify formulas
- Prenex Converter - Convert to prenex form
- De Morgan’s Visualizer - Visualize De Morgan’s laws
- Quantifier Visualizer - Visualize quantifiers
Recommended Books
- “Language, Proof, and Logic” by Barwise & Etchemendy - Equivalences
- “Introduction to Logic” by Hurley - Comprehensive coverage
- “Symbolic Logic” by Lewis & Langford - Classic text
- “Logic: The Basics” by Priest - Accessible introduction
- “Formal Semantics” by Heim & Kratzer - Advanced topics
Academic Journals
- Journal of Symbolic Logic - Primary research
- Studia Logica - Logic research
- Linguistics and Philosophy - Language and logic
- Philosophical Logic - Logic applications
- Computational Linguistics - NLP applications
Software Tools
- Prolog - Logic programming
- Coq - Theorem prover
- Isabelle - Proof assistant
- Z3 - SMT solver
- Datalog - Logic database
Conclusion
Predicate logic equivalences are powerful tools for:
- Transforming formulas into equivalent forms
- Simplifying complex expressions
- Converting to standard forms like prenex normal form
- Understanding logical relationships
- Proving logical theorems
Mastering these equivalences enables you to work effectively with predicate logic and understand the deep structure of logical formulas.
Previous Article: Scope and Variable Binding
Comments