← venn-to-topos
regacy__venn_to_topos_2026_draft.tex
\documentclass[dvipdfmx,14pt,notheorems,aspectratio=169]{beamer}
\usepackage{array,booktabs}
\usepackage{amsmath,amssymb,mathtools,amsthm}
\usepackage{mathrsfs}
\usepackage{tikz}
\usetikzlibrary{positioning,arrows.meta,calc,shapes.geometric,fit,backgrounds}
\usepackage[utf8]{inputenc}
\usepackage{bxdpx-beamer}
\usepackage{pxjahyper}
\usetheme{Darmstadt}
\usecolortheme{seahorse}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{items}[default]
\usefonttheme{professionalfonts}
\definecolor{toposblue}{RGB}{0,72,165}
\definecolor{toposorange}{RGB}{236,120,0}
\definecolor{toposgreen}{RGB}{0,130,90}
\definecolor{toposred}{RGB}{190,45,45}
\definecolor{lightblue}{RGB}{225,238,255}
\definecolor{lightorange}{RGB}{255,240,220}
\definecolor{lightgreen}{RGB}{225,248,238}
\definecolor{lightred}{RGB}{255,229,229}
\definecolor{slate}{RGB}{50,60,70}
\setbeamercolor{title}{fg=toposblue}
\setbeamercolor{frametitle}{fg=toposblue}
\setbeamercolor{block title}{bg=toposblue!15,fg=toposblue}
\setbeamercolor{block body}{bg=toposblue!5,fg=black}
\setbeamercolor{alerted text}{fg=toposred}
\newcommand{\key}[1]{\textcolor{toposblue}{\textbf{#1}}}
\newcommand{\shock}[1]{\textcolor{toposred}{\textbf{#1}}}
\newcommand{\geom}[1]{\textcolor{toposgreen}{\textbf{#1}}}
\newcommand{\mathside}[1]{{\small\color{toposblue}数学科用: #1}}
\newcommand{\Set}{\mathbf{Set}}
\newcommand{\Topos}{\mathcal{E}}
\newcommand{\Sub}{\mathrm{Sub}}
\newcommand{\Clop}{\mathrm{Clop}}
\newcommand{\Stone}{\mathrm{Stone}}
\newcommand{\Hom}{\mathrm{Hom}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\true}{\mathsf{true}}
\newcommand{\false}{\mathsf{false}}
\newcommand{\vocab}[1]{\textbf{\textcolor{toposorange}{#1}}}
\newcommand{\sem}[1]{[\![#1]\!]}
\AtBeginEnvironment{frame}{\small}
\tikzset{
>={Latex[width=2.6mm,length=2.6mm]},
dot/.style={circle,fill=toposblue,inner sep=2.6pt},
world/.style={circle,draw=toposblue,fill=lightblue,minimum size=8mm,thick},
idea/.style={rounded corners,draw=toposblue,fill=lightblue,thick,inner sep=6pt},
smallidea/.style={rounded corners,draw=toposgreen,fill=lightgreen,thick,inner sep=4pt},
warn/.style={rounded corners,draw=toposred,fill=lightred,thick,inner sep=4pt},
orangebox/.style={rounded corners,draw=toposorange,fill=lightorange,thick,inner sep=5pt}
}
\title[ベン図からトポスへ]{ベン図からトポスへ}
\subtitle{丸で始まる,理論の空間への旅}
\author{洞龍弥}
\institute[]{数理空間トポス 新歓 2026}
\date[2026年5月23日]{2026年5月23日}
\begin{document}
% 1
\begin{frame}[plain]
\titlepage
\vspace{-14pt}
\begin{center}
{\large $\text{命題}\;\leadsto\;\text{空間}\;\leadsto\;\text{トポス}$}
\end{center}
\end{frame}
\section{導入}
% 2
\begin{frame}{オイラーの手紙: 論理は目に見える}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.58\textwidth}
\begin{block}{1761年,オイラー}
丸い図形,いやむしろ\key{空間}は,\key{論理学}の神秘を目に見えるものにする.
\end{block}
\vspace{4pt}
今日の出発点:
\[
\boxed{\text{命題は空間の中の領域である}}
\]
\end{column}
\begin{column}{0.38\textwidth}
\centering
\begin{tikzpicture}[scale=0.9]
\fill[lightblue] (-1,0) circle (1.2);
\fill[lightorange,opacity=.85] (1,0) circle (1.2);
\draw[thick,toposblue] (-1,0) circle (1.2);
\draw[thick,toposorange] (1,0) circle (1.2);
\node at (-1,0) {$P$};
\node at (1,0) {$Q$};
\node[below] at (0,-1.55) {丸,または空間};
\end{tikzpicture}
\end{column}
\end{columns}
\end{frame}
% 3
\begin{frame}{今日の衝撃: 完全性定理も幾何である}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.49\textwidth}
\begin{block}{論理の言葉}
すべてのモデルで正しいなら,証明できる.
\[
T\models \sigma \quad\Rightarrow\quad T\vdash \sigma
\]
\end{block}
\end{column}
\begin{column}{0.49\textwidth}
\begin{block}{空間の言葉}
coherent topos には\shock{十分たくさん点がある}.
\[
\text{点で見る} \Rightarrow \text{全体が見える}
\]
\end{block}
\end{column}
\end{columns}
\vspace{6pt}
\centering
\begin{tikzpicture}[node distance=1.2cm]
\node[idea] (logic) {証明・モデル};
\node[idea,right=of logic] (space) {点・開集合};
\node[idea,right=of space] (topos) {トポス};
\draw[->,thick,toposblue] (logic) -- (space);
\draw[->,thick,toposblue] (space) -- (topos);
\end{tikzpicture}
\end{frame}
% 4
\begin{frame}{今日の地図}
\centering
\begin{tikzpicture}[node distance=.65cm,scale=.88,transform shape]
\node[idea,minimum width=2.15cm] (venn) {ベン図};
\node[idea,minimum width=2.45cm,right=of venn] (ba) {ブール代数};
\node[idea,minimum width=2.45cm,right=of ba] (stone) {Stone空間};
\node[idea,minimum width=2.15cm,right=of stone] (topos) {Topos};
\draw[->,very thick,toposorange] (venn) -- (ba);
\draw[->,very thick,toposorange] (ba) -- (stone);
\draw[->,very thick,toposorange] (stone) -- (topos);
\node[below=0.55cm of venn] {命題は領域};
\node[below=0.55cm of ba] {計算規則};
\node[below=0.55cm of stone] {論理の空間};
\node[below=0.55cm of topos] {理論の空間};
\end{tikzpicture}
\vspace{4pt}
\begin{block}{目標}
\centering
\large \key{ベン図の丸}が,\shock{トポスの入口}だったと感じる.
\end{block}
\end{frame}
\section{ベン図}
% 5
\begin{frame}{命題は空間を区切る}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.48\textwidth}
\begin{block}{例}
整数 $n$ について
\[
P(n): n\text{ は }3\text{の倍数}
\]
これは整数全体 $\Z$ の中の\key{領域}を決める.
\end{block}
\[
\sem{P} \subseteq \Z
\]
\end{column}
\begin{column}{0.48\textwidth}
\centering
\begin{tikzpicture}[scale=0.75]
\coordinate (A) at (-1.25,0);
\coordinate (B) at (1.25,0);
\fill[gray!12] (-3.5,-2.1) rectangle (3.5,2.1);
\fill[lightblue] (A) circle (1.45);
\fill[lightorange,opacity=.85] (B) circle (1.45);
\draw[thick] (-3.5,-2.1) rectangle (3.5,2.1);
\draw[thick,toposblue] (A) circle (1.45);
\draw[thick,toposorange] (B) circle (1.45);
\node[above] at (0,2.15) {$\Z$};
\node at (-1.65,.95) {$3$の倍数};
\node at (1.65,.95) {$5$の倍数};
\node at (0,0) {$15$の倍数};
\end{tikzpicture}
\end{column}
\end{columns}
\end{frame}
% 6
\begin{frame}{論理演算は塗り絵である}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.47\textwidth}
\begin{block}{辞書}
\centering
\begin{tabular}{c|c}
論理 & 図形 \\
\hline
$P\land Q$ & $P\cap Q$ \\
$P\lor Q$ & $P\cup Q$ \\
$\neg P$ & 補集合 \\
$\top,\bot$ & 全体,空集合
\end{tabular}
\end{block}
\end{column}
\begin{column}{0.48\textwidth}
\centering
\begin{tikzpicture}[scale=0.85]
\fill[gray!10] (-3,-1.7) rectangle (3,1.7);
\begin{scope}
\clip (-.75,0) circle (1.15);
\fill[toposgreen!45] (.75,0) circle (1.15);
\end{scope}
\draw[thick,toposblue] (-.75,0) circle (1.15) node[left=.9cm] {$P$};
\draw[thick,toposorange] (.75,0) circle (1.15) node[right=.9cm] {$Q$};
\draw[thick] (-3,-1.7) rectangle (3,1.7);
\node[below] at (0,-1.95) {$P\land Q$ は重なり};
\end{tikzpicture}
\end{column}
\end{columns}
\vspace{4pt}
\centering
\Large \geom{推論}が,\geom{領域の計算}になる.
\end{frame}
% 7
\begin{frame}{パズル1: 「ならば」はどこを禁止する?}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.46\textwidth}
\begin{block}{問題}
$P\Rightarrow Q$ は,ベン図では何を意味する?
\end{block}
\vspace{4pt}
答えは
\[
\textcolor{toposred}{P\cap \neg Q=\varnothing},\qquad P\subseteq Q.
\]
\end{column}
\begin{column}{0.50\textwidth}
\centering
\begin{tikzpicture}[scale=0.95]
\fill[gray!10] (-3,-1.8) rectangle (3,1.8);
\coordinate (P) at (-.9,0);
\coordinate (Q) at (.55,0);
\begin{scope}
\clip (P) circle (1.15);
\fill[lightred] (-3,-2) rectangle (3,2);
\fill[white] (Q) circle (1.45);
\end{scope}
\fill[lightblue,opacity=.45] (Q) circle (1.45);
\draw[thick,toposblue] (P) circle (1.15);
\draw[thick,toposorange] (Q) circle (1.45);
\draw[thick] (-3,-1.8) rectangle (3,1.8);
\node at (-1.65,.9) {$P$};
\node at (1.15,.95) {$Q$};
\node[warn] at (-1.25,-1.25) {禁止領域};
\end{tikzpicture}
\end{column}
\end{columns}
\end{frame}
% 8
\begin{frame}{パズル2: 三段論法は入れ子である}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.43\textwidth}
\begin{block}{条件}
\[
P\Rightarrow Q,\qquad Q\Rightarrow R
\]
\end{block}
\begin{block}{結論}
\[
P\Rightarrow R
\]
\end{block}
\end{column}
\begin{column}{0.53\textwidth}
\centering
\begin{tikzpicture}[scale=0.9]
\fill[lightgreen] (0,0) circle (1.9);
\fill[lightorange] (0,0) circle (1.25);
\fill[lightblue] (0,0) circle (.65);
\draw[very thick,toposgreen] (0,0) circle (1.9);
\draw[very thick,toposorange] (0,0) circle (1.25);
\draw[very thick,toposblue] (0,0) circle (.65);
\node at (0,0) {$P$};
\node at (0,1.05) {$Q$};
\node at (0,1.68) {$R$};
\node[below] at (0,-2.25) {$P\subseteq Q\subseteq R$};
\end{tikzpicture}
\end{column}
\end{columns}
\centering
\Large 論理の推論が,\key{包含関係}に変わった.
\end{frame}
% 9
\begin{frame}{パズル3: ド・モルガンの法則}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.45\textwidth}
\begin{block}{問い}
重なりでない場所はどこ?
\[
\neg(P\land Q)= ?
\]
\end{block}
\vspace{8pt}
塗ってみると
\[
\neg(P\land Q)=\neg P\lor \neg Q.
\]
\end{column}
\begin{column}{0.52\textwidth}
\centering
\begin{tikzpicture}[scale=0.78]
\fill[lightred] (-3.4,-2) rectangle (3.4,2);
\begin{scope}
\clip (-.85,0) circle (1.25);
\fill[white] (.85,0) circle (1.25);
\end{scope}
\draw[thick] (-3.4,-2) rectangle (3.4,2);
\draw[very thick,toposblue] (-.85,0) circle (1.25);
\draw[very thick,toposorange] (.85,0) circle (1.25);
\node at (-1.55,1.08) {$P$};
\node at (1.55,1.08) {$Q$};
\node[orangebox] at (0,-1.35) {白いところだけが $P\land Q$};
\end{tikzpicture}
\end{column}
\end{columns}
\end{frame}
% 10
\begin{frame}{ベン図から抽象化へ}
\centering
\begin{tikzpicture}[node distance=1.1cm]
\node[idea,minimum width=3.2cm] (shape) {丸や四角};
\node[idea,minimum width=3.2cm,right=of shape] (calc) {$\cap,\ \cup,\ \complement$};
\node[idea,minimum width=3.2cm,right=of calc] (alg) {ブール代数};
\draw[->,very thick,toposorange] (shape) -- node[above]{形を忘れる} (calc);
\draw[->,very thick,toposorange] (calc) -- node[above]{規則を残す} (alg);
\end{tikzpicture}
\vspace{16pt}
\begin{block}{ここまでの結論}
\centering
\Large 論理は,\key{領域の代数}として扱える.
\end{block}
\vspace{4pt}
\mathside{Boolean algebra は「ベン図でできる計算」の抽象化.}
\end{frame}
\section{Stone双対}
% 11
\begin{frame}{ブール代数: 論理を代数にする}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.48\textwidth}
\begin{block}{命題の演算}
\[
\land,\quad \lor,\quad \neg,\quad \top,\quad \bot
\]
これらの計算規則だけを取り出す.
\end{block}
\end{column}
\begin{column}{0.48\textwidth}
\begin{block}{例}
ある集合 $X$ の部分集合全体
\[
\mathcal{P}(X)
\]
はブール代数.
\end{block}
\end{column}
\end{columns}
\vspace{8pt}
\centering
\begin{tikzpicture}
\node[orangebox] {\Large ベン図の「計算」だけを,紙から切り離す};
\end{tikzpicture}
\end{frame}
% 12
\begin{frame}{可能世界の空間}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.43\textwidth}
命題変数 $p,q$ を考える.
\vspace{4pt}
それぞれ true/false なので,可能世界は4つ.
\[
00,\ 01,\ 10,\ 11
\]
\end{column}
\begin{column}{0.54\textwidth}
\centering
\begin{tikzpicture}[scale=1]
\draw[->,thick] (-.6,-.6) -- (3.2,-.6) node[right] {$p$};
\draw[->,thick] (-.6,-.6) -- (-.6,2.6) node[above] {$q$};
\node[world] at (0,0) {$00$};
\node[world] at (2,0) {$10$};
\node[world] at (0,2) {$01$};
\node[world] at (2,2) {$11$};
\draw[dashed,gray] (0,0) -- (2,0) -- (2,2) -- (0,2) -- cycle;
\end{tikzpicture}
\end{column}
\end{columns}
\vspace{6pt}
\centering
\Large \key{点}とは,命題たちへの真偽値割り当てである.
\end{frame}
% 13
\begin{frame}{命題は,可能世界の集合である}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.43\textwidth}
式
\[
\varphi=p\land \neg q
\]
は,それを真にする世界の集合を決める.
\[
\widehat{\varphi}=\{v\mid v(\varphi)=1\}
\]
\end{column}
\begin{column}{0.54\textwidth}
\centering
\begin{tikzpicture}[scale=1]
\node[world,fill=gray!10] at (0,0) {$00$};
\node[world,fill=lightred,draw=toposred,very thick] at (2,0) {$10$};
\node[world,fill=gray!10] at (0,2) {$01$};
\node[world,fill=gray!10] at (2,2) {$11$};
\draw[dashed,gray] (0,0) -- (2,0) -- (2,2) -- (0,2) -- cycle;
\node[warn] at (2,-1.0) {$p\land\neg q$ が真};
\end{tikzpicture}
\end{column}
\end{columns}
\vspace{4pt}
\centering
\Large ベン図の領域は,\geom{可能世界の集合}だった.
\end{frame}
% 14
\begin{frame}{Stone双対: 論理から空間を復元する}
\centering
\begin{block}{Stone双対定理}
\centering
\Large
\[
B \cong \Clop(\Stone(B))
\]
\end{block}
\vspace{4pt}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.48\textwidth}
\begin{block}{左辺}
抽象的なブール代数 $B$.\par
つまり,命題の計算規則.
\end{block}
\end{column}
\begin{column}{0.48\textwidth}
\begin{block}{右辺}
ある空間の clopen 領域.\par
つまり,開かつ閉じたベン図.
\end{block}
\end{column}
\end{columns}
\end{frame}
% 15
\begin{frame}{Stone空間の点とは何か}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.51\textwidth}
ブール代数 $B$ の Stone 空間は
\[
\Stone(B)=\Hom_{\mathrm{BA}}(B,2).
\]
点は,すべての命題に矛盾なく true/false を入れる方法.
\end{column}
\begin{column}{0.45\textwidth}
\centering
\begin{tikzpicture}[node distance=.6cm,scale=.88,transform shape]
\node[idea] (B) {$B$};
\node[idea,right=.9cm of B] (two) {$2=\{0,1\}$};
\draw[->,very thick,toposblue] (B) -- node[above] {評価} (two);
\node[world,below=.9cm of B] (x) {$x$};
\node[below=.2cm of x] {点 $=$ 評価};
\end{tikzpicture}
\end{column}
\end{columns}
\vspace{6pt}
\centering
\begin{tikzpicture}
\node[orangebox] {式が,領域に変わる.};
\end{tikzpicture}
\end{frame}
% 16
\begin{frame}{コンパクト性: 完全性定理の影}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.49\textwidth}
理論 $\Gamma$ のモデル全体は
\[
\bigcap_{\varphi\in\Gamma}\widehat{\varphi}
\]
という閉集合の交わり.
\vspace{4pt}
有限個ずつ解けるなら,コンパクト性により全部解ける.
\end{column}
\begin{column}{0.48\textwidth}
\centering
\begin{tikzpicture}[scale=.88]
\fill[lightblue] (0,0) circle (1.8);
\fill[lightorange,opacity=.75] (.8,.15) circle (1.55);
\fill[lightgreen,opacity=.75] (.25,.85) circle (1.35);
\draw[thick,toposblue] (0,0) circle (1.8);
\draw[thick,toposorange] (.8,.15) circle (1.55);
\draw[thick,toposgreen] (.25,.85) circle (1.35);
\node[dot,toposred] at (.45,.45) {};
\node[warn] at (2.0,-1.8) {点が残る};
\end{tikzpicture}
\end{column}
\end{columns}
\vspace{4pt}
\centering
\Large \shock{論理の定理}が,\geom{空間の性質}になる.
\end{frame}
\section{Topos}
% 17
\begin{frame}{Stone空間だけでは足りない}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.50\textwidth}
Stone 双対の命題は clopen.\par
つまり白黒はっきりしている.
\vspace{8pt}
でも普通の空間には\shock{境界}がある.
\[
U=(0,\infty)\subseteq \R
\]
開集合の世界では
\[
U\lor \neg U=\R\setminus\{0\}\neq\R.
\]
\end{column}
\begin{column}{0.46\textwidth}
\centering
\begin{tikzpicture}[scale=.88]
\draw[->,thick] (-3,0) -- (3,0) node[right] {$\R$};
\draw[very thick,toposblue] (.15,0) -- (2.8,0);
\draw[very thick,toposorange] (-2.8,0) -- (-.15,0);
\fill[white,draw=toposred,very thick] (0,0) circle (3pt);
\node[above,toposblue] at (1.5,.15) {$U$};
\node[above,toposorange] at (-1.5,.15) {$\neg U$};
\node[warn] at (0,-1.1) {$0$ はどちらでもない};
\end{tikzpicture}
\end{column}
\end{columns}
\end{frame}
% 18
\begin{frame}{Topos: ベン図ができる宇宙}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.49\textwidth}
集合の世界では
\[
\Sub_{\Set}(X)\cong \Set(X,2).
\]
部分集合は,特徴関数で表せる.
\end{column}
\begin{column}{0.49\textwidth}
トポス $\Topos$ では
\[
\Sub_{\Topos}(X)\cong \Topos(X,\Omega).
\]
$\Omega$ は真理値の対象.
\end{column}
\end{columns}
\vspace{4pt}
\centering
\begin{tikzpicture}[node distance=.9cm,scale=.94,transform shape]
\node[idea] (sub) {部分対象};
\node[idea,right=of sub] (pred) {述語};
\node[idea,right=of pred] (truth) {真理値 $\Omega$};
\draw[<->,very thick,toposorange] (sub) -- (pred);
\draw[->,very thick,toposorange] (pred) -- (truth);
\end{tikzpicture}
\vspace{3pt}
\begin{tikzpicture}
\node[orangebox] {\large Topos は,\key{ベン図ができる一般化された宇宙}.};
\end{tikzpicture}
\end{frame}
% 19
\begin{frame}{理論が空間になる}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.46\textwidth}
coherent theory $T$ から,classifying topos
\[
\mathcal{E}_T
\]
が作られる.
\vspace{4pt}
その\key{点}は,$T$ の集合値モデル.
\end{column}
\begin{column}{0.50\textwidth}
\centering
\begin{tikzpicture}[node distance=.7cm]
\node[idea,minimum width=3cm,minimum height=1.2cm] (ET) {$\mathcal{E}_T$};
\node[world,below left=.9cm and .35cm of ET] (m1) {$M_1$};
\node[world,below=.9cm of ET] (m2) {$M_2$};
\node[world,below right=.9cm and .35cm of ET] (m3) {$M_3$};
\draw[->,thick,toposblue] (m1) -- (ET);
\draw[->,thick,toposblue] (m2) -- (ET);
\draw[->,thick,toposblue] (m3) -- (ET);
\node[below=.05cm of m2] {モデルたち};
\end{tikzpicture}
\end{column}
\end{columns}
\vspace{2pt}
\centering
\begin{tikzpicture}
\node[orangebox] {coherent topos に点が十分ある $\Rightarrow$ 完全性定理.};
\end{tikzpicture}
\end{frame}
% 20
\begin{frame}{おまけ: 量化子も幾何である}
\begin{columns}[T,onlytextwidth]
\begin{column}{0.48\textwidth}
射影
\[
\pi:X\times Y\to X
\]
に沿って,述語を押し出す.
\[
\exists y\,R(x,y)
\]
は「影」として見える.
\vspace{2pt}
\mathside{$\exists_\pi\dashv \pi^\ast\dashv \forall_\pi$}
\end{column}
\begin{column}{0.48\textwidth}
\centering
\begin{tikzpicture}[scale=.82]
\draw[->,thick] (-2.4,-1.5) -- (2.4,-1.5) node[right] {$X$};
\draw[->,thick] (-2.2,-1.7) -- (-2.2,1.8) node[above] {$Y$};
\fill[lightblue] (-.3,.25) ellipse (1.35 and .75);
\draw[very thick,toposblue] (-.3,.25) ellipse (1.35 and .75);
\draw[dashed,toposred,very thick] (-1.65,-1.5) -- (1.05,-1.5);
\draw[dashed,toposred] (-1.65,-1.5) -- (-1.65,.1);
\draw[dashed,toposred] (1.05,-1.5) -- (1.05,.1);
\node[warn] at (-.3,-2.2) {影 $=\exists$};
\end{tikzpicture}
\end{column}
\end{columns}
\vspace{0pt}
\centering
\begin{tikzpicture}
\node[orangebox] {\shock{ベン図の丸}は,\key{トポスの入口}だった.};
\end{tikzpicture}
\end{frame}
\end{document}