Mathemetical foundations of computer science