I am a post doctoral researcher at the University of Cambridge working in mathematical logic and theoretical computer science, and a research associate at Sidney Sussex College. I am primarily interested in foundational questions in mathematics and the theory of computation. This includes topics in (finite) model theory, complexity theory, circuit complexity, arithmetic complexity, and numerous other related areas.
I received my PhD at the University of Cambridge, where I was fortunate enough to have been supervised by Prof. Anuj Dawar and supported by a Gates Cambridge scholarship. I was also a visiting research student at the Simon’s Institute in Berkeley. Before that I completed my masters degree in mathematics (Part III) at Cambridge and undergraduate degrees in mathematics and engineering at the University of Cape Town.
I have taught or supervised courses at the University of Cambridge and University of Cape Town on topology and metric spaces, functional analysis, group theory, complexity theory, logic and proof, advanced algorithms, introduction to computer science, artificial intelligence, and computability theory. Most recently, I’ve organised and lectured a course on logic in the linguistics department at Cambridge. I also occasionally guest lecture in computational linguistics in the same department.
I keep some notes for students here.