← rota-baxter-winning-games

DiffCatRIMS__Older__20260403second.tex

\documentclass[12pt,portrait,aspectratio=169]{beamer}

\usepackage[T1]{fontenc}
% \usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{tikz-cd}
\usepackage{amsmath,amssymb,mathtools}
\usepackage{pifont}
\usepackage{xcolor}
\usepackage[style=authoryear,maxnames=3]{biblatex}
\addbibresource{Horabiblio.bib}
\usetikzlibrary{calc,positioning,arrows.meta,fit,decorations.pathreplacing,backgrounds,shapes.geometric}


% ---- macros adapted from the provided tex sources ----
\newtheorem{proposition}{Proposition}f
\definecolor{dcol}{RGB}{50,140,90}
\definecolor{icol}{RGB}{200,105,40}
\newcommand{\dq}[1]{``#1"}
\newcommand{\memo}[1]{{\color{red} #1}}
\newcommand{\C}{\mathcal{C}}
\newcommand{\D}{\mathcal{D}}
\newcommand{\E}{\mathcal{E}}
\newcommand{\F}{\mathcal{F}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\X}{\mathbb{X}}
\newcommand{\Y}{\mathbb{Y}}
\newcommand{\W}{\mathbb{W}}
\newcommand{\gS}{\mathbb{S}}
\newcommand{\Set}{\mathbf{Set}}
\newcommand{\Gs}{\mathbf{Game}}
\newcommand{\Gsp}{\mathbf{Game}_{*}}
\newcommand{\Pf}{\mathcal{P}_{\mathrm{fin}}}
\newcommand{\Pow}{\mathcal{P}}
\newcommand{\Hf}{\mathbb{H}}
\newcommand{\oc}{\mathsf{Outcome}}
% \newcommand{\G}{\mathsf{Grundy}}
\newcommand{\G}[2]{\mathcal{G}_{#1}(#2)}
\newcommand{\BirthDay}{\mathsf{BirthDay}}
\newcommand{\mex}{\mathsf{mex}}
\newcommand{\xem}{\mathsf{xem}}
\newcommand{\hylo}{\mathsf{hylo}}
\newcommand{\np}{\mathsf{np}}
\newcommand{\thetaf}{\theta}
\newcommand{\Fam}{\mathsf{Fam}}
% \newcommand{\dd}{\partial}
% \newcommand{\Int}{\intop}
\newcommand{\emptygame}{\mathsf{1}}
\newcommand{\nimsum}{\oplus}
\newcommand{\cmark}{\ding{51}}
\newcommand{\xmark}{\ding{55}}
\newcommand{\Alg}[1]{\mathrm{Alg}_{#1}}
\newcommand{\Coalg}[1]{\mathrm{Coalg}_{#1}}
\newcommand{\PfAlg}{\Alg{\Pf}}
\newcommand{\PfCoalg}{\Coalg{\Pf}}
\newcommand{\m}{\mathrm{mex}}
\renewcommand{\O}[2]{\mathcal{O}_{#1}(#2)}
\newcommand{\B}[2]{\mathcal{B}_{#1}(#2)}
\newcommand{\M}[2]{\mathcal{B}_{#1,#2}}
\renewcommand{\H}[3]{\mathcal{H}_{#1,#2,#3}}
\newcommand{\rel}{\mathrel{\dcol{\to}}}
\newcommand{\relob}{{\rel}}
\newcommand{\red}{\mathrm{red}}
\newcommand{\cp}{\ast}
\newcommand{\acc}{\rightsquigarrow}
\newcommand{\str}{\theta}
\newcommand{\Image}{\mathrm{Im}}
\newcommand{\HF}{\mathbb{HF}}
\newcommand{\Nim}[1]{\mathrm{Nim}_{#1}}
\newcommand{\Her}{\mathbb{H}}
\newcommand{\epi}{twoheadrightarrow}
\newcommand{\mono}{rightarrowtail}
\newcommand{\h}{\mathrm{h}}
\newcommand{\A}{\mathbb{A}}
\newcommand{\dop}{{\color{dcol}\partial}}
\newcommand{\iop}{{\color{icol}\int}}
\newcommand{\Int}{\iop}
\newcommand{\dd}{\dop}
\newcommand{\dcol}[1]{{\color{dcol}#1}}
\newcommand{\icol}[1]{{\color{icol}#1}}
\newcommand{\ConAdd}{\otimes}
\newcommand{\ADJ}[4]
    {
    \begin{tikzcd}[ampersand replacement = \&, column sep = small]
        {#1}
        \ar[rr, shift right=1.3ex, "{#2}"']
        \&\perp\&
        {#3}
        \ar[ll, shift right=1.3ex,"{#4}"']
    \end{tikzcd}
    }
\newcommand{\grundypanel}[4]{
    \begin{scope}[xshift=#1cm, yshift=#2cm]
      \def\stage{#3}

      % --- Nodes (same geometry as before) ---
      % Bottom (terminals) — filled black if computed at this stage, else light
      \node[circle, inner sep=3pt,
            fill={\ifnum\stage>0 black\else black!20\fi},
            label=left:{\ifnum\stage>0 $0$\fi}] (#4Z1) at (-2,-7.2) {};
      \node[circle, inner sep=3pt,
            fill={\ifnum\stage>0 black\else black!20\fi},
            label=left:{\ifnum\stage>0 $0$\fi}] (#4Z2) at ( 0,-7.2) {};
      \node[circle, inner sep=3pt,
            fill={\ifnum\stage>0 black\else black!20\fi},
            label=left:{\ifnum\stage>0 $0$\fi}] (#4Z3) at ( 2,-7.2) {};

      % Level 1 — black if stage>1
      \node[circle, inner sep=3pt,
            fill={\ifnum\stage>1 black\else black!20\fi},
            label=left:{\ifnum\stage>1 $1$\fi}] (#4Y1) at (-2,-5.8) {};
      \node[circle, inner sep=3pt,
            fill={\ifnum\stage>1 black\else black!20\fi},
            label=left:{\ifnum\stage>1 $1$\fi}] (#4Y2) at ( 0,-5.8) {};
      \node[circle, inner sep=3pt,
            fill={\ifnum\stage>1 black\else black!20\fi},
            label=left:{\ifnum\stage>1 $1$\fi}] (#4Y3) at ( 2,-5.8) {};

      % Level 2 — black if stage>2
      \node[circle, inner sep=3pt,
            fill={\ifnum\stage>2 black\else black!20\fi},
            label=left:{\ifnum\stage>2 $0$\fi}] (#4X1) at (-2,-4.4) {};
      \node[circle, inner sep=3pt,
            fill={\ifnum\stage>2 black\else black!20\fi},
            label=left:{\ifnum\stage>2 $2$\fi}] (#4X2) at ( 0,-4.4) {};
      \node[circle, inner sep=3pt,
            fill={\ifnum\stage>2 black\else black!20\fi},
            label=left:{\ifnum\stage>2 $0$\fi}] (#4X3) at ( 2,-4.4) {};

      % Level 3 — W1 and W3 appear at stage>3; W2 appears already at stage>2 with g=1
      \node[circle, inner sep=3pt,
            fill={\ifnum\stage>3 black\else black!20\fi},
            label=left:{\ifnum\stage>3 $1$\fi}] (#4W1) at (-2,-3.0) {};
      \node[circle, inner sep=3pt,
            fill={\ifnum\stage>2 black\else black!20\fi},
            label=left:{\ifnum\stage>2 $2$\fi}] (#4W3) at ( 0,-3.0) {};
      \node[circle, inner sep=3pt,
            fill={\ifnum\stage>3 black\else black!20\fi},
            label=right:{\ifnum\stage>3 $1$\fi}] (#4W2) at ( 2,-3.0) {};

      % Level 4 (tops) — black if stage>4
      \node[circle, inner sep=3pt,
            fill={\ifnum\stage>4 black\else black!20\fi},
            label=left:{\ifnum\stage>4 $0$\fi}] (#4V1) at (-1,-1.6) {};
      \node[circle, inner sep=3pt,
            fill={\ifnum\stage>4 black\else black!20\fi},
            label=left:{\ifnum\stage>4 $3$\fi}] (#4V2) at ( 1,-1.6) {};

      % --- Edges (same for all stages), drawn in light gray ---
      % Level 1 -> terminals
      \draw[edge, {\ifnum\stage>1 black\else black!20\fi}] (#4Y1) -- (#4Z1);
      \draw[edge, {\ifnum\stage>1 black\else black!20\fi}] (#4Y2) -- (#4Z2); \draw[edge, {\ifnum\stage>1 black\else black!20\fi}] (#4Y2) -- (#4Z3);
      \draw[edge, {\ifnum\stage>1 black\else black!20\fi}] (#4Y3) -- (#4Z3);

      % Level 2 -> Level 1 / terminals
      \draw[edge, {\ifnum\stage>2 black\else black!20\fi}] (#4X1) -- (#4Y1); \draw[edge, {\ifnum\stage>2 black\else black!20\fi}] (#4X1) -- (#4Y2);
      \draw[edge, {\ifnum\stage>2 black\else black!20\fi}] (#4X2) -- (#4Y2); \draw[edge, {\ifnum\stage>2 black\else black!20\fi}] (#4X2) -- (#4Z1);
      \draw[edge, {\ifnum\stage>2 black\else black!20\fi}] (#4X3) -- (#4Y3);

      % Level 3 -> Level 2 / Level 1 / terminals
      \draw[edge, {\ifnum\stage>3 black\else black!20\fi}] (#4W1) -- (#4X1); \draw[edge, {\ifnum\stage>3 black\else black!20\fi}] (#4W1) -- (#4X2);
      \draw[edge, {\ifnum\stage>3 black\else black!20\fi}] (#4W2) -- (#4X2); \draw[edge, {\ifnum\stage>3 black\else black!20\fi}] (#4W2) -- (#4X3);
      \draw[edge, {\ifnum\stage>2 black\else black!20\fi}] (#4W3) -- (#4Y1); \draw[edge, {\ifnum\stage>2 black\else black!20\fi}] (#4W3) -- (#4Z3);

      % Level 4 -> Level 3 / Level 2
      \draw[edge, {\ifnum\stage>4 black\else black!20\fi}] (#4V1) -- (#4W1); \draw[edge, {\ifnum\stage>4 black\else black!20\fi}] (#4V1) -- (#4W2); \draw[edge, {\ifnum\stage>4 black\else black!20\fi}] (#4V1) -- (#4W3);
      \draw[edge, {\ifnum\stage>4 black\else black!20\fi}] (#4V2) -- (#4W2); \draw[edge, {\ifnum\stage>4 black\else black!20\fi}] (#4V2) -- (#4X2); \draw[edge, {\ifnum\stage>4 black\else black!20\fi}] (#4V2) -- (#4X3);

      % Stage label
      \node at (0,-8.6) {\small Step~#3};
    \end{scope}%
  }
  \newcommand{\slantedgrid}[5]{%
    \def\dx{0.8}   % step in x for X-direction
    \def\dy{-0.8}  % step in y for X-direction
    \def\ex{-0.8}  % step in x for Y-direction
    \def\ey{-0.8}  % step in y for Y-direction
    % nodes
    \foreach \i in {0,...,#1}{%
      \foreach \j in {0,...,#2}{%
        \coordinate (#5-\i-\j) at (#3+\i*\dx+\j*\ex, #4+\i*\dy+\j*\ey);
        \node[circle, fill=black, inner sep=1pt] at (#5-\i-\j) {};
      }%
    }%
    % right-down arrows (only if cols>=1)
    \ifnum#1>0
      \pgfmathtruncatemacro{\imax}{#1-1}%
      \foreach \i in {0,...,\imax}{%
        \foreach \j in {0,...,#2}{%
          \draw[->] (#5-\i-\j) -- (#5-\the\numexpr\i+1\relax-\j);
        }%
      }%
    \fi
    % left-down arrows (only if rows>=1)
    \ifnum#2>0
      \pgfmathtruncatemacro{\jmax}{#2-1}%
      \foreach \i in {0,...,#1}{%
        \foreach \j in {0,...,\jmax}{%
          \draw[->] (#5-\i-\j) -- (#5-\i-\the\numexpr\j+1\relax);
        }%
      }%
    \fi
  }
\DeclarePairedDelimiter{\gen}{\langle}{\rangle}

% ---- beamer style from uploaded template ----
\usetheme{Darmstadt}
\usecolortheme{seahorse}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{items}[default]
\setbeamertemplate{theorems}[default]
\setbeamertemplate{blocks}[rounded][shadow=false]
\setbeamertemplate{footline}[frame number]

\AtBeginSection[]
{
  \begin{frame}
    \frametitle{Table of Contents}
    \tableofcontents[currentsection]
  \end{frame}
}

% ---- colors ----
\definecolor{myblue}{RGB}{48,73,180}
\definecolor{mygreen}{RGB}{40,135,65}
\definecolor{myred}{RGB}{200,70,62}
\definecolor{myorange}{RGB}{224,146,40}
\definecolor{mypurple}{RGB}{134,88,190}
\definecolor{myteal}{RGB}{30,140,150}
\definecolor{mycream}{RGB}{250,247,238}
\definecolor{mylightblue}{RGB}{228,236,251}
\definecolor{mylightgreen}{RGB}{231,246,233}
\definecolor{mylightred}{RGB}{252,236,235}

% ---- tikz styles ----
\tikzset{
  >={Latex[length=2.3mm]},
  gameedge/.style={->, draw=black!70, line width=0.65pt},
  heapedge/.style={->, draw=black!65, line width=0.85pt},
  nimheap/.style={draw=black!70, line width=0.9pt, fill=white},
  panel/.style={rounded corners=5pt, draw=black!10, fill=mycream, inner sep=5pt},
  nstate/.style={circle, fill=myred, inner sep=2.2pt},
  pstate/.style={circle, fill=myblue, inner sep=2.2pt},
  neutralstate/.style={circle, fill=black, inner sep=2.0pt},
  familybox/.style={rounded corners=4pt, draw=myblue!50!black, fill=mylightblue, line width=0.8pt},
  formulaarrow/.style={->, draw=myblue!85!black, line width=1pt},
  goodring/.style={draw=myblue, line width=1.5pt, rounded corners=3pt},
  badring/.style={draw=myred, line width=1.5pt, rounded corners=3pt},
  note/.style={rounded corners=4pt, fill=yellow!12, draw=yellow!30!black, inner sep=4pt}
}

% ---- title ----
\title[A Rota--Baxter equation for winning games]{A Rota--Baxter Equation for Winning Games}
\subtitle{Games as recursive coalgebras and differential invariants}
\author{Ryuya Hora}
\institute{Assistant professor at ZEN university}
\date{Differentiation in category theory and program semantics\\Kyoto University, April 6, 2026}

\begin{document}

\begin{frame}
  \titlepage
  \memo{Color diff vs integration}
  \vspace{-0.5em}
  \begin{center}
    \small Partially Based on joint work in progress with Ryo Suzuki.
  \end{center}
  \begin{center}
    \small Keywords: Rota-Baxter equation, Combinatorial games, recursive coalgebra, differential $2$-rig, 
  \end{center}
\end{frame}

\section{Front matter}
\begin{frame}{Where I come from}
\Large
% {\Huge \textbf{Ryuya Hora}}\\
I've been interested in toposes, \textbf{games, and coalgebras}.\\

% Sorry for my poor English!
\begin{figure}
    \centering
    \includegraphics[width=1.1 \textwidth]{images/Recursion.png}
    \caption{I tried to check the spelling}
\end{figure}
\end{frame}

\begin{frame}{Where this talk comes from}
\small
\begin{columns}[T,totalwidth=\textwidth]
\begin{column}{0.57\textwidth}
\begin{itemize}
    \item My motivation comes from \textbf{Combinatorial Game Theory}
    % ,
    % especially impartial games such as Nim.
    
    % \\
    % {\small I am an organizer of \textbf{Japan Combinatorial Game Theory Workshop}.}
    % \item So I am coming to this workshop mainly \textbf{from the game side}.
    \item I am \textbf{not} a specialist in differential categories in the usual sense.
\end{itemize}
\end{column}

\begin{column}{0.39\textwidth}
\begin{block}{What I hope to learn here}
\begin{itemize}
    \item the right map of prior work
    \item links to differential / Cartesian differential categories
    \item links to game semantics and linear logic
    \item where the Rota--Baxter viewpoint fits
\end{itemize}
\end{block}
\end{column}
\end{columns}

\vspace{0.4em}
\begin{center}
\emph{So this talk is partly a mathematical proposal.}
\end{center}
\end{frame}

% \begin{frame}{This Talk in One Slide}
% \begin{block}{Guiding question}
% Why does the winning theory of \emph{Nim} involve the strange operation
% \[
%  a_1\nimsum \cdots \nimsum a_n \, ?
% \]
% \end{block}

% \vspace{0.3em}
% \begin{columns}[T]
% \begin{column}{0.48\textwidth}
% \textbf{Part I (about 10 min)}
% \begin{itemize}
%   \item Games as $\Pf$-recursive coalgebras
%   \item game values as hylomorphisms
% \end{itemize}
% \end{column}
% \begin{column}{0.48\textwidth}
% \textbf{Part II (about 15 min)}
% \begin{itemize}
%   \item a "differential structure" on pointed games families
%   % \item Rota--Baxter rig valued invariants
%   \item\textbf{Winning nim with a Rota-Baxter equation!}
% \end{itemize}
% \end{column}
% \end{columns}

% \vspace{0.3em}
% \begin{center}
% \emph{Key slogan: the Nim identity is an integral shadow of a Leibniz rule.}
% \end{center}
% \end{frame}



\begin{frame}{The dichotomy in this talk}
\begin{figure}
\centering
\begin{tikzpicture}[x=1cm,y=1cm,>=Latex,thick]
  % divider
  % \draw[gray!35] (0,-2.4) -- (0,2.4);
  
  % top labels
  \node[text=dcol, font=\bfseries] at (-2,2.05) {Differentiation};
  \node[text=gray, font=\bfseries] at ( 0,2.05) {vs};
  \node[text=icol, font=\bfseries] at ( 2,2.05) {Integration};

  

  % left side words
  \node[text=dcol, font=\bfseries, align=center] (L1) at (-4.9,  1.20) {Play forward};
  \node[text=dcol, font=\bfseries, align=center] (L2) at (-4.9,  0.00) {Coalgebra};
  \node[text=dcol, font=\bfseries, align=center] (L3) at (-4.9, -1.20) {Leibniz rule};

  % right side words
  \node[text=icol, font=\bfseries, align=center] (R1) at ( 4.9,  1.20) {Analyze backward};
  \node[text=icol, font=\bfseries, align=center] (R2) at ( 4.9,  0.00) {Algebra};
  \node[text=icol, font=\bfseries, align=center] (R3) at ( 4.9, -1.20) {Rota--Baxter\\equation};

  % horizontal comparison arrows
  \draw[<->, draw=gray!55, line width=0.8pt] (L1.east) -- (R1.west);
  \draw[<->, draw=gray!55, line width=0.8pt] (L2.east) -- (R2.west);
  \draw[<->, draw=gray!55, line width=0.8pt] (L3.east) -- (R3.west);

  % central vertical arrows
  \draw[->, line width=1.5pt, draw=dcol] (-2,1.55) -- (-2,-1.95);
  \draw[->, line width=1.5pt, draw=icol] ( 2,-1.95) -- ( 2,1.55);
\end{tikzpicture}
\end{figure}
\end{frame}

\begin{frame}{Short survey: games $\times$ category theory is not new\memo{memo}}
\footnotesize
\begin{alertblock}{Important positioning}
I know that \textbf{games + category theory} is already a rich story.
This talk isolates the narrower interface between
\[
\text{impartial combinatorial games}
\qquad\text{and}\qquad
\text{differential / Rota--Baxter ideas}.
\]
\end{alertblock}

\vspace{0.2em}
\begin{columns}[T,totalwidth=\textwidth]
\begin{column}{0.32\textwidth}
\begin{exampleblock}{Game semantics}
\begin{itemize}
  \item strategies as morphisms
  \item linear logic / programming semantics
\end{itemize}
\end{exampleblock}
\end{column}
\begin{column}{0.32\textwidth}
\begin{exampleblock}{Coalgebraic games}
\begin{itemize}
  \item Conway games / hypergames
  \item recursive viewpoints on impartial games
\end{itemize}
\end{exampleblock}
\end{column}
\begin{column}{0.32\textwidth}
\begin{exampleblock}{Differential side}
\begin{itemize}
  \item differential categories
  \item integral / calculus categories
\end{itemize}
\end{exampleblock}
\end{column}
\end{columns}

\vspace{0.1em}
{\scriptsize Representative references: game semantics \parencite{joyal1977remarques,laird2013constructing}; coalgebraic games \parencite{honsell2009conway,honsell2011conway,bavsic2024categories}; differential side \parencite{blute2006differential,cockett2019integral,loregian2021differential}.}

\vspace{0.12em}
\begin{center}
\begin{tikzpicture}[x=1cm,y=1cm]
  \node[panel, minimum width=7.45cm, minimum height=0.90cm] (p) {};
  \node[text=myred, font=\bfseries] at ($(p.center)+(-2.0,0)$) {Nim};
  \node[text=mypurple, font=\bfseries] at ($(p.center)+(-0.35,0)$) {recursive coalgebras};
  \node[text=myteal, font=\bfseries] at ($(p.center)+(2.30,0)$) {Rota--Baxter};
  \draw[formulaarrow] ($(p.center)+(-1.55,0)$) -- ($(p.center)+(-0.83,0)$);
  \draw[formulaarrow] ($(p.center)+(0.63,0)$) -- ($(p.center)+(1.66,0)$);
\end{tikzpicture}
\end{center}
\end{frame}

% \section{Introduction: Integration in Game theory: Generalized Bouton theorem}
\section[Play forward $\leftrightarrow$ Analyze backward]{Play vs Analysis: Generalized Bouton's theorem is Integration!}
\subsection{Preliminaries: Winning Nim!}
\begin{frame}{Rule of $n$-heap Nim}
\begin{itemize}
  % \item In the game \textbf{$n$-heap nim}, first, 
  \item $n$ heaps of stones are given.
  \item Two players take turns choosing one heap and removing at least one stone from that heap.
  \item The player who is unable to take a stone loses.
\end{itemize}

\begin{figure}
    \centering
    \includegraphics[width=1\linewidth]{images/NimSample.jpeg}
\end{figure}
% \memo{write}

\end{frame}
\begin{frame}{Bouton's winning strategy (1/2) Nim sum}

\begin{definition}[Nim-sum]
    The \emph{Nim-sum} $\nimsum$ is \dq{bit-wise xor}, i.e., an abelian group structure on $\N$, induced by the binary expansion $\N \overset{\simeq}{\to} \bigoplus_{k=0}^{\infty} \Z/2\Z$.
\end{definition}

    \begin{columns}[T,totalwidth=\textwidth]
\begin{column}{0.58\textwidth}
\begin{example}
  $5\nimsum 7 = (101)_2 \nimsum (111)_2 = (010)_2 = 2$
  \end{example}
\end{column}
\begin{column}{0.38\textwidth}
\begin{figure}
\centering
\begin{tikzpicture}[thick,>=Latex,scale=0.85]
  \node at (-1.0,0.65) {$3=$};
  \node at (-0.2,0.65) {$0$};
  \node at ( 0.4,0.65) {$1$};
  \node at ( 1.0,0.65) {$1$};

  \node at (-1.25,0.0) {$\nimsum$};

  \node at (-1.0,-0.65) {$5=$};
  \node at (-0.2,-0.65) {$1$};
  \node at ( 0.4,-0.65) {$0$};
  \node at ( 1.0,-0.65) {$1$};

  \draw[very thick] (-1.2,-1.05) -- (1.3,-1.05);

  \node at (-1.0,-1.7) {$6=$};
  \node at (-0.2,-1.7) {$1$};
  \node at ( 0.4,-1.7) {$1$};
  \node at ( 1.0,-1.7) {$0$};
\end{tikzpicture}
\end{figure}
\end{column}
\end{columns}

\end{frame}

\begin{frame}{Bouton's winning strategy (2/2)}



\begin{theorem}[{[Bouton, 1901]}]
    A state of $n$-heap nim $(a_1, \dots ,a_n)$ is a winning state
    % \footnote{It is usually called a P-state.} 
    if and only if $a_1 \nimsum \dots \nimsum a_n =0$.
\end{theorem}
\begin{example}
    $(1,2,3),(0,1,1), (2,2,0)$ are winning states of the $3$-heap nim.\memo{}
\end{example}

\end{frame}



% \section{Category of games}
\subsection{Impartial Games}
\begin{frame}{Definition of games}

\begin{columns}
    \begin{column}{0.8 \textwidth}
    \begin{definition}[(Impartial) Game]
    A \emph{game} $\X=(X,\relob)$ is a pair of a (possibly infinite) set $X$ and a binary relation $\relob \subset X \times X$ that satisfies the following two finiteness conditions
    \begin{enumerate}
        \item (finite options) $\# \{x' \in X \mid x\rel x'\}$ is finite, for any $x \in X$.
        \item (finite time) There is no infinite path. $x_0 \rel x_1 \rel x_2 \rel \dots$
    \end{enumerate}
    \end{definition}
    % \begin{example}
    %     \begin{itemize}
    %         \item \cmark 21-game $(\{0,1, \dots 21\}, x\rel x' \colon \iff x'-x \in \{1,2,3\})$
    %         \item \cmark $(\N,>)$ but  \xmark $(\Z, >)$
    %         \item \cmark Nim (Stone-taking game) $(\N^n,\relob)$
    %     \end{itemize}
    % \end{example}

    \begin{example}[$\Nim{n}$: $n$-heap nim]
        The game $\Nim{n} = (\N^{n},\relob)$ is 
        % a game whose underlying set is $\N^{n}$ and relation $\relob \subset \N^{n} \times \N^{n}$ is 
        defined by
        \[
        (a_i)_{1\leq i \leq n} \rel (b_i)_{1\leq i \leq n} \iff
        \exists i (a_i> b_i \land a_j = b_j (j\neq i))
        \]
    \end{example}
    \end{column}
    \begin{column}{0.2 \textwidth}
% \begin{figure}[ht]
% \centering
% \begin{tikzpicture}[>=Latex, thick, scale=0.9]
%   \tikzset{edge/.style={->, draw=black!35}}
%   % ===== Five panels left-to-right =====
%   \grundypanel{0.0}{0.0}{1}{A}
% \end{tikzpicture}
% \end{figure}
\begin{figure}
\centering
\begin{tikzpicture}[>=Latex, thick, scale=0.75]
  \tikzset{edge/.style={->, draw=black}}

  \node[circle, inner sep=3pt, fill=black] (A1Z1) at (-2,-7.2) {};
  \node[circle, inner sep=3pt, fill=black] (A1Z2) at ( 0,-7.2) {};
  \node[circle, inner sep=3pt, fill=black] (A1Z3) at ( 2,-7.2) {};

  \node[circle, inner sep=3pt, fill=black] (A1Y1) at (-2,-5.8) {};
  \node[circle, inner sep=3pt, fill=black] (A1Y2) at ( 0,-5.8) {};
  \node[circle, inner sep=3pt, fill=black] (A1Y3) at ( 2,-5.8) {};

  \node[circle, inner sep=3pt, fill=black] (A1X1) at (-2,-4.4) {};
  \node[circle, inner sep=3pt, fill=black] (A1X2) at ( 0,-4.4) {};
  \node[circle, inner sep=3pt, fill=black] (A1X3) at ( 2,-4.4) {};

  \node[circle, inner sep=3pt, fill=black] (A1W1) at (-2,-3.0) {};
  \node[circle, inner sep=3pt, fill=black] (A1W3) at ( 0,-3.0) {};
  \node[circle, inner sep=3pt, fill=black] (A1W2) at ( 2,-3.0) {};

  \node[circle, inner sep=3pt, fill=black] (A1V1) at (-1,-1.6) {};
  \node[circle, inner sep=3pt, fill=black] (A1V2) at ( 1,-1.6) {};

  \draw[edge] (A1Y1) -- (A1Z1);
  \draw[edge] (A1Y2) -- (A1Z2);
  \draw[edge] (A1Y2) -- (A1Z3);
  \draw[edge] (A1Y3) -- (A1Z3);

  \draw[edge] (A1X1) -- (A1Y1);
  \draw[edge] (A1X1) -- (A1Y2);
  \draw[edge] (A1X2) -- (A1Y2);
  \draw[edge] (A1X2) -- (A1Z1);
  \draw[edge] (A1X3) -- (A1Y3);

  \draw[edge] (A1W1) -- (A1X1);
  \draw[edge] (A1W1) -- (A1X2);
  \draw[edge] (A1W2) -- (A1X2);
  \draw[edge] (A1W2) -- (A1X3);
  \draw[edge] (A1W3) -- (A1Y1);
  \draw[edge] (A1W3) -- (A1Z3);

  \draw[edge] (A1V1) -- (A1W1);
  \draw[edge] (A1V1) -- (A1W2);
  \draw[edge] (A1V1) -- (A1W3);
  \draw[edge] (A1V2) -- (A1W2);
  \draw[edge] (A1V2) -- (A1X2);
  \draw[edge] (A1V2) -- (A1X3);
\end{tikzpicture}
\end{figure}
    \end{column}
\end{columns}
\end{frame}



\begin{frame}{$\times$: Box product of games}
% \memo{Maybe we'd better call it "box product"}
        \begin{definition}[Box product {\tiny a.k.a. Conway's "addition"}]
    The box product of two games, $\X= (X,\relob_X)$ and $ \Y =(Y,\relob_Y)$, is the game $\X\ConAdd\Y = (X\times Y, \relob_{\ConAdd})$, where 
    \begin{itemize}
        \item the underlying set is the cartesian product $X\times Y$, and
        \item the relation $\rel_{\ConAdd}$ is defined by
    $
    (x,y)\rel_{\ConAdd} (x', y') \iff (x\rel_{X} x' \land y= y') \lor (x= x' \land y\rel_{Y} y')
    $
    \end{itemize} 
\end{definition}
\begin{figure}[ht]
\centering
\begin{tikzpicture}[>=Latex, scale=0.4]
  % ===== Left: 3×1 as a 2×0 slanted grid =====
  \slantedgrid{3}{0}{-8}{0}{X}
  \node at (-7,-4) {$\X$};

  % Tensor symbol
  \node at (-4.3,-1) {$\ConAdd$};

  % ===== Middle: 1×4 as a 0×3 slanted grid =====
  \slantedgrid{0}{4}{0}{0.5}{Y}
  \node at (-1.5,-4) {$\Y$};

  % Equality sign
  \node at (2.3,-1) {$=$};

  % ===== Right: 3×4 as a 2×3 slanted grid (shifted right to avoid overlap) =====
  \slantedgrid{3}{4}{7}{2}{Z}
  \node at (6.5,-4) {$\X \ConAdd \Y$};

\end{tikzpicture}
\caption{An example of box product.}
\label{fig:ConwayAddition}
\end{figure}
\end{frame}




\begin{frame}{$\iop$: \icol{Mex} and Grundy number}
% \begin{frame}{\texorpdfstring{$\iop$}{int}: \icol{Mex} and Grundy number}
\begin{columns}
    \begin{column}{0.8 \textwidth}
        \begin{definition}[mex]
        The \emph{mex} of a finite subset $S \subset \N$ is $\min{(\N\setminus S)}$.
    \end{definition}
    % \begin{example}
    %     $\mex{\{0,1,2,4,6}\} = 3$, \hspace{10pt}
    %     $\mex{\emptyset}
    %     % =\min{\N \setminus \emptyset}
    %     =0$
    % \end{example}

    \begin{definition}[Grundy number]
    For a game $\X=(X,\relob)$ and a state $x\in X$, its \emph{Grundy number} $\G{\X}{x}$ is recursively defined by
        \[
        \G{\X}{x}\coloneqq \mex{\{\G{\X}{x'}\mid x\rel x'\}}
        \]
    \end{definition}
    \begin{proposition}[Grundy number is enough to win!]
        For a game $\X=(X,\relob)$, a state $x$ is a winning state if and only if $\G{\X}{x}=0$.
    \end{proposition}
    \end{column}
    \begin{column}{0.2 \textwidth}
    \begin{figure}
        \centering
        \includegraphics[width=1.1\linewidth]{images/Grundy_number_2.jpeg}
    \end{figure}
    \end{column}
\end{columns}
\end{frame}

\begin{frame}{Generalized Bouton's theorem}
    \begin{theorem}[{Generalized Bouton's theorem [see CGT, Siegel]}]
        For two games $\X =(X, \relob_X)$ and $\Y=(Y, \relob_Y)$, 
        we have
        \[
        \G{\X\ConAdd\Y}{x,y} = \G{\X}{x} \nimsum \G{\Y}{y}.
        \]
    \end{theorem}

    \begin{proof}[The only non-trivial part of the proof is:]
    $
\mex(S)\nimsum \mex(T)
= \mex\bigl((\mex(S)\nimsum T)\cup (S\nimsum \mex(T))\bigr).
$
\end{proof}
This is similar to \icol{\textbf{the Rota-Baxter equation}}!
\[
% \color{icol}
\left(\Int f\right)\left(\Int g\right )= \Int\left(\left(\Int f\right )g + f\left(\Int g\right )\right ).
\]

%     \begin{example}[Original Bouton's theorem]
%     \begin{enumerate}
%         \item $\G{\Nim{1}}{a}=a$
%         \item $\G{\Nim{n}}{(a_i)_{1\leq i \leq n}} = \G{\Nim{1}}{a_1}\nimsum \dots \nimsum \G{\Nim{1}}{a_n} = a_1 \nimsum \dots \nimsum a_n$
%         \item $(a_i)_{1\leq i \leq n}$ is a winning state $\iff$ $ a_1 \nimsum \dots \nimsum a_n=0$
%     \end{enumerate}
    
% \end{example}
\end{frame}

\section[Coalgebras $\leftrightarrow$ Algebras]{Coalgebra vs Algebra: recursive \texorpdfstring{$\Pf$}{Pfin}-coalgebras}
\subsection{Preliminaries: Coalgebra and recursion}
\begin{frame}{Algebra/Coalgebra of an endofunctor}
\begin{definition}[$T$-Algebras and $T$-Coalgebras]
    For a category $\C$ and an endofunctor $T\colon \C \to \C$, 
    \begin{itemize}
        \item A $T$-algebra is a pair $(A,\alpha)$ of an object $A$ of $\C$ and a morphism $\alpha\colon TA \mathrel{\icol{\to}} A$.
        \item A $T$-coalgebra is a pair $(X,\theta)$ of an object $X$ of $\C$ and a morphism $\theta\colon X \rel TX$.
    \end{itemize}
\end{definition}
\begin{example}
    We will consider the case where $\C=\Set$ and $T= \Pf\colon \Set \to \Set$. 
    \[
    \Pf(X)=\{S\subset X\mid \# S <\infty\}
    \]

\end{example}
\end{frame}

\begin{frame}{Coalgebra-Algebra morphism and Recursive coalgebra}
\begin{definition}[Coalgebra-algebra morphism]
    % For a category $\C$ and an endofunctor $T$,
    A \emph{coalgebra-algebra} morphism from a $T$-coalgebra $(X,\theta)$ to a $T$-algebra $(A, \alpha)$ is a morphism $f\colon X \to A$ such that the following diagram commutes.
    \[
    \begin{tikzcd}[ampersand replacement=\&]
        X \ar[r,"f"]\ar[d,"\theta"]\&A\\
        TX \ar[r,"Tf"]\&TA\ar[u,"\alpha"']
    \end{tikzcd}
    \]
\end{definition}
\begin{definition}[Recursive coalgebra]
    A $T$-coalgebra $(X,\theta)$ is \emph{recursive} if for any $T$-algebra $(A,\alpha)$, there uniquely exists a coalgebra-algebra morphism $(X,\theta)\to (A, \alpha)$.
\end{definition}
\end{frame}

\subsection{Games as recursive coalgebras}
\begin{frame}{Games = Recursive $\Pf$-coalgebras}
\begin{theorem}[Games as Recursive coalgebras]
    The category of games $\Gs$ is equivalent to the category of recursive $\Pf$-coalgebras.
\end{theorem}
% \begin{proof}
% We can check the following two claims by concrete calculations:
%     \begin{itemize}
%         \item A $\Pf$-coalgebra $(X, \theta)$ is recursive if and only if its corresponding graph 
%     % $(X, \{(x,x')\mid x' \in \theta(x)\})$
%     $(X, x\rel x' \iff x' \in \theta(x))$ is a game.
%     \item For two recursive $\Pf$-coalgebras $(X,\theta),(X',\theta)$, a function $f\colon X \to X'$ is a $\Pf$-coalgebra morphism if and only if $f$ is a game morphism.
%     \end{itemize}
% \end{proof}
    \begin{figure}
        \centering
        \includegraphics[width=0.75\linewidth]{images/RecursiveIsGames.jpeg}
        \caption{Idea of the correspondence}
        
    \end{figure}
    \memo{cite the rulegraph paper}
\end{frame}

\begin{frame}{Digression: Categorical structure of games}
The category of games $\Gs$ has good categorical properties, including:
\begin{proposition}[$\Gs$ is LFP.]
\begin{itemize}
    \item The category of games $\Gs$ is \textbf{locally finitely presentable}. 
    \begin{itemize}
        \item In particular, it is complete and cocomplete.
    \end{itemize}
    \item The box product $\ConAdd$ is a symmetric monoidal closed structure on $\Gs$. 
\end{itemize}
\end{proposition}
% \memo{Terminal, subobject classifier}
% Colimits are created by $U\colon \Gs \to \Set$, but limits are non-trivial!
% \begin{example}[The terminal game: $T=(V_\omega, \ni)$]
%     The terminal game $T=(\N, \to_{\text{bin}})
%     % (\cong(V_\omega, \ni))
%     $ is the \emph{binary nim}. 
%     % whose underlying set is $\N$ and 
%     For $n,m\in \N$, $n\rel_{\text{bin}}m$, if $m$ appears in the binary expansion of $n$. For example,
%     \[
%     10000=2^{4}+2^{8}+2^{9}+2^{10}+2^{13}\rel_{\text{bin}} 4,8,9,10,13.
%     \]
% \end{example}

\begin{proposition}[Generalized generalized Bouton's theorem]
    
\end{proposition}
\end{frame}


\section[Differentiation $\leftrightarrow$ Integration]{Differentiation vs Integration: Calculus 2-rig of pointed game families}
\subsection{Differential $2$-rig of games}
\begin{frame}{Differentiation on families of pointed games}
\small
\begin{itemize}
  \item A pointed game is a pair $(X,x)$ with a chosen starting position.
  \item Let $\Gsp$ be the category of pointed games.
  \item Let $\Fam(\Gsp)$ be the free finite-coproduct completion.
\end{itemize}

Think of an object of $\Fam(\Gsp)$ as a \emph{finite family of local game situations}.

\vspace{0.3em}
Natural operations:
\[
\text{addition }\sqcup = \text{disjoint union of families},
\qquad
\text{multiplication }\otimes = \text{gamewise box product}.
\]

\begin{block}{Differential operator}
For a pointed game $(X,x)$, we define \dcol{\textbf{differential operator}} $\dop$ by (linearly extending)
\[
\dd(X,x)\coloneqq \{(X,x')\}_{x\rel x'}.
\]
\end{block}
\end{frame}

\begin{frame}{Leibniz rule for Box product}
For the Conway sum, every move changes \emph{either} the left component \emph{or} the right component.

\vspace{0.4em}
\begin{block}{Theorem}
The \dcol{differential operator} $\dop$ defines an endofunctor $\dop\colon \Fam(\Gsp)\to \Fam(\Gsp)$ satisfying  the categorified \dcol{Leibniz rule}:
\[
\dd(X\otimes Y)\cong (\dd X)\otimes Y \;\sqcup\; X\otimes (\dd Y).
\]
\end{block}

\vspace{0.6em}
\begin{center}
\begin{tikzpicture}[>=Latex, thick, scale=0.9]
  \node[draw, rounded corners, minimum width=2.6cm, minimum height=0.9cm] (xy) at (0,0) {$X\otimes Y$};
  \node[draw, rounded corners, minimum width=2.6cm, minimum height=0.9cm] (dx) at (-3,-2) {$(\dd X)\otimes Y$};
  \node[draw, rounded corners, minimum width=2.6cm, minimum height=0.9cm] (dy) at (3,-2) {$X\otimes(\dd Y)$};
  \draw[->] (xy) -- (dx) node[midway,left] {move in $X$};
  \draw[->] (xy) -- (dy) node[midway,right] {move in $Y$};
\end{tikzpicture}
\end{center}

\vspace{0.3em}
\small This is the differential structure that I want to emphasize today; compare with differential 2-rigs \parencite{joyal1981theorie,loregian2021differential}.
\end{frame}

\subsection{Invariants in Rota-Baxter rig}
\begin{frame}{Decategorification target: calculus / Rota--Baxter rigs}
A \textbf{differential rig} is a rig $(A,0,1,+,\times,\dd)$ satisfying
\[
\dd(a+b)=\dd a+\dd b,
\qquad
\dd(ab)= (\dd a)b + a(\dd b).
\]

\vspace{0.5em}
An \textbf{integral rig} (or Rota--Baxter rig of weight $0$ in this talk) has an operator $\Int$ with
\[
1 = \Int 0,
\qquad
(\Int f)(\Int g)= \Int\bigl((\Int f)g + f(\Int g)\bigr).
\]

\vspace{0.5em}
A \textbf{calculus rig} has both, with the fundamental theorem
\[
\dd\Int f = f.
\]

\vspace{0.2em}
\begin{center}
\emph{Game families can be sent to such algebraic differential/integral structures.}
\end{center}
\end{frame}

\begin{frame}[t]{Rota--Baxter valued invariants of games}
Let $A$ be an integral rig. For a pointed game $(X,x)$ define recursively
\[
F_{(X,x)}\coloneqq \Int\!\left(\sum_{x\rel x'} F_{(X,x')}\right).
\]
For a finite family, define $F$ by finite sums.

\vspace{0.3em}
\begin{block}{Theorem}
This assignment preserves the rig operations:
\[
F_{\mathcal{X}\sqcup\mathcal{Y}} = F_{\mathcal{X}} + F_{\mathcal{Y}},
\qquad
F_{\mathcal{X}\otimes\mathcal{Y}} = F_{\mathcal{X}}\times F_{\mathcal{Y}}.
\]
\end{block}

\vspace{0.2em}
\begin{center}
\emph{Why multiplication works: apply the Rota--Baxter identity to the Leibniz rule for options of a Conway sum.}
\end{center}
\end{frame}

\subsection{Examples}
\begin{frame}[t]{The universal example: game families themselves}
The family of all pointed positions in the terminal game carries a calculus-rig-like structure:
\begin{center}
\renewcommand{\arraystretch}{1.25}
\begin{tabular}{c|c}
\textbf{analysis} & \textbf{game families} \\
\hline
$0$ & empty family \\
$1$ & the terminal pointed game \\
$+$ & disjoint union / union \\
$\times$ & gamewise Conway sum \\
$\dd$ & take all immediate options \\
$\Int$ & adjoin a new root / braces $A\mapsto \{A\}$
\end{tabular}
\end{center}


\end{frame}

\begin{frame}{Nim-sum gives a concrete Rota--Baxter rig}
Start from the commutative monoid $(\N,\nimsum,0)$.
Its free idempotent rig is $\Pf(\N)$ with
\[
S+T \coloneqq S\cup T,
\qquad
S\times T \coloneqq \{s\nimsum t\mid s\in S,\ t\in T\}.
\]
Define the integral operator by
\[
\Int(S)\coloneqq \{\mex(S)\}.
\]

\vspace{0.5em}
\begin{block}{Theorem}
This makes $\Pf(\N)$ into an integral (Rota--Baxter) rig.
\end{block}

\vspace{0.4em}
So the classical \emph{mex + xor} mechanism of impartial game theory is an instance of a general algebraic pattern.
\end{frame}

\begin{frame}{The key identity is exactly a Rota--Baxter equation}
In the rig $\Pf(\N)$,
\[
(\Int S)(\Int T)=\Int\bigl((\Int S)T + S(\Int T)\bigr)
\]
becomes
\[
\{\mex(S)\}\times \{\mex(T)\}
=
\Int\bigl((\{\mex(S)\}\times T)\cup (S\times \{\mex(T)\})\bigr).
\]
Unpacking the product gives
\[
\mex(S)\nimsum\mex(T)
=\mex\bigl((\mex(S)\nimsum T)\cup (S\nimsum \mex(T))\bigr).
\]

\vspace{0.5em}
\begin{alertblock}{Interpretation}
This is the integral shadow of the Leibniz rule for the option operator of Box product.
\end{alertblock}
\end{frame}

\begin{frame}{Recovering Bouton's theorem}
Apply the previous construction to pointed Nim positions.

\vspace{0.5em}
\begin{itemize}
  \item For one-heap Nim,
  \[
  F_{(\mathrm{Nim}_1,n)} = \{n\}
  \qquad\text{(equivalently, the Grundy value is $n$).}
  \]
  \item Therefore for the Conway sum of $n$ heaps,
  \[
  F_{(a_1,\dots,a_n)} = \{a_1\nimsum\cdots\nimsum a_n\}.
  \]
  \item Hence $(a_1,\dots,a_n)$ is a $P$-position iff
  \[
  a_1\nimsum\cdots\nimsum a_n = 0.
  \]
\end{itemize}

\vspace{0.4em}
\begin{block}{What changed conceptually?}
Instead of proving a mysterious xor identity by hand, we view it as the Rota--Baxter image of a differential rule on games.
\end{block}
\end{frame}

\begin{frame}{Take-home messages}
\begin{enumerate}
  \item \textbf{Games are recursive coalgebras.}
  The basic game values come from hylomorphisms for $\Pf$.

  \item \textbf{Box product has a differential flavor.}
  On pointed games / families, the option operator satisfies a Leibniz rule.

  \item \textbf{Nim-sum is a Rota--Baxter phenomenon.}
  The classical identity for $\mex$ and xor is the algebraic image of that Leibniz rule.
\end{enumerate}

\vspace{0.8em}
\begin{alertblock}{Outlook}
Partisan / probabilistic variants, a genuine chain rule, and a systematic interface with differential categories remain open.
\end{alertblock}
\end{frame}

\begin{frame}[allowframebreaks]{References}
\printbibliography[heading=none]
\end{frame}

\end{document}
\section{Appendix}
\begin{frame}{Internal monoid games}
    
\end{frame}

\begin{frame}{Rota-Baxteer property on game values}
    
\end{frame}

\begin{frame}{SMCC open problem of classification}



\end{frame}

\begin{frame}{Outcome: Winning/Losing state}
\begin{columns}
    \begin{column}{0.75 \textwidth}
    \begin{definition}[Outcome]
    For a game $\X=(X,\to)$ and a state $x\in X$, its \emph{outcome} $\O{\X}{x}\in \{W,L\}$ is recursively defined by
        \[
        \O{\X}{x}\coloneqq 
        \begin{cases}
            W & (x\rel \forall x' ,  \O{\X}{x'}=L)\\
            L & (x\rel \exists x' , \O{\X}{x'}=W)
        \end{cases}
        \]
    \end{definition}
    % \begin{proposition}
    %     For a game $\X=(X,\to)$, a state $x$ is a winning state if and only if $\G{\X}{x}=0$.
    % \end{proposition}
    \end{column}
    \begin{column}{0.25 \textwidth}
    \begin{figure}
        \centering
        \includegraphics[width=1\linewidth]{images/W_L_sample.jpeg}
    \end{figure}
    \end{column}
\end{columns}
\end{frame}

\begin{frame}{Operadic compositionality}
\end{frame}
\end{document}