Introduction to Formal Verification & Proof Assistants

A 10-Week Journey into Formal Verification with Lean4 (Spring 2026)

GDG @ AUB Software Team × AUB Math Society

PROOF101

Week 6: Formalizing Mathematics and Contributing to Mathlib (Guest Session, AUB Math Society)

Overview

Co-organized with the AUB Math Society, this hands-on session by Rida Hamadani will show you the complete workflow of mathematical formalization in Lean4: from reading a theorem on paper to contributing verified mathematical proofs to Mathlib or CSlib. Learn how to navigate the library, find existing theorems, use the Blueprint system for large-scale formalization projects, and interact with the Lean community effectively.

Guest Lecturer

Session Information

Please note: This session will not be recorded as the guest lecturer has requested that no recording be made during the presentation.

Core Concepts

Slides

Week 6 Slides: Download PDF

We have covered a lot of different Mathlib PRs in the hands-on session with Rida, but one particularly stood out (with an interesting proof by induction). Here it is for the students’ reference: https://github.com/leanprover-community/mathlib4/pull/33506

Readings

  1. Undergraduate Mathematics in Mathlib

Programming Assignment

Assignment 5: Tactic-based Theorem Proving in Lean

Objective: Progress from warm-up tactic exercises to inductive proofs on natural numbers, lists, and binary trees.

Assignment: PROOF101 Programming Assignment 5

Note: If you haven’t finished Programming Assignment 4, i.e. The Natural Number Game (Lean Game Server), from weeks 4 and 5, please do!


Questions? Reach out on the course Discord!