This book provides a concise yet comprehensive introduction to finite model theory, the branch of logic studying the properties of logical structures with finite domains. The second edition expands the focus to include descriptive complexity theory, connecting logic with computational complexity. Key topics include Ehrenfeucht–Fraïssé games, 0–1 laws, fixed-point logics, and applications …