Thinking Programs Logical Modeling and Reasoning About Languages, Data, Computations, and Executions - Schreiner, Wolfgang (Springer International Publishing, 2021)