Stuck in Tutorial Hell? Learn Backend Dev the Right Way
Learn the Skills Netflix, Meta, and Capital One Actually Hire For
Overview
AI, Data Science & Cloud Certificates from Google, IBM & Meta — 40% Off
One plan covers every Professional Certificate on Coursera. 40% off Coursera Plus Annual.
Unlock All Certificates
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