Paul's research is in pure and applied computational complexity. A major focus of his research is in proving lower bounds on the resources needed for solving computational problems. Such topics include communication complexity, time-space tradeoff lower bounds, circuit complexity, proof complexity, and data structures. Another focus of his research is on problems related to formal reasoning, including SAT-solving. His research includes applications of computational complexity in formal verification of software and hardware (currently focused on verifying non-linear arithmetic), in the study of databases, and in AI, particularly in knowledge representation, learning, and probabilistic inference.
Paul enjoys squash, softball and other sports where enthusiasm can compensate for a lack of talent.