← rota-baxter-winning-games

DiffCatRIMS__Older__20260405.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}
\usetikzlibrary{decorations.pathmorphing,arrows.meta}


% ---- macros adapted from the provided tex sources ----
\newtheorem{proposition}{Proposition}
\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{\Gfunc}[1]{\mathcal{G}_{#1}}
\newcommand{\BirthDay}{\mathsf{BirthDay}}
\newcommand{\mex}{\icol{\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 \icol{Rota-Baxter equation} for winning \dcol{games}]{\texorpdfstring{A \icol{Rota-Baxter equation} for winning \dcol{games}}{A Rota-Baxter equation for winning games}}
\subtitle{\texorpdfstring{\dcol{Games} as recursive \dcol{coalgebras} and \icol{integrate} invariants}{Invariants}}
\author{Ryuya Hora}
\institute{Assistant professor at ZEN university}
\date{April 6, 2026}

\begin{document}

\begin{frame}
  \titlepage
  \vspace{-0.5em}
  \begin{center}
    \small Partially Based on joint work in progress with Ryo Suzuki.
  \end{center}
  \begin{center}
    \small \dcol{Differentiation} in category theory and program semantics
  \end{center}
  \begin{center}
    \small Keywords: \icol{Rota-Baxter equation}, \dcol{Games}, recursive \dcol{coalgebra}, \dcol{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{\dcol{games}, and \dcol{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 \dcol{Game} Theory}
    % ,
    % especially impartial \dcol{games} such as Nim.
    
    % \\
    % {\small I am an organizer of \textbf{Japan Combinatorial \dcol{Game} Theory Workshop}.}
    % \item So I am coming to this workshop mainly \textbf{from the \dcol{game} side}.
    \item I am \textbf{not} a specialist in \dcol{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 \dcol{differential} / Cartesian \dcol{differential} categories
    \item links to \dcol{game} semantics and linear logic
    \item where the \icol{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}{The \dcol{dicho}\icol{tomy} in this talk}
\begin{figure}
\centering
\begin{tikzpicture}[x=1cm,y=1cm,>=Latex,thick, scale=1.1]
  % 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) {\dcol{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) {\icol{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) {\icol{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);
  
  % horizontal comparison arrows
  \draw[draw=gray!55, line width=0.8pt, dashed] (L1.east) -- (R1.west);
  \draw[draw=gray!55, line width=0.8pt, dashed] (L2.east) -- (R2.west);
  \draw[draw=gray!55, line width=0.8pt, dashed] (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);

  \draw[-{Latex[length=4mm,width=7mm]}, line width=4pt, draw=dcol] (-2,1.6) -- (-2,-1.95);
  \draw[-{Latex[length=4mm,width=7mm]}, line width=4pt, draw=icol] ( 2,-1.95) -- ( 2,1.6);
\end{tikzpicture}
\end{figure}
\end{frame}

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

\vspace{0.2em}
\begin{columns}[T,totalwidth=\textwidth]
\begin{column}{0.32\textwidth}
\begin{exampleblock}{\dcol{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 \dcol{games}}
\begin{itemize}
  \item Conway \dcol{games} / hyper\dcol{games}
  \item recursive viewpoints on impartial \dcol{games}
\end{itemize}
\end{exampleblock}
\end{column}
\begin{column}{0.32\textwidth}
\begin{exampleblock}{Differential side}
\begin{itemize}
  \item \dcol{differential} categories
  \item \icol{integral} / \dcol{calc}\icol{ulus} categories
\end{itemize}
\end{exampleblock}
\end{column}
\end{columns}

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

\vspace{0.12em}
\begin{center}
\begin{tikzpicture}[x=0.5cm,y=0.5cm]
  \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 \dcol{coalgebras}};
  \node[text=myteal, font=\bfseries] at ($(p.center)+(2.30,0)$) {\icol{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}
\begin{frame}{Table of Contents}
    \tableofcontents
\end{frame}
% \section{Introduction: \icol{Integration} in \dcol{Game} theory: Generalized Bouton theorem}
\section[\dcol{Play forward} $\leftrightarrow$ \icol{Analyze backward}]{\texorpdfstring{\dcol{Play} vs \icol{Analysis}: Generalized Bouton's theorem is \icol{Integration}}{Play vs Analysis}!}
\subsection{Preliminaries: Winning Nim!}
\begin{frame}{Rule of $n$-heap Nim}
\begin{itemize}
  % \item In the \dcol{game} \textbf{$n$-heap nim}, first, 
  \item $n$ heaps of stones are given.
  \item Two players \dcol{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
\begin{tikzpicture}[x=0.8cm,y=0.8cm, line cap=round, line join=round, >=Latex]

  % dotted grid
  \foreach \x in {0.2,0.7,...,16.0}{
    \foreach \y in {0.2,0.7,...,4.8}{
      \fill[gray!35] (\x,\y) circle (0.012);
    }
  }

  % left state
  \draw[line width=0.45mm] (1.0,3.9) circle (0.58);
  \fill (1.0,3.9) circle (0.09);

  \draw[line width=0.45mm] (1.0,2.45) circle (0.58);
  \fill (1.0,2.60) circle (0.09);
  \fill (0.72,2.25) circle (0.09);
  \fill (1.28,2.15) circle (0.09);

  \draw[line width=0.45mm] (1.0,0.95) circle (0.58);
  \fill (1.04,1.23) circle (0.09);
  \fill (0.66,0.95) circle (0.09);
  \fill (1.32,0.84) circle (0.09);
  \fill (1.02,0.57) circle (0.09);

  % first arrow and label A
  \node[text=red!85!black, font=\fontsize{12}{12}\selectfont] at (2.90,2.82) {$A$};
  \draw[line width=0.10mm, decorate, decoration={snake, amplitude=0.3mm, segment length=4mm}] (1.72,2.35) -- (3.38,2.35);
  \draw[line width=0.55mm, -{Latex[length=4.0mm,width=1.5mm]}] (3.38,2.35) -- (3.82,2.35);

  % second state
  \draw[line width=0.45mm] (4.45,3.9) circle (0.58);
  \fill (4.45,3.88) circle (0.09);

  \draw[line width=0.45mm] (4.45,2.45) circle (0.58);
  \fill (4.48,2.58) circle (0.09);
  \fill (4.20,2.24) circle (0.09);
  \fill (4.74,2.14) circle (0.09);

  \draw[line width=0.45mm] (4.45,0.95) circle (0.58);
  \fill (4.52,1.20) circle (0.09);
  \fill (4.16,0.92) circle (0.09);

  % second arrow and label B
  \node[text=blue!75!black, font=\fontsize{12}{12}\selectfont] at (6.20,2.84) {$B$};
  \draw[line width=0.10mm, decorate, decoration={snake, amplitude=0.3mm, segment length=4mm}] (5.17,2.35) -- (6.72,2.35);
  \draw[line width=0.55mm, -{Latex[length=4.0mm,width=1.5mm]}] (6.72,2.35) -- (7.16,2.35);

  % third state
  \draw[line width=0.45mm] (7.80,3.9) circle (0.58);
  \fill (7.80,3.88) circle (0.09);

  \draw[line width=0.45mm] (7.80,2.45) circle (0.58);
  \fill (7.55,2.24) circle (0.09);

  \draw[line width=0.45mm] (7.80,0.95) circle (0.58);
  \fill (7.88,1.20) circle (0.09);
  \fill (7.52,0.92) circle (0.09);

  % third arrow and label A
  \node[text=red!85!black, font=\fontsize{12}{12}\selectfont] at (9.45,2.82) {$A$};
  \draw[line width=0.10mm, decorate, decoration={snake, amplitude=0.3mm, segment length=4mm}] (8.52,2.35) -- (9.98,2.35);
  \draw[line width=0.55mm, -{Latex[length=4.0mm,width=1.5mm]}] (9.98,2.35) -- (10.42,2.35);

  % ellipsis
  \fill (11.14,2.40) circle (0.028);
  \fill (11.40,2.40) circle (0.028);
  \fill (11.66,2.40) circle (0.028);

  % fourth arrow and label A
  \node[text=red!85!black, font=\fontsize{12}{12}\selectfont] at (13.75,2.82) {$A$};
  \draw[line width=0.10mm, decorate, decoration={snake, amplitude=0.3mm, segment length=4mm}] (13.00,2.35) -- (14.52,2.35);
  \draw[line width=0.55mm, -{Latex[length=4.0mm,width=1.5mm]}] (14.52,2.35) -- (14.96,2.35);

  % terminal state
  \draw[line width=0.45mm] (15.55,3.9) circle (0.58);
  \draw[line width=0.45mm] (15.55,2.45) circle (0.58);
  \draw[line width=0.45mm] (15.55,0.95) circle (0.58);

    \node[font=\bfseries\small, text=red!85!black] at (15.55,0.08) {A wins!};
\end{tikzpicture}
\end{figure}
% \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}

\begin{figure}
\centering
\begin{tikzpicture}[x=0.8cm,y=0.8cm, line cap=round, line join=round, >=Latex]

  % dotted grid
  \foreach \x in {0.2,0.7,...,16.0}{
    \foreach \y in {0.2,0.7,...,4.8}{
      \fill[gray!35] (\x,\y) circle (0.012);
    }
  }

  % left state
  \draw[line width=0.45mm] (1.0,3.9) circle (0.58);
  \fill (1.0,3.9) circle (0.09);

  \draw[line width=0.45mm] (1.0,2.45) circle (0.58);
  \fill (1.0,2.60) circle (0.09);
  \fill (0.72,2.25) circle (0.09);
  \fill (1.28,2.15) circle (0.09);

  \draw[line width=0.45mm] (1.0,0.95) circle (0.58);
  \fill (1.04,1.23) circle (0.09);
  \fill (0.66,0.95) circle (0.09);
  \fill (1.32,0.84) circle (0.09);
  \fill (1.02,0.57) circle (0.09);

  % first arrow and label A
  \node[text=red!85!black, font=\fontsize{12}{12}\selectfont] at (2.90,2.82) {$A$};
  \draw[line width=0.10mm, decorate, decoration={snake, amplitude=0.3mm, segment length=4mm}] (1.72,2.35) -- (3.38,2.35);
  \draw[line width=0.55mm, -{Latex[length=4.0mm,width=1.5mm]}] (3.38,2.35) -- (3.82,2.35);

  % second state
  \draw[line width=0.45mm] (4.45,3.9) circle (0.58);
  \fill (4.45,3.88) circle (0.09);

  \draw[line width=0.45mm] (4.45,2.45) circle (0.58);
  \fill (4.48,2.58) circle (0.09);
  \fill (4.20,2.24) circle (0.09);
  \fill (4.74,2.14) circle (0.09);

  \draw[line width=0.45mm] (4.45,0.95) circle (0.58);
  \fill (4.52,1.20) circle (0.09);
  \fill (4.16,0.92) circle (0.09);

  % second arrow and label B
  \node[text=blue!75!black, font=\fontsize{12}{12}\selectfont] at (6.20,2.84) {$B$};
  \draw[line width=0.10mm, decorate, decoration={snake, amplitude=0.3mm, segment length=4mm}] (5.17,2.35) -- (6.72,2.35);
  \draw[line width=0.55mm, -{Latex[length=4.0mm,width=1.5mm]}] (6.72,2.35) -- (7.16,2.35);

  % third state
  \draw[line width=0.45mm] (7.80,3.9) circle (0.58);
  \fill (7.80,3.88) circle (0.09);

  \draw[line width=0.45mm] (7.80,2.45) circle (0.58);
  \fill (7.55,2.24) circle (0.09);

  \draw[line width=0.45mm] (7.80,0.95) circle (0.58);
  \fill (7.88,1.20) circle (0.09);
  \fill (7.52,0.92) circle (0.09);

  % third arrow and label A
  \node[text=red!85!black, font=\fontsize{12}{12}\selectfont] at (9.45,2.82) {$A$};
  \draw[line width=0.10mm, decorate, decoration={snake, amplitude=0.3mm, segment length=4mm}] (8.52,2.35) -- (9.98,2.35);
  \draw[line width=0.55mm, -{Latex[length=4.0mm,width=1.5mm]}] (9.98,2.35) -- (10.42,2.35);

  % ellipsis
  \fill (11.14,2.40) circle (0.028);
  \fill (11.40,2.40) circle (0.028);
  \fill (11.66,2.40) circle (0.028);

  % fourth arrow and label A
  \node[text=red!85!black, font=\fontsize{12}{12}\selectfont] at (13.75,2.82) {$A$};
  \draw[line width=0.10mm, decorate, decoration={snake, amplitude=0.3mm, segment length=4mm}] (13.00,2.35) -- (14.52,2.35);
  \draw[line width=0.55mm, -{Latex[length=4.0mm,width=1.5mm]}] (14.52,2.35) -- (14.96,2.35);

  % terminal state
  \draw[line width=0.45mm] (15.55,3.9) circle (0.58);
  \draw[line width=0.45mm] (15.55,2.45) circle (0.58);
  \draw[line width=0.45mm] (15.55,0.95) circle (0.58);
  \node[font=\bfseries\small, text=blue!75!black]   at (1.00,0.08) {losing};
  \node[font=\bfseries\small, text=red!85!black] at (4.45,0.08) {winning};
  \node[font=\bfseries\small, text=blue!75!black]   at (7.80,0.08) {losing};
  \node[font=\bfseries\small, text=red!85!black] at (15.55,0.08) {A wins!};
\end{tikzpicture}
\end{figure}

\end{frame}



% \section{Category of \dcol{games}}
\subsection{\texorpdfstring{Impartial \dcol{Games}}{Impartial Games}}
\begin{frame}{Definition of \dcol{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-\dcol{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 \dcol{game} $\Nim{n} = (\N^{n},\relob)$ is 
        % a \dcol{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 \dcol{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 \dcol{games}, $\X= (X,\relob_X)$ and $ \Y =(Y,\relob_Y)$, is the \dcol{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 \dcol{\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 \dcol{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 \dcol{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 \dcol{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[\dcol{Coalgebras} $\leftrightarrow$ \icol{Algebras}]{\texorpdfstring{\dcol{Coalgebra} vs \icol{Algebra}}{Coalgebra vs Algebra}: recursive \texorpdfstring{$\Pf$}{Pfin}-\texorpdfstring{\dcol{coalgebras}}{coalgebras}}
\subsection{Preliminaries: \texorpdfstring{\dcol{Coalgebra}}{Coalgebra} and recursion}
\begin{frame}{\dcol{Coalgebras} and \icol{Algebras} 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$-\dcol{coalgebra} is a pair $(X,\theta)$ of an object $X$ of $\C$ and a morphism $\theta\colon X \rel TX$.
        \item A $T$-\icol{algebra} is a pair $(A,\alpha)$ of an object $A$ of $\C$ and a morphism $\alpha\colon TA \mathrel{\icol{\to}} A$.
        
    \end{itemize}
\end{definition}
\begin{example}
    Today, we 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}{\dcol{Coalgebra}-\icol{Algebra} morphism and Recursive \dcol{coalgebra}}
\begin{definition}[{Coalgebra}-{algebra} morphism]
    % For a category $\C$ and an endofunctor $T$,
    A \emph{\dcol{coalgebra}-\icol{algebra}} morphism from a $T$-\dcol{coalgebra} $(X,\theta)$ to a $T$-\icol{algebra} $(A, \alpha)$ is a morphism $f\colon X \to A$ such that the following diagram commutes.
    \[
    \begin{tikzcd}[ampersand replacement=\&]
        \dcol{X} \ar[r,"f"]\ar[d,"\dcol{\theta}", dcol]\&\icol{A}\\
        \dcol{TX} \ar[r,"Tf"]\&\icol{TA}\ar[u,"\alpha"', icol]
    \end{tikzcd}
    \]
\end{definition}
\begin{definition}[Recursive coalgebra]
    A $T$-\dcol{coalgebra} $(X,\theta)$ is \emph{recursive} if for any $T$-\icol{algebra} $(A,\alpha)$, there uniquely exists a \dcol{coalgebra}-\icol{algebra} morphism $(X,\theta)\to (A, \alpha)$.
\end{definition}
\end{frame}

\subsection{\texorpdfstring{\dcol{Games} as recursive \dcol{coalgebras}}{Games as recursive coalgebras}}
\begin{frame}{\dcol{Games} = Recursive $\Pf$-\dcol{coalgebras}}
\begin{definition}[{Games} as Recursive coalgebras]
    The category of \dcol{games} $\Gs$ is defined to be the category of recursive $\Pf$-\dcol{coalgebras}.
\end{definition}

\[
\begin{tikzcd}[ampersand replacement = \&]
% [column sep=50pt, row sep=30pt]
\dcol{X} \ar[r,"\Gfunc{\X}"] \ar[d,"\str"', color=dcol]
\& \icol{\N}\\
\dcol{\Pf(X)} \ar[r,"\Pf(\Gfunc{\X})"'] \& \icol{\Pf(\N)} \ar[u,"\icol{\mex}"', color=icol]
\end{tikzcd}
\]
    (cf. \cite{bavsic2024categories})
\end{frame}

\begin{frame}{Digression: Categorical structure of \dcol{games}}
The category of \dcol{games} $\Gs$ has good categorical properties, including:
\begin{proposition}[$\Gs$ is LFP.]
\begin{itemize}
    \item The category of \dcol{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 \dcol{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]
    In [\cite{hora2025games}], I have given a way to calculate "\dcol{game} \icol{value}" induced by a $\Pf$-\icol{algebra} and a monoidal structure on $\Gs$ (which makes the forgetful functor lax monoidal). 
\end{proposition}
\end{frame}


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

\begin{block}{Differential operator}
For a pointed \dcol{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}{\dcol{Leibniz rule} for Box product}
$\Gsp$ has
\begin{itemize}
    \item \text{addition }\sqcup = \text{disjoint union of families and}
    \item \text{multiplication }\otimes = \text{gamewise box product}.
\end{itemize}

\begin{proposition}[$\Gsp$ forms a {differential} $2$-rig!]
    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{proposition}

\vspace{0em}
\begin{center}
\begin{tikzpicture}[>=Latex, thick, scale=0.7]
  \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[->, color=dcol] (xy) -- (dx) node[midway, left] {move in $X$};
  \draw[->, color=dcol] (xy) -- (dy) node[midway,right] {move in $Y$};
\end{tikzpicture}
\end{center}

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

\subsection{Invariants in \texorpdfstring{\icol{Rota-Baxter}}{Rota-Baxter} rig}
\begin{frame}{\dcol{Differential} rigs and \icol{Intrgral} rigs}
\begin{definition}[Integral rig]
    An \textbf{\icol{integral} rig} is a rig equipped with a unary operator $\Int$ with (or \icol{Rota--Baxter} rig of weight $0$).
\[
1 = \Int 0,
\qquad
\left(\Int f\right)\left(\Int g\right)= \Int\left(\left(\Int f\right)g + f\left(\Int g\right)\right).
\]
\end{definition}
\end{frame}

\begin{frame}{\dcol{Differential} rigs and \icol{Intrgral} rigs}
A \textbf{\dcol{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{\icol{integral} rig} {\tiny (or \icol{Rota--Baxter} rig of weight $0$)} has an operator $\Int$ with
\[
1 = \Int 0,
\qquad
\left(\Int f\right)\left(\Int g\right)= \Int\left(\left(\Int f\right)g + f\left(\Int g\right)\right).
\]

\vspace{0.5em}
A \textbf{\dcol{calc}\icol{ulus} rig} has both $\dd$ and $\Int$ above, satisfying the fundamental theorem
\[
\dd\Int f = f.
\]
\end{frame}

\begin{frame}{\icol{Integral} rig valued invariants of \dcol{games}}
Let $A$ be an \icol{integral} rig. For a pointed \dcol{game} $(X,x)$, we recursively define $F_{(X,x)} \in A$ by
\[
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{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{theorem}
\memo{Separate differentiation}
% \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: \dcol{game} families themselves}
The set of all finite families of pointed finite games admits a \dcol{calc}\icol{ulus}-rig-like structure:
\begin{center}
\renewcommand{\arraystretch}{1.25}
\begin{tabular}{c|c}
\textbf{analysis} & \textbf{\dcol{game} families} \\
\hline
$0$ & empty family \\
$1$ & the singleton of the one-state game \\
$+$ & Next player choose a game \\
$\times$ & box product \\
$\dd$ & take all immediate options \\
$\Int$ & Previous player choose a game
% adjoin a new root / braces $A\mapsto \{A\}$
\end{tabular}
\end{center}


\end{frame}

\begin{frame}{Nim-sum and $\mex$ form an \icol{integral} 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 \icol{integral} operator by
\[
\Int(S)\coloneqq \{\mex(S)\}.
\]

\vspace{0.5em}
\begin{theorem}[$\mathrm{mex}$ as {integration}]
    This makes $\Pf(\N)$ into an \icol{integral} rig.
\end{theorem}
In the rig $\Pf(\N)$,
% \[
the \icol{Rota-Baxter} equation is:
\[
\mex(S)\nimsum\mex(T)
=\mex\bigl((\mex(S)\nimsum T)\cup (S\nimsum \mex(T))\bigr).
\]
% So the classical \emph{mex + xor} mechanism of impartial \dcol{game} theory is an instance of a general algebraic pattern.

\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 \dcol{games}.
% \end{block}
% \end{frame}

\begin{frame}{Summary}
\begin{enumerate}
  \item {\dcol{Games} are recursive \dcol{coalgebras}.}
  Grundy numbers are the unique \dcol{colagebra}-\icol{algebra} morphism.

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

  \item \textbf{Nim-sum satisfies the \icol{Rota--Baxter} equation.}
  The classical identity for $\mex$ is a \icol{twis}\dcol{ted} reflection image of that \dcol{Leibniz rule}.

  \item The classical winning strategy of Nim follows from those \dcol{calc}\icol{ulus} structures.
\end{enumerate}

\vspace{0.8em}
\begin{alertblock}{Questions}
Connections with \dcol{differential} categories or species? 
\end{alertblock}
\end{frame}

\begin{frame}[shrink]{References}
\renewcommand*{\bibfont}{\tiny}
\printbibliography[heading=none]
\end{frame}

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

\begin{frame}{Free Rota-Baxter ring consists of trees!}
    
\end{frame}

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

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



\end{frame}

\begin{frame}{Universality of games}



\end{frame}

\begin{frame}{Outcome: Winning/Losing state}
\begin{columns}
    \begin{column}{0.75 \textwidth}
    \begin{definition}[Outcome]
    For a \dcol{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 \dcol{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}