semantics of first-order logic
(1.4 hours to learn)
The semantics of a first-order language is defined in terms of mathematical structures which give the meanings of all the constants, functions, and predicates in the language. In particular, one can recursively define a function which evaluates, given a structure and a first-order sentence, whether the structure satisfies the sentence. If all structures satisfying a set A of sentences also satisfy another set B of sentences, then A logically implies B.
This concept has the prerequisites:
- define what it means for a mathematical structure to satisfy (or be a model of) a set of first-order sentences
- define what it means for one set of first-order sentences to logically entail another
Core resources (read/watch one of the following)
→ Notes on Logic (2013)
Lecture notes for a course on first order logic.
→ A Mathematical Introduction to Logic
An undergraduate textbook in mathematical logic, with proofs.
Location: Section 2.2, "Truth and models," up through subsection "Logical implication," pages 80-89
→ A Course in Mathematical Logic
A graduate textbook in mathematical logic.
Location: Section 2.1, "First-order semantics," pages 49-54
→ The Language of First-Order Logic
An undergraduate logic textbook aimed at philosophers, with an educational software package.
Location: Chapter 11, "Advanced topics in FOL," up through subsection 11.3, "Truth and satisfaction, revisited," pages 258-268
-No Additional Notes-
- create concept: shift + click on graph
- change concept title: shift + click on existing concept
- link together concepts: shift + click drag from one concept to another
- remove concept from graph: click on concept then press delete/backspace
- add associated content to concept: click the small circle that appears on the node when hovering over it
- other actions: use the icons in the upper right corner to optimize the graph placement, preview the graph, or download a json representation