Logic, semiautomatic theorem proving, and automatic proof checking
have applications in program verification, network and
cryptographic protocols, computer security, mathematics,
and computer architecture. This course covers principles, methods,
and applications, with an emphasis on hands-on learning how to use
the tools of the trade.