key contributions to a number of areas of computer science including: semantics and