The Formal Semantics of Programming Languages: An Introduction by Glynn Winskel
Software Foundations
Practical Foundations of Programming Languages by Robert Harper
Types and Programming Languages by Benjamin C. Pierce
The Homotopy Type Theory Book
The Little Prover by Daniel P. Friedman
The Reasoned Schemer by Daniel P. Friedman → miniKanren