\documentclass[dvipdfmx,a4paper,papersize]{jsarticle} %\pagestyle{empty} \usepackage{amsthm} \usepackage{amsmath,amssymb} \usepackage{mathrsfs} \usepackage{graphics} \usepackage{graphicx} \graphicspath{ {./images/} } \usepackage{array,booktabs,float} \usepackage{tikz} \usetikzlibrary{positioning} \usepackage{tikz-cd} \usepackage{url} \usepackage{mathtools} \usepackage{color} %\usepackage{luatexja-fontspec} %\setmainjfont{MS Mincho} \usepackage[utf8]{inputenc} \usepackage{newunicodechar} \DeclarePairedDelimiter\floor{\lfloor}{\rfloor} \DeclarePairedDelimiter\ceil{\lceil}{\rceil} %\usepackage[dvipdfmx]{hyperref} \renewcommand{\abstractname}{} \theoremstyle{definition} \newtheorem{unsolved}{未解決問題} \newtheorem*{unsolved*}{未解決問題} \newtheorem{definition}{Definition}[section] \newtheorem*{definition*}{Definition} \newtheorem{theorem}[definition]{Theorem} \newtheorem{exercise}[definition]{Exercise} \newtheorem*{theorem*}{Theorem} \newtheorem{lemma}[definition]{Lemma} \newtheorem*{lemma*}{Lemma} \newtheorem{example}[definition]{Example} \newtheorem{example*}{Example} \newtheorem{proposition}[definition]{Proposition} \newtheorem{proposition*}{Proposition} \newtheorem{remark}[definition]{Remark} \newtheorem{remark*}{Remark} \newtheorem{claim}[definition]{Claim} \newtheorem{claim*}{Claim} \newtheorem{question}[definition]{Question} \newtheorem{question*}{Question} \newtheorem{corollary}[definition]{Corollary} \newtheorem{corollary*}{Corollary} %\renewcommand{\thethm}{\arabic{definition}} \newcommand{\transpose}[1]{{#1}^\top} \newcommand{\A}{\mathbb{A}} \newcommand{\alg}[1]{#1 \text{-alg}} \DeclareMathOperator{\Vect}{Vect} \DeclareMathOperator{\pMod}{Mod} %\newcommand{\Mod}[1]{#1\hspace{-3pt}-\hspace{-3pt}\pMod} \newcommand{\Mod}[1]{#1\text{-}\pMod} \newcommand{\Dis}[1]{\mathrm{Dis} (#1)} \newcommand{\abs}[1]{\left\lvert#1\right\rvert} \DeclareMathOperator{\true}{\text{真}} \DeclareMathOperator{\false}{\text{偽}} \newcommand{\red}[1]{\textcolor{red}{#1}} \DeclareMathOperator{\Poset}{Poset} \DeclareMathOperator{\op}{op} \DeclareMathOperator{\Cat}{Cat} \DeclareMathOperator{\AG}{AG} \DeclareMathOperator{\Mor}{Mor} \DeclareMathOperator{\Ab}{Ab} \DeclareMathOperator{\Int}{Int} \DeclareMathOperator{\Group}{Group} \DeclareMathOperator*{\colim}{colim} \DeclareMathOperator{\Monoid}{Monoid} \DeclareMathOperator{\cHaus}{cHaus} \DeclareMathOperator{\Ring}{Ring} \DeclareMathOperator{\Top}{Top} \DeclareMathOperator{\Sh}{Sh} \DeclareMathOperator{\Set}{Set} \newcommand{\id}[1]{\mathrm{id}_{#1}} \newcommand{\1}{\textbf{1}} \newcommand{\2}{\textbf{2}} \newcommand{\equi}{\iff} \newcommand{\sq}{\rightsquigarrow} \newcommand{\Closed}{\mathrm{Closed}} \newcommand{\Fin}{\mathrm{Fin}} \newcommand{\LDyn}{\mathrm{LDyn}} \newcommand{\Ran}{\mathrm{Ran}} \newcommand{\Lan}{\mathrm{Lan}} \newcommand{\mpo}{\varphi_{\hspace{-1pt}\raisebox{-0.5ex}{-}}} \newcommand{\MPoly}{\mathrm{MPoly}} \newcommand{\Kleisli}{\mathrm{Kleisli}} \newcommand{\XR}{{}^{X}R} \newcommand{\yo}[1]{\mathrm{y}_{\hspace{-1pt} #1}} \newcommand{\RY}{R^{Y}} \newcommand{\Pow}[1]{\mathrm{P}(#1)} \newcommand{\Spec}[1]{\mathrm{Spec}(#1)} \newcommand{\cl}{\mathrm{cl}} \newcommand{\Mnd}{\mathrm{Monad}} \newcommand{\PtEnd}{\mathrm{PtEnd}} \newcommand{\End}{\mathrm{End}} \newcommand{\Q}{\mathbb{Q}} \newcommand{\R}{\mathbb{R}} \newcommand{\Rc}{\lbrack 0,\infty \rbrack} \newcommand{\Ri}{\lbrack 0,1 \rbrack} \newcommand{\Z}{\mathbb{Z}} \newcommand{\N}{\mathbb{N}} \newcommand{\C}{\mathbb{C}} \newcommand{\pro}{\rotatebox{90}{\rightsquigarrow}} \newcommand{\con}[1]{\cite{context}の{#1}を参考にするとよい.} \newcommand{\ob}[1]{\mathrm{ob} (#1)} \newcommand{\ca}[1]{\mathcal{#1}} \newcommand{\ro}[1]{\mathrm{#1}} \newcommand{\com}[2]{{#1} \hspace{-3pt}\downarrow \hspace{-2pt}{#2}} \newcommand{\defeq}{\coloneqq} \newcommand{\CX}{ \C\lbrack X\rbrack} \newcommand{\quotes}[1]{``#1''} % \newunicodechar{ろ}{\text{\usefont{U}{min}{m}{n}\symbol{'215}}} %\DeclareFontFamily{U}{min}{} %\DeclareFontShape{U}{min}{m}{n}{<-> udmj30}{} \tikzset{% symbol/.style={% draw=none, every to/.append style={% edge node={node [sloped, allow upside down, auto=false]{$#1$}}} } } \begin{document} \title{順序集合で遊ぶKan拡張入門} \author{hora-algebra} \date{\today} \maketitle \begin{abstract} 圏論の知識を一切仮定せず,順序集合論におけるKan拡張を使って初等的な言葉のみでKan拡張のアイデアを伝える.様々な分野からの様々なレベルの例を紹介し,おもちゃのような例を実際に計算することで理解を促す.読者としては,圏論はもちろん現代数学もほぼ知らないような高校生をはじめ,親しみ深い例や奇妙な例を求めているKan拡張既修者まで広く想定している. %モチベーションの説明や初等的かつおもちゃのような例を重視しているため, %Kan拡張を勉強したことはあるが親しめていないという読者も想定している. % 1,2章は最低限の圏の知識のみを要求する.1章では拡張問題を考える枠組みとして圏論が適していることを説明する.2章では定義を述べ,幅広い読者を想定した初等的な例(高校数学から大学初年度程度)を扱う. % 3,4章は極限と余極限を知っている一部の読者を想定している. % 3章では計算方法をその気持ちとともに説明し,数学科で習うような比較的高度な例を扱う.4章では現代数学における活用法の一部を紹介する. \end{abstract} \tableofcontents \section*{どう読むか,なぜ読むか} 読者は自身の知識に合わせて次のどれかに沿って読むことを勧める. \begin{enumerate} \item \textgt{集合や写像を知らない人}も実数から実数への関数を主に扱う1,4章を眺めて雰囲気を味わうことができる.しかし他の多くの部分を読むことはできない.先に手頃な数学入門書を読むことを勧める. % すぐにこの文章を読むことは難しい.1章を眺めて雰囲気を知ることはできる. \item \textgt{集合や写像は知っているが現代数学はほぼ知らない人}はこの文章を一部の例を除いて全て読むことができる.この文章の基礎となる順序集合論を2章で速修できるが,より丁寧な解説をもとめて手頃な教科書を眺めることも選択肢に入れて欲しい.5,8章は難易度の問題で,7章はモチベーションの問題で飛ばしても問題ない. \item \textgt{(圏論学習経験の有無に関わらず)数学を勉強している人}はこの文章を全て読むことができる.2章の順序集合論の速習は,記法や用語の確認程度で飛ばしても構わない. \item \textgt{Kan拡張を既に知っている人}も想定読者である.もちろん全てを読むことができる.Kan拡張既修者に向けた例もいくつか用意してある. \end{enumerate} % \section*{どう読むか,なぜ読むか} % 読者は自身の知識に合わせて次のどれかに沿って読むことを勧める. % \begin{enumerate} % \item \textgt{写像を知らない人}も実数から実数への関数を主に扱う1,4章を眺めて雰囲気を味わうことができる.しかし他の多くの部分を読むことはできない.先に手頃な数学入門書を読むことを勧める. % % すぐにこの文章を読むことは難しい.1章を眺めて雰囲気を知ることはできる. % \item \textgt{写像は知っているが数学はほぼ知らない人}はこの文章を一部の例を除いて全て読むことができる.この文章の基礎となる順序集合論を2章で速修できるが,より丁寧な解説をもとめて手頃な教科書を眺めることも選択肢に入れて欲しい.5章は難易度の問題で,6章はモチベーションの問題で飛ばしても問題ない. % \item \textgt{数学を勉強しているが圏論は全く勉強したことのない人}はこの文章を全て読むことができる.2章の順序集合論の復習は,記法の確認程度で飛ばしても構わない.6章は興味がわかなければ読まなくてよい. % \item \textgt{圏論を自然変換の定義程度に勉強したことがある人}は3に追加して後半の大部分を読むことができる. % \item \textgt{圏論を極限の定義程度に勉強したことがある人}は前半後半の全てを読むことができる. % \item \textgt{Kan拡張を勉強したことがある人}も当然前半後半の全てを読むことができる. % \end{enumerate} % 2以上の読者には,数学の様々な拡張問題に単純な統一的な原理があることを共有する.また,Kan拡張という有名用語に対するミーハー心を部分的に満たす.可能な限り圏論に対するモチベーションを高める. % 3以上の読者には学部で習う数学の範囲でもKan拡張が多く存在することを紹介する. % 4以上の読者には圏論におけるKan拡張を(後半で)紹介し,その気持ちを極力丁寧に解説する.そして「全ての概念はKan拡張である」などの有名な言葉を含めKan拡張がどう使われるのか共有する. % 5以上の読者には様々な数学的構造でKan拡張を計算できる方法を提供し,初等的だが興味深い例をいくつか紹介する. % 6以上の読者の一部には定理の仮定を緩めた場合の反例など理論的に興味を持てる例をいくつか提供する.Kan拡張を勉強したことはあるがいまいちピンときていないという人には,例や計算方法の解説などでKan拡張へのより良い理解や親しみを提供したい. 各章の依存関係は以下のようになっている.丸がお話や具体例パートで,四角が理論パートを表す.濃い矢印は論理的な依存関係を,点線矢印はモチベーション上の依存関係を表す. \begin{center} \begin{tikzpicture}[ roundnode/.style={circle, draw=black!60, fill=black!0, very thick, minimum size=7mm}, squarednode/.style={rectangle, draw=black!60, fill=black!0, very thick, minimum size=7mm}, ] %Nodes \node[squarednode] (poset) {2}; \node[squarednode] (Kan) [below =of poset] {3}; \node[roundnode] (intro) [above=of poset] {1}; \node[roundnode] (easy) [below left=of Kan] {4}; \node[roundnode] (hard) [below right=of Kan] {5}; \node[squarednode] (point) [below right=of easy] {6}; \node[roundnode] (qu) [below left=of point] {7}; \node[roundnode] (un) [below right=of point] {8}; \node (hidd) [below =of point] {\ } ; \node[roundnode] (con) [below =of hidd] {9}; %Lines \draw[->,dotted](intro.south) -- (poset.north); \draw[->] (poset.south) -- (Kan.north); \draw[->] (Kan.south west)-- (easy.north east); \draw[->] (Kan.south east)-- (hard.north west); \draw[->] (Kan.south) -- (point.north); \draw[->,dotted](easy.south east)-- (point.north west); \draw[->,dotted](hard.south west)-- (point.north east); \draw[->,dotted](easy.south east)-- (con.north west); \draw[->,dotted](hard.south west)-- (con.north east); \draw[->] (point.south west)-- (qu.north east); \draw[->] (point.south east)-- (un.north west); \draw[->,dotted](point.south)-- (con.north); \draw[->,dotted](qu.south east)-- (con.north west); \draw[->,dotted](un.south west)-- (con.north east); \end{tikzpicture} \end{center} 各章の説明をする.1,9章はお話パートで,2,3,6章は理論パートで,4,5,7,8章は具体例パートになっている.具体例パート(4,5,7,8章)がこの文章で重視した章だが,同時に読者の知識やモチベーションによっては適切に読み飛ばされることを想定した章でもある. 1章では全員に向けて指数関数の拡張を例に,拡張問題になぜ順序集合が関係するかを説明する.1章により,2章以降の議論のモチベーションを明確にする. 2章では順序集合を知らない読者に向けてこの文章の基礎となる順序集合論を速修する. 3章では全員に向けてこの文章のメイントピックである(順序集合における)Kan拡張の定義を述べる. 4章では全員に向けて主に実数から実数への関数のような高校数学的な例を紹介し,それらを通してKan拡張の基本性質に触れる. 5章では数学を勉強している読者に向けて,位相空間や測度空間などの学部の数学科で習うような例を紹介する.複数の分野からの例を提示することでKan拡張が様々な場面で現れていることを実感してもらいたい. 6章では全員に向けてKan拡張の計算公式を紹介する.5章までに紹介した全てのKan拡張を統一的に計算する方法を得る. 7章では一部の意欲的な読者に向けて,Kan拡張の理論的な性質についての演習を挙げる.圏論におけるKan拡張で一般に成立する定理を順序集合に落とし込んだものを挙げ,一般の場合と同様の証明を与える.Kan拡張既修者にとっては良い復習に,今後圏論のKan拡張を勉強する意思のある読者にとっては良い予習になると信じている. 8章では全員に向けて,6章の計算公式を知っていることを前提にちょっと変わったKan拡張を紹介する. 9章では圏論におけるKan拡張について軽く紹介し,その役割について言及する. \section{導入 : 自然な拡張とは何か?} 部分的に定義された関数を拡張したいことはよくある.例えば高校数学では,有理数上で定義された指数関数$2^q:\Q\to \R$を実数上の関数$2^r:\R\to \R$に拡張することを考えた.図式で書けば次の点線を作ることに対応する.ここで$\iota$は単なる埋め込み写像である. \[ \begin{tikzcd} \Q \ar[rr,"2^q"] \ar[rd,"\iota"']& & \R \\ &\R \ar[ru, dotted]& \end{tikzcd} \] 普通の拡張は実数$r$について,$r$に収束する有理数列$q_1, q_2, \dots \to r$を取り$2^r\defeq \lim_{n\to \infty} 2^{q_n}$と定めていた.この普通の拡張は,可能なただ一つの拡張ではないことに注意したい.実際, \[ \begin{tikzcd} \Q \ar[rr,"2^q"] \ar[rd,"\iota"']& & \R \\ &\R \ar[ru, dotted, "f"']& \end{tikzcd} \] を可換にする(つまり$2^q$を拡張する)関数$f$は無理数での値を好きに変更しても再び条件を満たし,よってそのような$f$は無数に存在する.普通の拡張$2^r$は数ある拡張の一つに過ぎない.このように,残念ながら\textgt{写像の自然な拡張は存在しない}\footnote{数学的な主張はKan拡張の定義の後にExample \ref{写像の拡張}で行う.}. 普通の拡張$2^r$が自然な拡張であることを主張したければ,$\Q,\R$を単に集合とみなすだけでは不十分である.一つの解決策は,$\Q,\R$を大小関係という順序の構造も含めて考えることである.$f$として順序を保つもの(広義単調増加なもの)のみを許せば,普通の拡張$2^r$は唯一の拡張になる\footnote{極限を保たせるという$2^r$の定義からも示唆されるように,$f$に連続性を課すことも一つの解決策である.しかし,順序構造は至る所に現れるため一般性が非常に高いというメリットがある.実は極限の保存という手法さえも,後に見るKan拡張の計算公式の基本的なアイデアになる!}. このように,自然な拡張を得ようという目的においては,単に集合と写像を考えるのでは不十分である.集合の元の間の関係まで考慮すれば,自然な拡張が得られるかもしれない. 自然な拡張を探す問題の枠組みは,順序集合と順序を保つ写像の理論がふさわしそうだ.\textgt{順序の理論では自然な拡張は存在するかもしれない!} %自然な拡張を探す問題の枠組みは,関係性も含めた集まりと関係性を保つ写像の理論,すなわち圏と関手の理論がふさわしそうだ.\textgt{関手の自然な拡張は存在するかもしれない!} \begin{remark}[圏論] 集合の元の間の関係性として順序より豊かな構造を扱いたければ,順序集合の一般化として圏というものを考えられる.Kan拡張は圏論の枠組みで語られるのが(少なくとも2021/11の私の知る限り)普通である.このことは9章でもう少し詳しく述べる. \end{remark} \section{順序集合論速習} 順序集合論の基本的な定義を述べる. \begin{definition}[順序集合] 順序集合とは集合$X$と二項関係 %\footnote{集合$X$の元のペア$x,y\in X$に対して$x\leq y$が} $\leq$の組$(X,\leq)$で,以下の三つの条件を満たすものをいう. \begin{itemize} \item 任意の$x\in X$について$x\leq x$ \item 任意の$x,y,z\in X$について$x\leq y$かつ$y\leq z$なら$x\leq z$ \item 任意の$x,y\in X$について$x\leq y$かつ$y\leq x$なら$x=y$ \end{itemize} \end{definition} これらの$3$つの条件は,上から順に反射律,推移律,反対称律と呼ばれている. \begin{example}[整数,有理数,実数] 整数の集合$\Z$,有理数の集合$\Q$,実数の集合$\R$は普通の大小関係$\leq$で順序集合になる. \end{example} \begin{example}[冪集合] 集合$A$について,$A$の冪集合(部分集合全体の集合) $\ca{P}(A)$は包含関係$\subset$で順序集合になる. \end{example} \begin{example}[自明な順序] どんな集合$X$についても,任意の$x,y\in X$について$x\leq y \iff x=y$とすることで順序集合になる.これを自明な順序という. \end{example} \begin{exercise}[剰余関係] 非負整数の集合$\N$は剰余関係$\mid$で順序集合になることを確認せよ. \end{exercise} \begin{exercise}[人間関係!?] 厳密ではない演習を一つ挙げておく.人間の集合を$P$とする.$P$上の二項関係$\leq$を,$p\leq q$を以下のようにして定める.どれが順序になるか考えよ.順序にならないものは反射律,推移律,反対称律のうちどれが成り立たないのかを答えよ. \begin{enumerate} \item $p$は$q$の子孫である. \item $p$は$q$の子孫であるか,$p=q$である. \item $p$と$q$はお互いのことを知っている. \item $p$は$q$のことを好意的に思っている. \item $p$から知り合いを有限回辿ることで$q$に到達できる. \item $p$と$q$は同い年である. \end{enumerate} \end{exercise} 順序集合$(P,\leq)$を,今後は二項関係を略して$P$と書いてしまう.これは数学でよくある便利だが不適切な慣習である. \begin{definition}[順序保存写像] 順序集合$P,Q$について,$P$から$Q$への写像$f:P\to Q$が順序保存写像であるとは,任意の$x,y\in P$について \[x\leq y \implies f(x)\leq f(y)\] なることをいう. \end{definition} \begin{example}[実数での例] 写像$f:\R\to \R$が順序保存写像であることと広義単調増加関数であることは同値である.$f(x)=x$や$f(x)=0$や$f(x)=2^x$は順序保存写像だが$f(x)=-x$や$f(x)=2^{-x}$や$f(x)=\sin (x)$は順序保存写像ではない. \end{example} \begin{definition}[順序保存写像の大小] 順序集合$P,Q$と$P$から$Q$への順序保存写像$f,g:P\to Q$について,$f\leq g$を \[\text{任意の}p\in P\text{について} f(p)\leq g(p)\] と定める. \end{definition} \begin{example}[実数での例] $f(x)=x+2,\ g(x)=x+3$なら$f\leq g$であるが,$f(x)=2^x,\ g(x)=3^x$なら$f\leq g$でも$g\leq f$でもない. \end{example} \begin{exercise}[順序保存写像全体の順序集合] 順序集合$P,Q$について,$P$から$Q$への順序保存写像全体の集合$Q^P$は順序保存写像の大小$\leq$で順序集合になることを確かめよ. \end{exercise} \begin{definition}[最小元,最大元] 順序集合$P$の元$p\in P$について,$p$が$P$の最小元であるとは \[\text{任意の}q\in P\text{について} p\leq q\] となることをいい,$p$が$P$の最大元であるとは \[\text{任意の}q\in P\text{について} q\leq p\] となることをいう. \end{definition} \begin{example}[実数での例] $\R$には最大元も最小元も存在しない. \end{example} \begin{example}[非負整数での例] $\N$では$0$が最小元である.最大元は存在しない. \end{example} 最小元と最大元は互いの逆の概念である.このように互いに逆になっている概念を双対的な概念という.(この文章における)双対という言葉についてもう少しまともに説明しておく.順序集合$(P,\leq)$について,順序を逆にした$(P,\geq)$も順序集合になる.この順序を逆転させた順序集合における概念$C$は$P$における$C$の双対概念であると言われる. 2章でここまで述べてきた知識のみでいくつかの具体例を除いて5章までと9章を読める.6,7,8章を読むには次の知識が必要になる. \begin{definition}[上界,下界] 順序集合$P$とその部分集合$S\subset P$について,$p\in P$が$S$の上界であるとは \[\text{任意の}s\in S\text{について} s\leq p\] なることをいう. $p\in P$が$S$の下界であるとは \[\text{任意の}s\in S\text{について} p\leq s\] なることをいう. \end{definition} 上界と下界も双対である. 任意の元は空集合の上界でもあり,下界でもあることに注意. \begin{definition}[$\sup,\inf$] 順序集合$P$とその部分集合$S\subset P$について,$S$の$\sup$(上限)とは$S$の上界のうち最小のものをいう. $S$の$\inf$(下限)とは$S$の下界のうち最大のものをいう. \end{definition} $\sup$と$\inf$も双対である. 上界のうち最小,下界のうち最大というアイデア自体は小学校で次を習っている. \begin{example}[最小公倍数,最大公約数] 非負整数と剰余関係の順序集合$(\N,\mid)$について,$\{12,18,30\}$の$\sup$は$180$であり,$\inf$は$6$である.一般に$S\subset \N$の$\sup$は$S$の元たちの最小公倍数で$\inf$は最大公約数である. \end{example} \begin{example}[和集合と共通部分] 集合$A$について,$A$の冪集合(部分集合全体の集合) $\ca{P}(A)$を包含関係$\subset$で順序集合とみなしたもの$(\ca{P}(A),\subset)$を考える.$\ca{P}(A)$の部分集合$S\subset \ca{P}(A)$ ($A$の部分集合の集合!)について,$S$の$\sup$は$S$の元($A$の部分集合)たちの和集合であり,$\inf$は$S$の元($A$の部分集合)たちの共通部分である. \end{example} \begin{example}[実数での例] $\R$の部分集合$S=\{x\in \Q(\subset \R)\mid x^2\leq 2\}$の上限は$\sqrt{2}$であり下限は$-\sqrt{2}$である. 一方,$\Q$の部分集合としてみた$S=\{x\in \Q\mid x^2\leq 2\}$には上限も下限も存在しない. \end{example} \begin{remark}[圏論との対応] 圏論を知っている読者のために,2章で述べた順序集合の概念と圏論の概念の対応を明示しておく. \begin{align*} \text{順序集合}&\leftrightarrow\text{圏}\\ \text{順序保存写像}&\leftrightarrow\text{関手}\\ \text{順序保存写像の大小}&\leftrightarrow\text{自然変換}\\ \text{最小元,最大元}&\leftrightarrow\text{始対象,終対象}\\ \text{上限,下限}&\leftrightarrow\text{余極限,極限}\\ \end{align*} 右に書いた圏論の概念は,圏として順序集合のみを考えるときには,左に書いた順序集合の概念とちょうど一致する. \end{remark} \section{Kan拡張の定義} この章ではまずKan拡張の定義を述べる.定義に出てくる$hg$は写像の合成である. \begin{definition}[Kan拡張]\label{Kan拡張の定義} 順序集合$P,Q,R$と順序保存写像$f:P\to R, \ g:P\to Q$について,$f$の$g$に沿った左Kan拡張とは,$f\leq hg$ \[ \begin{tikzcd} P \ar[rr,"f",""{name=U, below}] \ar[rd,"g"']&&R\\ &Q \ar[ur,"h"'] \ar["\rotatebox{90}{$\geq$}",phantom, to=U]& \end{tikzcd} \] なる順序保存写像$h:Q\to R$のうち最小のものである.$f$の$g$に沿った左Kan拡張を$\Lan_g f:Q\to R$と書く. $f$の$g$に沿った右Kan拡張とは,$f\geq hg$ \[ \begin{tikzcd} P \ar[rr,"f",""{name=U, below}] \ar[rd,"g"']&&R\\ &Q \ar[ur,"h"'] \ar["\rotatebox{90}{$\leq$}",phantom, to=U]& \end{tikzcd} \] なる順序保存写像$h:Q\to R$のうち最大のものである.$f$の$g$に沿った右Kan拡張を$\Ran_g f:Q\to R$と書く. \end{definition} 少しだけ口語的に言えば左Kan拡張$h$は,$f$を上(大きい方)から抑える$f\leq hg$ことができる程度には大きいことが要求されているが,その要求を満たすものの中では最小のものとして定義されている.双対的に,右Kan拡張$h$は,$f$を下から抑える$f\geq hg$ことができる程度には小さいことが要求されているが,その要求を満たすものの中では最大のものとして定義されている. もちろんこの定義は具体例を用いて解きほぐす必要があるが,それは後の章に任せて一旦いくつかの注意をしておく. 定義を書き換えれば,$f$の$g$に沿った左Kan拡張とは順序保存写像$\Lan_g f:Q\to R$であって, \[ \begin{tikzcd} P \ar[rr,"f",""{name=U, below}] \ar[rd,"g"']&&R\\ &Q \ar[ur,"\Lan_g f"'] \ar["\rotatebox{90}{$\geq$}",phantom, to=U]& \end{tikzcd} \] を満たし,かつ任意の順序保存写像$h:Q\to R$について \[ \begin{tikzcd}[row sep=5pt] P \ar[rr,"f",""{name=U, below}] \ar[rdd,"g"']&&R && P \ar[rr,"f",""{name=V, below}] \ar[rdd,"g"']&&R\\ &&&\implies&&&\\ &Q \ar[uur,"h"'] \ar["\rotatebox{90}{$\geq$}",phantom, to=U]& && &Q \ar[uur, "\Lan_{g} f" description, bend left=20,""{name=a,below}] \ar[uur,""{name=b, below},bend right=50, "h"'] \ar["\rotatebox{90}{$\geq$}",phantom, to=V]& \ar["\rotatebox{135}{$\geq$}",phantom, from=a, to=b] \end{tikzcd} \] なるものをいう. % \begin{exercise}[一意性と双対]\ % \begin{enumerate} % \item Kan拡張の標準的な同型を除いた一意的を示せ. % \item 右Kan拡張を圏論的双対として定義せよ.自然変換の向きが逆転するだけである. % \end{enumerate} % \end{exercise} % したがって少なくとも順序集合の文脈においては\textgt{Kan拡張は拡張の最適近似である}.$\eta$が等号($\id{F}$)のときは$G$は本当の拡張になる. Kan拡張は最大元および最小元として定義されているから存在すれば一意的である\footnote{圏論版では,他の普遍性と同様に存在すれば標準的な同型を除いて一意的である.}.したがって,「〜とは〜の〜に沿った左Kan拡張と定める」のような定義は存在証明さえすれば曖昧さなく使える. Kan拡張は,存在するとは限らない.このことの例は後に見る.好意的に捉えれば,\textgt{存在してほしくないときにはちゃんと存在しない}とも言えるかもしれない.このポジティブな解釈は次の章で具体例を通して同意してもらえるものだと信じている. Kan拡張の定義においては本当の拡張になること$f=(\Lan_g f) \circ g$は要求されていない.後に見るように,Kan拡張は一般には本当の拡張にはならない\footnote{本当の拡張になるための便利な十分条件が知られている.}.この意味で不等号$f\leq(\Lan_g f) \circ g$は\textgt{不可避な誤差}を表しているとも捉えられる.良く言えば,本当の拡張が存在しないときでも\textgt{Kan拡張は拡張の最適近似を探してくれる}. % 順序集合論(そして一般に圏論)ではいつものことだが, また(順序集合論や圏論ではいつもそうであるように)双対的に二つの拡張,つまり左Kan拡張と右Kan拡張,が考えられることにも注意してもらいたい.次の節から例を見ていく. \begin{remark}[圏論のKan拡張との関係] 順序集合のKan拡張は,圏論のKan拡張の単なる類似ではなく特別な場合である. \end{remark} \section{易しめなおもちゃ} この章では,主に実数や有理数を使った簡単で直感的な例を通して定義を解きほぐし,Kan拡張のアイデアや性質に慣れ親しんでもらいたい.Kan拡張であることの確認はできればして欲しいが,難しければ今神経質になりすぎる必要はない.8章以外の章のKan拡張は6章で与えられるKan拡張の計算公式で全て容易にチェックできる. \subsection*{モチベーション回収} \begin{example}[指数関数の拡張] 1章で導入に使った指数関数の例が本当にKan拡張であることを確認しよう.Kan拡張の定義(Definition \ref{Kan拡張の定義})における$P$は有理数のなす順序集合$\Q$であり,$Q,R$は$\R$である.$2^q:\Q \to \R$を$\iota : \Q \to \R$(単なる埋め込み)に沿って拡張する. 順序保存写像$h:\R\to \R$であって, \[ \begin{tikzcd} \Q \ar[rr,"2^q",""{name=U, below}] \ar[rd,"\iota"']& & \R \\ &\R \ar[ru, "h"',dotted] \ar["\rotatebox{90}{$\geq$}",phantom, to=U]& \end{tikzcd} \] (つまり$\forall q\in \Q,\ 2^q\leq h(q)$)なるものの中で最小のものが左Kan拡張である.これは普段の$2^r:\R\to \R$であることを説明する.実際,$\forall q\in \Q,\ 2^q\leq h(q)$なる任意の順序保存写像$h:\R\to \R$は$2^r:\R\to \R$以上になることは次のように説明できる. 詳細な証明を書くより,$r=\pi$のときに$2^\pi\leq h(\pi)$となることを納得してもらおう. $\pi$へ(下から)収束する有理数列$3, 3.1, 3.14, 3.141, 3.1415 \dots$を考える. そして \begin{align*} 2^{3}\leq h(3)&\leq h(\pi)\\ 2^{3.1}\leq h(3.1)&\leq h(\pi)\\ 2^{3.14}\leq h(3.14)&\leq h(\pi)\\ 2^{3.141}\leq h(3.141)&\leq h(\pi)\\ 2^{3.1415}\leq h(3.1415)&\leq h(\pi)\\ &\vdots \end{align*} という列を考えると,$2^\pi \leq h(\pi)$が分かる. \begin{center} \begin{tikzpicture} [scale = 1] \draw[gray, thick] (-11,0) -- (0,0); \draw[red, thick] (0,0) -- (1,0); % \fill[black] (8.00000,0) circle (0.01) node[below]{$2^{3}$}; \fill[black] (-9.737,0) circle (0.06) node[below]{$2^{3.14}$}; \fill[black] (-3.625,0) circle (0.06) node[below]{$2^{3.141}$}; \fill[black] (-0.567,0) circle (0.06) node[below]{$2^{3.1415}$}; \fill[black] (-0.100,0) circle (0.06);%恣意的なあたい %\fill[black] (-0.050,0) circle (0.06);%恣意的なあたい \fill[red] (0,0) circle (0.06) node[above,red]{$2^{\pi}$}; \fill[red] (0.5,0) circle (0.06) node[below,red]{$h(\pi)$}; \end{tikzpicture} \end{center} この議論を精密に見れば,普段の$2^r:\R\to \R$が左Kan拡張になっていることを確認できる. \[ \begin{tikzcd} \Q \ar[rr,"2^q",""{name=U, below}] \ar[rd,"\iota"']& & \R \\ &\R \ar[ru, "2^r=\Lan_{\iota}2^q"'] \ar["\rotatebox{90}{$\geq$}",phantom, to=U]& \end{tikzcd} \] 同様に,右Kan拡張も$2^r$である.今回のケースでは二つの双対的な拡張,左Kan拡張と右Kan拡張,は一致している. 1章では単に写像として拡張しようとすると自然な拡張は得られないことを説明した.集合と写像といった等式$=$の言葉でなく,順序集合と順序保存写像という不等号$\leq$(さらには一般の圏における射)の言葉で拡張を議論した結果うまくいったのである! \end{example} \subsection*{左右のKan拡張の不一致} 双対的な二つの拡張が一致しない例として,多くの読者は既に床関数と天井関数を知っている. \begin{example}[床関数と天井関数(実数の整数近似)]\label{floor} 今度は,$\id{\Z}:\Z\to \Z$を埋め込み$\iota: \Z\to \R$に沿って拡張しよう.つまり,実数から整数を得る自然な方法は何か?を考える.実数の自然な整数近似は何か?と言ってもよい. \[ \begin{tikzcd} \Z \ar[rr,"\id{\Z}",""{name=U, below}] \ar[rd,"\iota"']& & \Z \\ &\R \ar[ru, "h"',dotted] \ar["\rotatebox{90}{$\geq$}",phantom, to=U]& \end{tikzcd} \] なる最小の$h$,つまり$\iota$に沿った$\id{\Z}$の左Kan拡張は床関数$\floor{\ }$である.双対的に右Kan拡張は天井関数$\ceil{\ }$である. \begin{center} \begin{tikzpicture} [scale = 2] \draw[gray, thick] (-1.5,0) -- (4.5,0); \foreach \x in {-1,0,1,2,3,4} { \draw (\x,0)node[below]{\x}; \fill[black] (\x,0) circle (0.03); } \fill[black] (2,0) circle (0) node[above,red]{$\floor{e}$}; \fill[black] (2,0.4) circle (0) node[red]{左}; \fill[black] (3,0) circle (0) node[above,red]{$\ceil{e}$}; \fill[black] (3,0.4) circle (0) node[red]{右}; % \fill[black] (2.5,0.4) circle (0) node[red]{$\neq$}; \fill[red] (2.71828,0) circle (0.03) node[above]{$e$}; \end{tikzpicture} \end{center} このように\textgt{左右のKan拡張は必ずしも一致しない}. \end{example} \begin{exercise}[実数値関数の最大拡張] 実数$r\in \R$について,順序保存写像$s_r:\Q\to \R$を \[ s_{r}(q)\coloneqq \begin{cases} 1 & (q \geq r)\\ 0 & (q