Computers have transformed nearly every aspect of our lives, helping people work more efficiently. While researchers know much about what computers can do, there is still comparatively little known about the limitations of computers. This phenomenon is the problem of proving "complexity lower bounds". Lower bounds are among the great scientific mysteries of our time: there are many mathematical conjectures and beliefs about lower bounds---indeed, the security of the Internet and cryptocurrency relies on such conjectures being true---but concrete results are few. The major goal of this project is to leverage the world's vast knowledge of computer algorithms to prove new lower bounds, via interesting mathematical connections between algorithms and lower bounds. A secondary goal is to study the scientific consequences of these connections. It is hard to overestimate the potential impact---societal, scientific, and otherwise---of a theoretical framework which would lead to a fine-grained understanding of what computers can and cannot do. Another goal of the project is to bring complexity research closer to real-world computing, and to introduce practitioners to aspects of complexity that will impact their work. A final goal is educational outreach, through online forums dedicated to learning computer science and collaboration with the media on communicating theoretical computer science to the public.<br/><br/>To give one example of a lower bound, a central question in computer science is the famous "P versus NP" open problem, which is about the difficulty of combinatorial problems which admit short solutions. Such problems can always be solved via “brute force”, trying all possible solutions. Can brute force always be replaced with a smarter search method? No satisfactory answers are known, and concrete answers seem far away for us. The conventional wisdom is that brute force cannot be entirely avoided, but it is still mathematically possible that most natural search problems can be solved extremely rapidly, without any brute force. The mathematical theory is hampered by "no-go" results showing that most known proof methods are incapable of proving strong lower bounds. A primary objective of this project is to help discover and develop new ways of thinking that will demystify lower bounds and elucidate the limits and possibilities of computing. The major hypothesis of this project is that an algorithmic perspective on lower bounds is the key: for example, earlier projects led by the same research team shows that algorithms for the circuit satisfiability problem (which slightly beat brute force search) imply circuit complexity lower bounds. Several more links of this kind have been discovered within the past few years, and many more plan to be investigated over the course of this project. The potential scientific applications are vast, ranging from logical circuit design, to network algorithms, to improved hardware and software testing, to better nearest-neighbor search (with its own applications in computer vision, DNA sequencing, and machine learning), and to cryptography and security.<br/><br/>This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.