Prof. Mark Santolucito
How do we build AI systems that generalize and reason, not just predict? This seminar explores neurosymbolic AI: the integration of neural networks with symbolic structures like programs, logics, and proofs. We will examine program synthesis and LLM-guided code generation, learning as program induction as a path toward genuine abstraction, and how formal methods can constrain and verify neural systems, from theorem proving in Lean to temporal logic specifications as guardrails for agents. Students will read, discuss, and present recent research papers and complete a hands-on project.
Prerequisite: Advanced Programming or equivalent.
Each week we will read and discuss 1-2 research papers. Every student will present at least one paper during the semester, and everyone posts a short reading response before each class. The second deliverable is a hands-on project, done individually or in pairs — building, extending, or empirically studying a neurosymbolic system — with a proposal, an in-progress presentation, and a final writeup and presentation.
Grading: participation and reading responses, paper presentation, and the final project. (Exact breakdown on the syllabus.)
Schedule and readings are tentative and will be adjusted as the semester progresses.
Start by solving some ARC tasks by hand. Pick one that is interesting. Write a program (feel free to us an LLM) that solves some tasks in 3 different programming paradigms (e.g. imperative, functional, logic).
REMOTE Lecture 9-10
Week 3 - Classical program synthesis: inductive synthesis and search
Week 4 - Neural program synthesis
Week 5 - LLMs as code generators
Week 6 - Concept learning as program induction
Week 7 - Wake-sleep library learning
Week 8 - Abstraction and compression
Week 9 - (project proposals due)
Week 10 - Neural theorem proving in Lean
Week 11 - Autoformalization and proof sketching
Week 12 - Temporal logic and formal guardrails for agents
Week 13 - Project in-progress presentations
Week 14 - Final project presentations + course wrap-up