Barrington D. A Mathematical Foundation for Computer Science 2019