Algorithms and Data Structures – Transition systems (2004) [pdf]
cs.au.dk
cs.au.dk
> I did math at university, but everyone in the sciences took one year of CS and the first semester was Algorithms & Data Structures. The course itself was not that remarkable (Gerth Brodal taught it and did a good job) but there was an excellent pre-course prep week. 1/2
> Everyone was straight from high school and weren't expected to know set theory or discrete logic, so it was mainly a primer on stuff like that, which I didn't really need. But one part of the prep week was this amazing booklet, which changed how I thought: https://cs.au.dk/~gerth/dADS1-12/daimi-fn64.pdf
> That was my introduction to Floyd-Hoare logic but in a general setting that applies to both programs and non-deterministic state transition systems. Totally rewired how I thought about programming forever.
When one introduces transition systems, I usually expect "yeah, now he's going to define a labeled transition system, then introduce modal logic, maybe temporal logic, definitely bisimulations, maybe Van Benthem".
Obviously one can do proofs of elementary algorithms with that formalism, it's just a bit unusual, that's all.
In this case the concept of transition systems is used throughout the course for proofs. In a different note graph algorithms are presented - and the the red thread is that all proods use transitions systems.
In short: you need to look at the full course to see where a lecture note fits in.
https://www.amazon.com/Science-Programming-Monographs-Comput...