Fundamentals of abstract analysis. (2018)