Foundations of Abstract Analysis