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.
First-order logic's WFFs are more complex than propositional logic's. They can be composed by following these rules:
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
A first-order language is a set of logical symbols and non-logical symbols that can be combined to make formulas.
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.
An interpretation I of a first-order theory T is a mapping of atoms in T to truth values.
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".