I am a Research Associate in the Data, Uncertainty, Constraints and Knowledge Lab at Imperial College London working on constraining Large Language Models (LLMs) for theorem proving. Recently, I completed my PhD studies in Computer Science at the University of Oxford, under the supervision of Professor Thomas Lukasiewicz. In my research, I develop neuro-symbolic methods that integrate background knowledge constraints into neural networks, enforcing them during both training and inference.

Constraining deep generative models for tabular data During my PhD, I demonstrated that complex constraints—from linear inequalities to disjunctions over linear inequalities that model non-convex and even disconnected spaces—can be successfully integrated during training to enhance the quality of synthetic data. Building on this foundation, my current work focuses on building similar constraint-enforcement frameworks that can be integrated into LLMs to enhance their reasoning and theorem-proving capabilities. My broader research vision is to bridge the gap between neuro-symbolic AI and real-world applications to build more robust and trustworthy systems.

Previously, I was part of the research team at Five AI, where I worked on detecting reflective symmetries in 3D models. I completed my Bachelor’s and Master’s at The University of Edinburgh, where my Master’s thesis, supervised by Professor Sharon Goldwater, focused on speech-to-text machine translation.

PiShield

PiShield logo PiShield — the first PyTorch package for embedding requirements directly into neural network topologies, guaranteeing that model outputs satisfy the given constraints at both training and inference time. It supports linear inequality constraints, quantifier-free linear real arithmetic, and propositional-logic constraints, with demonstrated gains across autonomous driving, tabular data generation, and functional genomics.

PiShield overview: a Shield Layer enforces requirements on a deep neural network's output to guarantee requirements satisfaction

I created PiShield in 2024 during my DPhil at the University of Oxford, and I have been its sole maintainer ever since. Try it out in Colab, or install it locally via pip install pishield.

News

Sitemap