Logic, Automata, and Computational Complexity: The Works of Stephen A. Cook