Second-Order Logic
=====================================
Definition
Second-Order Logic (Zoolog) is a formal system for reasoning about sets, classes, and types of objects. It extends First-Order Logic by allowing us to reason about properties that can be assigned to objects, rather than just the objects themselves.
History
The concept of Second-Order Logic was first introduced by Kurt Gödel in 1929 as a solution to the Completeness Theorem for arithmetic. However, it was not until the work of Alonzo Church and Stephen Kleene that Second-Order Logic became widely accepted as a formal system for reasoning about sets and classes.
Syntax
Second-Order Logic has the following syntax:
- Propositions: Expressions consisting of atomic formulas or function symbols, combined using logical connectives.
- Sentences: A group of propositions connected by conjunction ( ∧ ), disjunction ( ∨ ), negation ( ¬ ), and implication ( → ).
- Types: Expressions that specify the type of object being referred to, in terms of its membership in a set or class.
Models
Second-Order Logic has several models:
- Real numbers: A common model for Second-Order Logic is the real numbers, which can be used to represent sets and classes.
- Arithmetic languages: Other models include arithmetic languages such as Peano Arithmetic, which can be used to represent sets and classes of natural numbers.
Equivalences
Second-Order Logic has several equivalences with First-Order Logic:
- Tarski’s Theorem: This theorem states that every proposition in Second-Order Logic is equivalent to a proposition in First-Order Logic.
- Church’s Thesis: This thesis states that every function can be expressed using only the constants, unary functions, and binary functions.
Inference Rules
Second-Order Logic has several inference rules:
- Universal Instantiation: This rule allows us to instantiate a formula with an arbitrary set or class.
- Function Application: This rule allows us to apply a function to an object in a specified way.
- Predication: This rule allows us to make statements about objects, such as whether they are members of a particular set.
Applications
Second-Order Logic has several applications:
- Type Theory: Second-Order Logic is used to study the properties and relationships between types or classes of objects.
- Model Theory: Second-Order Logic is used to study the consistency and satisfiability of models for Second-Order Logic formulas.
- Computer Science: Second-Order Logic is used in artificial intelligence, formal verification, and other areas of computer science.
Notation
The following notation is commonly used in Second-Order Logic:
- α: The variable α represents an object or a set.
- β: The variable β represents a function or a type.
- φ(α): The expression φ(α) represents the property or relationship of the object or set represented by α.
Key Concepts
Some key concepts in Second-Order Logic include:
- Types: Expressions that specify the type of object being referred to, in terms of its membership in a set or class.
- Classes: Expressions that define a set of objects with certain properties or relationships.
- Properties: Expressions that describe attributes or characteristics of objects or sets.
Famous Logics
Some famous logics that are similar to Second-Order Logic include:
- First-Order Logic: A formal system for reasoning about objects and their properties, without reference to classes or types.
- Higher-Order Logic: A formal system for reasoning about functions and other higher-level constructs, which can be expressed using First-Order Logic.
Example Theorem
The following example theorem is a classic result in Second-Order Logic:
2α
(∀x) (α(x) → α(1 + x))
(∃y) (y = β(y))