Master Windows Internals - Kernel Programming, Debugging & Architecture
Master AI & Data—50% Off Udacity (Code CC50)
Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
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