First-Order Logic

Baeldung
Sutcliffe

First-order logic is a superset of propositional logic, expanding its vocabulary from propositions and logical operators to include variables, quantifiers, and relationships.

First-order logic is the basis of much logic programming.

Well-formed formulas

First-order logic's WFFs are more complex than propositional logic's. They can be composed by following these rules:

Syntax

First-order logic's syntax is comprised of symbols divided into logical and non-logical.

Logical symbols correspond to logical operators: and, or, not, implication

Non-logical symbols: predicates, terms, constants, variables, functions, quantifiers

First-order language

A first-order language is a set of logical symbols and non-logical symbols that can be combined to make formulas.

First-order theory

A theory in a first-order language is a specific set of formulas in the language that are considered to be true. This is by construction - you can make a theory out of any arbitrary (but syntactically valid) set of formulas.

Interpretation

An interpretation I of a first-order theory T is a mapping of atoms in T to truth values.

Models

An intepretation I of a first-order theory T that satisfies T is called a model. I satisfies T iff:

Basically, a model of T is a set of atoms that are logically consistent with T.

This provides a definition of entailment: T |= α iff α is true in every model of T.

If T admits at least one model, it is called "satisfiable", otherwise "unsatisfiable".