Computational Complexity Foundation