Learn Python with Generative AI - Self Paced Online
Learn Excel & Financial Modeling the Way Finance Teams Actually Use Them
Overview
Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
Explore the mathematical foundations of game trees through a formal verification lens in this 16-minute conference presentation from CPP 2026. Delve into the implementation of rose trees as fundamental abstractions for game analysis in functional programming, comparing inductive and coinductive approaches in proof assistants like the Rocq Prover. Learn how to construct rose trees using anamorphisms (unfold functions) starting from initial states and iteratively applying state transition functions. Understand the key differences between finite inductive trees that are easy to compute and reason about versus potentially infinite coinductive trees that require advanced proof techniques like bisimulation. Examine practical implementations through tic-tac-toe game examples and a simple SAT solver while discovering how to prove soundness and completeness of unfold functions with respect to game semantics. Master the challenges of defining unfold functions for both approaches and gain insights into formal verification techniques for recursive and corecursive structures in game tree analysis.
Syllabus
[CPP'26] A Rose Tree is Blooming (Proof Pearl)
Taught by
ACM SIGPLAN