\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}