Thinking programs logical modeling and reasoning about languages, data, computations, and executions - Schreiner, Wolfgang 1954- (Springer, 2021)