About
I am a CS PhD student at Stanford University’s Centaur Lab. Prior to entering Stanford, I studied at the University of Waterloo and graduated in 2022. My main research interests are SMT solvers, neurosymbolic systems, and machine-assisted theorem proving (MATP), which refers to using a mixture of formal methods and machine-learning agents to automatically prove mathematical theorems within Proof Assistants.
For details about my academic contributions, or for collaborations, questions, and comments, see research page.
Curriculum Vitae
Education
- Ph.D. in Computer Science, Stanford University (2022-2028?)
- Bachelor of Computer Science (Data Science), University of Waterloo (2017-2022)
Research
MATP
Nazrin: Dividing a proof into atomic tactics, and finite action space for theorem proving agent
Nazrin: An Atomic Neural Proof Automation Tactic in Lean 4
In this work, we introduce several novel concepts and capabilities to address obstacles faced by machine-assisted theorem proving: Atomic Tactics which are a small finite, and complete set of tactics; Transposing Atomization which turns arbitrary proofs into atomic tactic traces; ExprGraph, which is a graph representation of expression; Nazrin Prover, which is a GNN-based theorem proving agent.
FMCAD '26Can rigorous reasoning be broken down into atomic steps? In this article, I’ll prove it.
PyPantograph / Pantograph: A machine-to-machine interaction interface for Lean 4.
This interface overcomes several issues in preceding works such as LeanDojo and REPL. It supports branching tactics (`have`, `let`, `calc`), and can flexibly handle metavariable coupling. It is used by multiple industry and academic labs including ByteDance, Amazon, MorphLabs, etc
Pantograph: A Machine-to-Machine Interaction Interface for Advanced Theorem Proving, High Level Reasoning, and Data Extraction in Lean 4
In this paper, we introduce Pantograph, a tool that provides a versatile interface to the Lean 4 proof assistant and enables efficient proof search via powerful search algorithms such as Monte Carlo Tree Search. In addition, Pantograph enables high-level reasoning by enabling a more robust handling of Lean 4's inference steps.
TACAS '25
Others
Prismriver: A Lean 4 music formalization library
Prismriver: Formalization of Music Theory and Algorithmic Composition in Lean 4
Music theory obeys a rich set of mathematical rules and symmetries. These symmetries follow mathematical structures which can be verified and expressed in the precise language of a proof assistant. In this paper, we present Prismriver, a formalization library of music theory in Lean 4. We use Prismriver to generalize beyond existing work that assumes equal temperament tuning. We also discuss modelling counterpoint music theory with Prismriver. By formalizing music theory in Lean 4, we open the door to verifiable algorithmic composition and accompaniment generation. Prismriver also has a custom DSL integrated with MusicXML exports to interoperate with other music software. Prismriver can be used to compose music with Lean, using monadic composition primitives.
FARM '26cvc5: An SMT Solver; I created the BitVector RARE rewrite rules for proof generation
Teaching
In Spring 2025, I and Abdal designed and taught Stanford’s CS 99: Functional Programming and Theorem Proving in Lean 4. You can preview the course here. For the course’s infrastructure, see details.
Trivia
- How I got into Computer Science
- I play the violin (see OpenMusicScores).
- I lead the Cosplay division of Stanford Anime club and make (mostly Touhou) cosplay props. I’m the director of NorCal Hakkero Factory No. 1, specializing in prop-making and film grade post-processing.
- I make visualizations and numerical simulations.