~/talk

A Rose Tree is Blooming (Proof Pearl)

Talkat CPP 2026 · 2026-01-12..01-13· [game-development]
slides:none on file

Compares two implementations of rose-tree unfolding in the Rocq prover: an inductive version requiring a well‑founded relation and accessibility proofs, and a coinductive version that yields possibly infinite trees but doubles proof effort. Proves soundness and completeness of both unfolds, demonstrates a tic‑tac‑toe state space of about 550,000 nodes (10 unrolls) to build an unbeatable AI, and shows a brute‑force SAT solver; notes coinductive proofs are longer and fuel/convert patterns are used to get finite approximations.

AI-written summary · about

  1. 0:00Game trees and rose trees
  2. 1:45Game trees as rose trees in Rocq
  3. 3:10Building game trees recursively
  4. 4:12Infinite games and termination
  5. 5:17Co-inductive types for infinite trees
  6. 6:22Lessons from co-inductive game trees
  7. 7:04Finite trees with well-founded recursion
  8. 9:53Correctness of unfolded game trees
  9. 11:17Game tree unfolding in Rocq
  10. 12:21Lambda calculus as game tree
  11. 13:24Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.