アフィリエイト広告を利用しています

2023年07月27日

午前中に起きられたが無気力が辛い.

8 時に起床.

朝に起きられたが, 無気力が辛い.
何もする気にならない.

生活のリズムをちゃんとしたいので, 少し無理をして起き上がる.
勉強をしようと思ったのだが気力が出ない.

少し休んだ後, 買い物に出かける.
体を動かすのは鬱に効果がある.

最初は足を一歩前に進めるのも辛かったが, とりあえず野菜や肉などを買うことはできた.
体を動かして気分が少し上向いた.

帰宅して昼食をとる.
冷奴.

それから数学をやる.
以前のノートを読み返したのだが, 内容がなかなか理解できない.

今日はあまり体調が良くない.
体調が安定しない.
ただ, 朝の時間に起き上がれたのは良かった.

夕方前に布団に入る.
posted by 底彦 at 15:41 | Comment(0) | TrackBack(0) |

2023年07月26日

久し振りに朝に起きる

8 時起床.
寝坊したが, 今朝は抑鬱感が無い.

食事をとる.
キャベツと目玉焼きとコーヒー.

数学の勉強をする.
頭の中で整理できていない証明を, ノートをとりながら復習する.

朝の鬱が無いと, 午前中からいろいろできる.
この調子が続いてほしい.

昼からアルコール依存症の自助グループに行く.
普段は会場の教会まで歩くのだが, 今日は暑過ぎる.
バスに乗って行く.

買い物をして帰宅.

早めの夕食をとる.
豚キムチ.

まだ夕方前だが, 明日はできれば早起きしたいので布団に入る.
posted by 底彦 at 17:02 | Comment(0) | TrackBack(0) | 日常生活

2023年07月25日

昼まで寝込む 〜 眼科の定期検査

朝から鬱が苦しい.
何もする気にならない.

薬を飲んで寝込む.

昼になって何とか起き上がれた.
頓服が効いたのかも知れない.

買い物に行く.
非常に暑い. 日陰を選んで歩く.

野菜と肉を買って帰宅.

数学をやる.
モナドに関するノートで理解が今一つできなかった証明を読み返す.

夕方前に眼科に行く. 定期検査を受けて目薬を出してもらう.

帰宅して食事.

牛焼き肉と卵かけご飯.

明日は朝の鬱が無いといいのだが.
早めに休む.
posted by 底彦 at 18:38 | Comment(0) | TrackBack(0) |

2023年07月24日

朝の鬱 〜 生活費と買い物

早い時間に目が覚めたが鬱が辛い. 朝の抑鬱感が続いている.

起き上がれず午前中は寝込んだ. 頓服を飲む.

頓服が効いたのか, 何とか昼前に起きることができた.

昼食をとる. パンとコーヒー.

午後は銀行の ATM で今週の生活費をおろし, 買い物に行く. 野菜や肉を買う.

帰宅して少し休む. 暑さにやられてしまった.

夕方に食事. 鰹節ご飯.

早めに布団に入る.
posted by 底彦 at 18:13 | Comment(0) | TrackBack(0) |

2023年07月23日

午前中寝込む 〜 散歩

鬱と倦怠感が辛い.

午前中は寝込んだ.

昼に起き上がり, 買い物を兼ねた散歩に出かける.
外は非常に暑い.
無理をせずに歩く.

気分は上向いた. 運動は鬱からの回復に良い.

買い物をして帰宅.

食事をとる.
パンとコーヒー.

少し休む.
それから数学の勉強をする.
過去のノートを読み返す. 大体復習はできたと思う.

数日, 朝の鬱が辛い状況が続いている.
明日は穏やかに目を覚ましたい.
まだ早いが布団に入る.
posted by 底彦 at 17:56 | Comment(0) | TrackBack(0) |

2023年07月22日

終日寝込む

朝から鬱が苦しい.
動けない.
布団の中で縮こまる.
何もできずそのまま休む.
タグ:抑鬱感
posted by 底彦 at 16:25 | Comment(0) | TrackBack(0) |

2023年07月21日

いろいろな手続きをする

4 時半起床.
鬱と倦怠感が辛い.

数学をやる.
最初は考える気力が出なかったが, 少し続けているうちに集中できるようになってきた.
鬱や倦怠感の中でも, やり方によっては勉強が続けられる.

朝までやって区切りを付ける.

食事をとる.
キャベツとベーコンエッグとコーヒー.

午前中は役所への書類の提出, 納付金の支払いなどを行う.
それから, この夏のアパートの更新料を振り込む.
2 時間ほど歩いた.
そのことで抑鬱感や倦怠感が治まった. 運動は気分を上向かせるのに良い.

帰宅して少し休む.

朝の数学の続きをやる.

昼食をとる.
素麺. 辛子明太子と蒲鉾をのせる.

なぜか食べている途中から気分が沈んでくる.

自分は駄目だという思いが強い.
苦しい.

まだ早いが布団に入る.
posted by 底彦 at 17:28 | Comment(0) | TrackBack(0) | 日常生活

数学: モナド ── Kleisli 圏の例 (続き)

数学: モナドから導かれる随伴の圏 (3)$
モナド ── 定義と随伴により引き起こされるモナド,
随伴から導かれるモナドの例 ── maybe モナド
モナドから導かれる随伴 (1) ── Eilenberg-Moore 圏
モナドから導かれる随伴 (2) ── Kleisli 圏 の続き.

集合 $S$ を固定する. $S$ の各元を「状態」と呼ぶことにする.
与えられた集合に対して, 状態 $S$ との直積を与える関手 $S\times- : \mathbf{Set} \rightarrow \mathbf{Set}$ と, $S$ から集合 $A$ への関数の集合 (これを $A^S$ と記す) を与える関手 $(-)^S : \mathbf{Set} \rightarrow \mathbf{Set}$ は随伴関係 $S\times- \dashv (-)^S$ をなす.

この随伴からモナド $((S\times-)^S,\eta,\mu)$ が導かれる.
単位 (unit) $\eta : 1_{\mathbf{Set}} \Rightarrow (S\times-)^S$ は各集合 $A$ に対して
\begin{equation*}
\DeclareMathOperator{\Aff}{Aff}
\DeclareMathOperator{\Ar}{Ar}
\DeclareMathOperator{\Arccos}{Arccos}
\DeclareMathOperator{\Arcsin}{Arcsin}
\DeclareMathOperator{\Arr}{Arr}
\DeclareMathOperator{\arr}{arr}
\DeclareMathOperator{\Aut}{Aut}
\DeclareMathOperator{\Auto}{Auto}
\DeclareMathOperator{\Axiom}{Axiom}
\DeclareMathOperator{\Bilin}{Bilin}
\DeclareMathOperator{\card}{card}
\DeclareMathOperator{\Catelem}{\int}
\DeclareMathOperator{\Cocone}{Cocone}
\DeclareMathOperator{\Cod}{cod}
\DeclareMathOperator{\Codomain}{cod}
\DeclareMathOperator{\Coin}{coin}
\DeclareMathOperator{\coker}{coker}
\DeclareMathOperator{\Colim}{colim}
\DeclareMathOperator{\comp}{comp}
\DeclareMathOperator{\Conf}{Conf}
\DeclareMathOperator{\Conj}{Conj}
\DeclareMathOperator{\Dom}{dom}
\DeclareMathOperator{\Domain}{dom}
\DeclareMathOperator{\Edge}{Edge}
\DeclareMathOperator{\Ev}{ev}
\DeclareMathOperator{\GCD}{gcd}
\DeclareMathOperator{\Gr}{Gr}
\DeclareMathOperator{\Hom}{Hom}
\DeclareMathOperator{\Id}{id}
\DeclareMathOperator{\IM}{Im}
\DeclareMathOperator{\im}{im}
\DeclareMathOperator{\Ind}{ind}
\DeclareMathOperator{\INIT}{init}
\DeclareMathOperator{\iso}{iso}
\DeclareMathOperator{\LCM}{lcm}
\DeclareMathOperator{\Map}{Map}
\DeclareMathOperator{\mor}{arr}
\DeclareMathOperator{\Nat}{Nat}
\DeclareMathOperator{\Ob}{Ob}
\DeclareMathOperator{\ob}{ob}
\DeclareMathOperator{\ord}{ord}
\DeclareMathOperator{\Path}{Path}
\DeclareMathOperator{\PConf}{PConf}
\DeclareMathOperator{\Point}{Point}
\DeclareMathOperator{\Prob}{Prob}
\DeclareMathOperator{\RE}{Re}
\DeclareMathOperator{\Res}{res}
\DeclareMathOperator{\Sect}{Sect}
\DeclareMathOperator{\SF}{SF}
\DeclareMathOperator{\SkelCat}{sk}
\DeclareMathOperator{\Spec}{Spec}
\DeclareMathOperator{\Sq}{Sq}
\DeclareMathOperator{\Struct}{Struct}
\DeclareMathOperator{\Sub}{Sub}
\DeclareMathOperator{\Sym}{Sym}
\DeclareMathOperator{\TERM}{term}
\DeclareMathOperator{\Vertex}{Vert}
\newcommand{\Abs}[1]{\lvert{#1}\rvert}
\newcommand{\Bs}{\backslash}
\newcommand{\Cdot}{\,\cdot^{\mathrm{op}}}
\newcommand{\Comma}[2]{{{#1}\!\downarrow\!{#2}}}
\newcommand{\CommaCat}[2]{(#1/#2)}
\newcommand{\Complement}[1]{{\smash[t]{\mathstrut #1}}^{\mathrm{c}}}
\newcommand{\Emph}[1]{\textit{#1}}
\newcommand{\Eqclass}[4]{{#1#2#3}_{#4}}
\newcommand{\EqCls}[2]{{\left[#1\right]}_{#2}}
\newcommand{\Eqcls}[1]{\left[#1\right]}
\newcommand{\Expt}[2]{{\smash[t]{\mathstrut #1}}^{\mathstrut #2}}
\newcommand{\FnRest}[2]{{#1}|{#2}}
\newcommand{\Func}[2]{\mathrm{Func}(#1,#2)}
\newcommand{\g}{\varg}
\newcommand{\Inc}[2]{\mathrm{incl}\left(#1,#2\right)}
\newcommand{\Incl}[2]{\mathrm{incl}_{#1}^{#2}}
\newcommand{\InclArrow}[2]{\morphism(0,0)/>->/<450,0>[\Incl{#1}{#2} : {#1}\,\,`{#2};]}
\newcommand{\Ip}{\amalg}
\newcommand{\Lb}[1]{\mathrm{lb}(#1)}
\newcommand{\LH}{\mathrm{LH}}
\newcommand{\Lowerset}[1]{\downarrow\!\!{#1}}
\newcommand{\Leadsto}{\quad\leadsto\quad}
\newcommand{\Lrsquigarrow}{\quad\leftrightsquigarrow\quad}
\newcommand{\Mb}[1]{\mathbf{#1}}
\newcommand{\Mbb}[1]{\mathbb{#1}}
\newcommand{\Mi}[1]{\mathit{#1}}
\newcommand{\Mlb}[1]{\mathrm{mlb}(#1)}
\newcommand{\Mr}[1]{\mathrm{#1}}
\newcommand{\Ms}[1]{\mathscr{#1}}
\newcommand{\Mt}[1]{\mathtt{#1}}
\newcommand{\Mub}[1]{\mathrm{mub}(#1)}
\newcommand{\newinf}{\mathop{\mathrm{inf}\vphantom{\mathrm{sup}}}}
\newcommand{\newsup}{\mathop{\smash{\mathrm{sup}}}}
\newcommand{\Opp}[1]{#1^{\mathrm{op}}}
\newcommand{\Prj}[2]{\mathrm{proj}\left(#1,#2\right)}
\newcommand{\Proj}[2]{\mathrm{proj}^{#1}_{#2}}
\newcommand{\Pw}{\mathbf{P}}
\newcommand{\Rn}[1]{{\bmdefine{R}}^{#1}}
\newcommand{\q}{\hspace{1em}}
\newcommand{\qq}{\hspace{0.5em}}
\newcommand{\Rel}[1]{\langle{#1}\rangle}
\newcommand{\Rest}[2]{{#1}|{#2}}
\newcommand{\Slash}[1]{{\ooalign{\hfil/\hfil\crcr$#1$}}}
\newcommand{\SliCat}[2]{{#1}\,\big/\,{#2}}
\newcommand{\Src}{d^{0,\mathrm{op}}}
\newcommand{\ssqrt}[1]{\sqrt{\smash[b]{\mathstrut #1}}}
\newcommand{\Tgt}{d^{1,\mathrm{op}}}
\newcommand{\TwArCat}[1]{\mathrm{Tw}(#1)}
\newcommand{\Ub}[1]{\mathrm{ub}(#1)}
\newcommand{\Un}[1]{{1}_{#1}}
\newcommand{\Upperset}[1]{\uparrow\!\!{#1}}
\newcommand{\VectCat}[1]{#1 \mathchar`- \mathbf{Vect}}
\newcommand{\VS}{\vspace*{-1ex}}
\newcommand{\Wbar}[1]{\widebar{#1}}
\newcommand{\Ab}{\mathbf{Ab}}
\newcommand{\Adj}{\mathbf{Adj}}
\newcommand{\Affine}{\mathbf{Affine}}
\newcommand{\Ban}{\mathbf{Ban}}
\newcommand{\bbDelta}{\Delta\mkern-12mu\Delta}
\newcommand{\Card}{\mathbf{Card}}
\newcommand{\CAT}{\mathbf{CAT}}
\newcommand{\Cat}{\mathbf{Cat}}
\newcommand{\cgHaus}{\mathbf{cgHaus}}
\newcommand{\Ch}{\mathbf{Ch}}
\newcommand{\cHaus}{\mathbf{cHaus}}
\newcommand{\Cluster}{\mathbf{Cluster}}
\newcommand{\CMonoid}{\mathbf{CMonoid}}
\newcommand{\CRing}{\mathbf{CRing}}
\newcommand{\DirGraph}{\mathbf{DirGraph}}
\newcommand{\End}{\mathbf{End}}
\newcommand{\Euclid}{\mathbf{Euclid}}
\newcommand{\Field}{\mathbf{Field}}
\newcommand{\Fin}{\mathbf{Fin}}
\newcommand{\FinMetric}{\mathbf{FinMetric}}
\newcommand{\Four}{\mathbbm{4}}
\newcommand{\Graph}{\mathbf{Graph}}
\newcommand{\GrMod}{\mathbf{GrMod}}
\newcommand{\Grp}{\mathbf{Grp}}
\newcommand{\Group}{\mathbf{Group}}
\newcommand{\Groupoid}{\mathbf{Groupoid}}
\newcommand{\Haus}{\mathbf{Haus}}
\newcommand{\Htpy}{\mathbf{Htpy}}
\newcommand{\Man}{\mathbf{Man}}
\newcommand{\Mapsdown}{\rotatebox{270}{$\mapsto$}}
\newcommand{\Mapsup}{\rotatebox{90}{$\mapsto$}}
\newcommand{\Mat}{\mathbf{Mat}}
\newcommand{\Meas}{\mathbf{Meas}}
\newcommand{\Measure}{\mathbf{Measure}}
\newcommand{\Mod}{\mathbf{Mod}}
\newcommand{\Model}{\mathbf{Model}}
\newcommand{\Mon}{\mathbf{Mon}}
\newcommand{\Monoid}{\mathbf{Monoid}}
\newcommand{\oMega}{\bbomega}
\newcommand{\One}{\mymathbb{1}}
\newcommand{\Ord}{\mathrm{Ord}}
\newcommand{\PCluster}{\mathbf{PCluster}}
\newcommand{\POs}{\mathbf{Poset}}
\newcommand{\Poset}{\mathbf{Poset}}
\newcommand{\PROJ}{\mathbf{Proj}}
\newcommand{\Psh}{\mathbf{Psh}}
\newcommand{\Ring}{\mathbf{Ring}}
\newcommand{\Rng}{\mathbf{Rng}}
\newcommand{\SET}{\mathbf{SET}}
\newcommand{\Set}{\mathbf{Set}}
\newcommand{\setmid}{\mathrel{}\middle|\mathrel{}}
\newcommand{\Sh}{\mathbf{Sh}}
\newcommand{\Shv}{\mathbf{Shv}}
\newcommand{\Three}{\mymathbb{3}}
\renewcommand{\Top}{\mathbf{Top}}
\newcommand{\Two}{\mymathbb{2}}
\newcommand{\Vect}{\mathbf{Vect}}
\newcommand{\Zero}{\mymathbb{0}}
\newcommand{\sA}{\mathscr{A}}
\newcommand{\sB}{\mathscr{B}}
\newcommand{\sC}{\mathscr{C}}
\newcommand{\sD}{\mathscr{D}}
\newcommand{\sE}{\mathscr{E}}
\newcommand{\sF}{\mathscr{F}}
\newcommand{\sG}{\mathscr{G}}
\newcommand{\sH}{\mathscr{H}}
\newcommand{\sI}{\mathscr{I}}
\newcommand{\sJ}{\mathscr{J}}
\newcommand{\sK}{\mathscr{K}}
\newcommand{\sL}{\mathscr{L}}
\newcommand{\sM}{\mathscr{M}}
\newcommand{\sN}{\mathscr{N}}
\newcommand{\sO}{\mathscr{O}}
\newcommand{\sP}{\mathscr{P}}
\newcommand{\sQ}{\mathscr{Q}}
\newcommand{\sR}{\mathscr{R}}
\newcommand{\sS}{\mathscr{S}}
\newcommand{\sT}{\mathscr{T}}
\newcommand{\sU}{\mathscr{U}}
\newcommand{\sV}{\mathscr{V}}
\newcommand{\sW}{\mathscr{W}}
\newcommand{\sX}{\mathscr{X}}
\newcommand{\sY}{\mathscr{Y}}
\newcommand{\sZ}{\mathscr{Z}}
\newcommand{\bfA}{\mathbf{A}}
\newcommand{\bfB}{\mathbf{B}}
\newcommand{\bfC}{\mathbf{C}}
\newcommand{\bfD}{\mathbf{D}}
\newcommand{\bfE}{\mathbf{E}}
\newcommand{\bfF}{\mathbf{F}}
\newcommand{\bfG}{\mathbf{G}}
\newcommand{\bfH}{\mathbf{H}}
\newcommand{\bfI}{\mathbf{I}}
\newcommand{\bfJ}{\mathbf{J}}
\newcommand{\bfK}{\mathbf{K}}
\newcommand{\bfL}{\mathbf{L}}
\newcommand{\bfM}{\mathbf{M}}
\newcommand{\bfN}{\mathbf{N}}
\newcommand{\bfO}{\mathbf{O}}
\newcommand{\bfP}{\mathbf{P}}
\newcommand{\bfQ}{\mathbf{Q}}
\newcommand{\bfR}{\mathbf{R}}
\newcommand{\bfS}{\mathbf{S}}
\newcommand{\bfT}{\mathbf{T}}
\newcommand{\bfU}{\mathbf{U}}
\newcommand{\bfV}{\mathbf{V}}
\newcommand{\bfW}{\mathbf{W}}
\newcommand{\bfX}{\mathbf{X}}
\newcommand{\bfY}{\mathbf{Y}}
\newcommand{\bfZ}{\mathbf{Z}}
\newcommand{\bfa}{\mathbf{a}}
\newcommand{\bfb}{\mathbf{b}}
\newcommand{\bfc}{\mathbf{c}}
\newcommand{\bfd}{\mathbf{d}}
\newcommand{\bfe}{\mathbf{e}}
\newcommand{\bff}{\mathbf{f}}
\newcommand{\bfg}{\mathbf{g}}
\newcommand{\bfh}{\mathbf{h}}
\newcommand{\bfi}{\mathbf{i}}
\newcommand{\bfj}{\mathbf{j}}
\newcommand{\bfk}{\mathbf{k}}
\newcommand{\bfl}{\mathbf{l}}
\newcommand{\bfm}{\mathbf{m}}
\newcommand{\bfn}{\mathbf{n}}
\newcommand{\bfo}{\mathbf{o}}
\newcommand{\bfp}{\mathbf{p}}
\newcommand{\bfq}{\mathbf{q}}
\newcommand{\bfr}{\mathbf{r}}
\newcommand{\bfs}{\mathbf{s}}
\newcommand{\bft}{\mathbf{t}}
\newcommand{\bfu}{\mathbf{u}}
\newcommand{\bfv}{\mathbf{v}}
\newcommand{\bfw}{\mathbf{w}}
\newcommand{\bfx}{\mathbf{x}}
\newcommand{\bfy}{\mathbf{y}}
\newcommand{\bfz}{\mathbf{z}}
\newcommand{\frA}{\mathfrak{A}}
\newcommand{\frB}{\mathfrak{B}}
\newcommand{\frC}{\mathfrak{C}}
\newcommand{\frD}{\mathfrak{D}}
\newcommand{\frE}{\mathfrak{E}}
\newcommand{\frF}{\mathfrak{F}}
\newcommand{\frG}{\mathfrak{G}}
\newcommand{\frH}{\mathfrak{H}}
\newcommand{\frI}{\mathfrak{I}}
\newcommand{\frJ}{\mathfrak{J}}
\newcommand{\frK}{\mathfrak{K}}
\newcommand{\frL}{\mathfrak{L}}
\newcommand{\frM}{\mathfrak{M}}
\newcommand{\frN}{\mathfrak{N}}
\newcommand{\frO}{\mathfrak{O}}
\newcommand{\frP}{\mathfrak{P}}
\newcommand{\frQ}{\mathfrak{Q}}
\newcommand{\frR}{\mathfrak{R}}
\newcommand{\frS}{\mathfrak{S}}
\newcommand{\frT}{\mathfrak{T}}
\newcommand{\frU}{\mathfrak{U}}
\newcommand{\frV}{\mathfrak{V}}
\newcommand{\frW}{\mathfrak{W}}
\newcommand{\frX}{\mathfrak{X}}
\newcommand{\frY}{\mathfrak{Y}}
\newcommand{\frZ}{\mathfrak{Z}}
\newcommand{\Fra}{\mathfrak{a}}
\newcommand{\Frb}{\mathfrak{b}}
\newcommand{\Frc}{\mathfrak{c}}
\newcommand{\Frd}{\mathfrak{d}}
\newcommand{\Fre}{\mathfrak{e}}
\newcommand{\Frf}{\mathfrak{f}}
\newcommand{\Frg}{\mathfrak{g}}
\newcommand{\Frh}{\mathfrak{h}}
\newcommand{\Fri}{\mathfrak{i}}
\newcommand{\Frj}{\mathfrak{j}}
\newcommand{\Frk}{\mathfrak{k}}
\newcommand{\Frl}{\mathfrak{l}}
\newcommand{\Frm}{\mathfrak{m}}
\newcommand{\Frn}{\mathfrak{n}}
\newcommand{\Fro}{\mathfrak{o}}
\newcommand{\Frp}{\mathfrak{p}}
\newcommand{\Frq}{\mathfrak{q}}
\newcommand{\Frr}{\mathfrak{r}}
\newcommand{\Frs}{\mathfrak{s}}
\newcommand{\Frt}{\mathfrak{t}}
\newcommand{\Fru}{\mathfrak{u}}
\newcommand{\Frv}{\mathfrak{v}}
\newcommand{\Frw}{\mathfrak{w}}
\newcommand{\Frx}{\mathfrak{x}}
\newcommand{\Fry}{\mathfrak{y}}
\newcommand{\Frz}{\mathfrak{z}}
\newcommand{\rA}{\mathrm{A}}
\newcommand{\rB}{\mathrm{B}}
\newcommand{\rC}{\mathrm{C}}
\newcommand{\rD}{\mathrm{D}}
\newcommand{\rE}{\mathrm{E}}
\newcommand{\rF}{\mathrm{F}}
\newcommand{\rG}{\mathrm{G}}
\newcommand{\rH}{\mathrm{H}}
\newcommand{\rI}{\mathrm{I}}
\newcommand{\rJ}{\mathrm{J}}
\newcommand{\rK}{\mathrm{K}}
\newcommand{\rL}{\mathrm{L}}
\newcommand{\rM}{\mathrm{M}}
\newcommand{\rN}{\mathrm{N}}
\newcommand{\rO}{\mathrm{O}}
\newcommand{\rP}{\mathrm{P}}
\newcommand{\rQ}{\mathrm{Q}}
\newcommand{\rR}{\mathrm{R}}
\newcommand{\rS}{\mathrm{S}}
\newcommand{\rT}{\mathrm{T}}
\newcommand{\rU}{\mathrm{U}}
\newcommand{\rV}{\mathrm{V}}
\newcommand{\rW}{\mathrm{W}}
\newcommand{\rX}{\mathrm{X}}
\newcommand{\rY}{\mathrm{Y}}
\newcommand{\rZ}{\mathrm{Z}}
\newcommand{\sfA}{\mathsf{A}}
\newcommand{\sfB}{\mathsf{B}}
\newcommand{\sfC}{\mathsf{C}}
\newcommand{\sfD}{\mathsf{D}}
\newcommand{\sfE}{\mathsf{E}}
\newcommand{\sfF}{\mathsf{F}}
\newcommand{\sfG}{\mathsf{G}}
\newcommand{\sfH}{\mathsf{H}}
\newcommand{\sfI}{\mathsf{I}}
\newcommand{\sfJ}{\mathsf{J}}
\newcommand{\sfK}{\mathsf{K}}
\newcommand{\sfL}{\mathsf{L}}
\newcommand{\sfM}{\mathsf{M}}
\newcommand{\sfN}{\mathsf{N}}
\newcommand{\sfO}{\mathsf{O}}
\newcommand{\sfP}{\mathsf{P}}
\newcommand{\sfQ}{\mathsf{Q}}
\newcommand{\sfR}{\mathsf{R}}
\newcommand{\sfS}{\mathsf{S}}
\newcommand{\sfT}{\mathsf{T}}
\newcommand{\sfU}{\mathsf{U}}
\newcommand{\sfV}{\mathsf{V}}
\newcommand{\sfW}{\mathsf{W}}
\newcommand{\sfX}{\mathsf{X}}
\newcommand{\sfY}{\mathsf{Y}}
\newcommand{\sfZ}{\mathsf{Z}}
\newcommand{\bbA}{\mathbbm{A}}
\newcommand{\bbB}{\mathbbm{B}}
\newcommand{\bbC}{\mathbbm{C}}
\newcommand{\bbD}{\mathbbm{D}}
\newcommand{\bbE}{\mathbbm{E}}
\newcommand{\bbF}{\mathbbm{F}}
\newcommand{\bbG}{\mathbbm{G}}
\newcommand{\bbH}{\mathbbm{H}}
\newcommand{\bbI}{\mathbbm{I}}
\newcommand{\bbJ}{\mathbbm{J}}
\newcommand{\bbK}{\mathbbm{K}}
\newcommand{\bbL}{\mathbbm{L}}
\newcommand{\bbM}{\mathbbm{M}}
\newcommand{\bbN}{\mathbbm{N}}
\newcommand{\bbO}{\mathbbm{O}}
\newcommand{\bbP}{\mathbbm{P}}
\newcommand{\bbQ}{\mathbbm{Q}}
\newcommand{\bbR}{\mathbbm{R}}
\newcommand{\bbS}{\mathbbm{S}}
\newcommand{\bbT}{\mathbbm{T}}
\newcommand{\bbU}{\mathbbm{U}}
\newcommand{\bbV}{\mathbbm{V}}
\newcommand{\bbW}{\mathbbm{W}}
\newcommand{\bbX}{\mathbbm{X}}
\newcommand{\bbY}{\mathbbm{Y}}
\newcommand{\bbZ}{\mathbbm{Z}}
\newcommand{\bba}{\mathbbm{a}}
\newcommand{\bbb}{\mathbbm{b}}
\newcommand{\bbc}{\mathbbm{c}}
\newcommand{\bbd}{\mathbbm{d}}
\newcommand{\bbe}{\mathbbm{e}}
\newcommand{\bbf}{\mathbbm{f}}
\newcommand{\bbg}{\mathbbm{g}}
\newcommand{\bbh}{\mathbbm{h}}
\newcommand{\bbi}{\mathbbm{i}}
\newcommand{\bbj}{\mathbbm{j}}
\newcommand{\bbk}{\mathbbm{k}}
\newcommand{\bbl}{\mathbbm{l}}
\newcommand{\bbm}{\mathbbm{m}}
\newcommand{\bbn}{\mathbbm{n}}
\newcommand{\bbo}{\mathbbm{o}}
\newcommand{\bbp}{\mathbbm{p}}
\newcommand{\bbq}{\mathbbm{q}}
\newcommand{\bbr}{\mathbbm{r}}
\newcommand{\bbs}{\mathbbm{s}}
\newcommand{\bbt}{\mathbbm{t}}
\newcommand{\bbu}{\mathbbm{u}}
\newcommand{\bbv}{\mathbbm{v}}
\newcommand{\bbw}{\mathbbm{w}}
\newcommand{\bbx}{\mathbbm{x}}
\newcommand{\bby}{\mathbbm{y}}
\newcommand{\bbz}{\mathbbm{z}}
\newdir{ >}{{ }*!/-5pt/@{>}}
\eta_A : A \rightarrow (S \times A)^S, \qquad (\eta_A(a))(s) = (s,a)
\end{equation*} と定義される. 結果の $(s,a)$ を, 入力 $a \in A$ と現在の状態 $s \in S$ の対と考える.
また, 余単位 (counit) $\epsilon : S \times (-)^S \Rightarrow \Un{\Set}$ は 状態 $s \in S$ と, 各状態における入力を与える関数 $f : S \rightarrow A$ とに対して,
\begin{equation*}
\epsilon_A : S \times A^S \rightarrow A, \qquad \epsilon_A(s,f) = f(s)
\end{equation*} と定義される. つまり, 各 $\epsilon_A : S \times A^S \rightarrow A$ は各状態における入力を与える評価関数 (evaluation function) と見なせる.
3 つ組 $((S\times-)^S,\eta,\mu)$ は図式に対する計算により
\begin{equation*}
\begin{xy}
\xymatrix@=36pt {
(S\times(S\times(S \times A)^S)^S)^S
\ar[r]^(.55){(S\times\mu_A)^S}
\ar[d]_{\mu_{(S \times A)^S}}
& (S\times(S \times A)^S)^S ->
\ar[d]^{\mu_A} \\
(S\times(S \times A)^S)^S
\ar[r]_{\mu_A}
& (S \times A)^S
}
\end{xy}
\qquad
\begin{xy}
\xymatrix@=36pt {
(S \times A)^S \ar[r]^(.4){\eta_{(S \times A)^S}} \ar[dr]_{\Un{(S \times A)^S}}
& (S\times(S \times A)^S)^S \ar[d]^{\mu_A}
& (S \times A)^S \ar[l]_(0.4){(S\times\eta_A)^S} \ar[dl]^{\Un{(S \times A)^S}} \\
& (S \times A)^S &
}
\end{xy}
\end{equation*}
を可換にし, 実際にモナドになっていることがわかる.
この余単位 $\epsilon$ を用いて, モナド $S\times(-)^S$ の積 (multiplication) $\mu : (S\times(S\times(-)^S))^S \Rightarrow (S\times-)^S$ を明示的に書き下してみる.
$\mu=(-)^S\epsilon(S\times-) : (S\times(S \times -)^S)^S \rightarrow (S\times-)^S$ である. $u \in (S\times(S \times A)^S)^S$ をとり, 状態 $s \in S$ に対して,
\begin{equation*}
u(s) = (u_1(s),u_2(s))
\end{equation*} とおく. $u_1(s) \in S$, $u_2(s) : S \rightarrow S \times A$ である.
$u_1(s)$ は状態 $s$ に対する新しい状態, $u_2(s)$ は状態 $s$ に対する新たな状態と入力の対を与える.
このとき,
\begin{equation*}
\mu_A(u)(s) = ((-)^S\epsilon(S\times-))_A(u))(s) = ((\epsilon_{S \times A})^S(u))(s) = \epsilon_{S \times A}(u(s)) = \epsilon_{S \times A}(u_1(s),u_2(s)) = u_2(s)(u_1(s))
\end{equation*} となる.

Kleisli 圏における対象は集合であり, この集合を状態の集まりであると考える.
Kleisli 圏 $\Set_{(S\times-)^S}$ における射 $f : A \rightsquigarrow B$ は $\rC$ における関数 $f : A \rightarrow (S \times B)^S$ であるが, この関数 $f$ は $f : A \times S \rightarrow B \times S$ と見なせる.
入力 $a$ と現在の状態 $s$ の対 $(a,s) \in A \times S$ に対して
\begin{equation*}
f(a,s) = (f_s(a), s'(a,s))
\end{equation*} とおく. このとき, $f_s(a)$ は入力と状態の対 $(a,s)$ によって決まる出力 $f_s(a) \in B$ と, アップデートされた状態 $s'(a,s) \in S$ の対と考えられる.
たとえば, 関数型プログラミング言語 Haskell においては, このアップデートされた状態 $s'(a,s)$ は計算 $f$ の「副作用 (side effect)」として扱われる.
**数学: モナドから導かれる随伴の圏 (3)$
モナド ── 定義と随伴により引き起こされるモナド,
随伴から導かれるモナドの例 ── maybe モナド
モナドから導かれる随伴 (1) ── Eilenberg-Moore 圏
モナドから導かれる随伴 (2) ── Kleisli 圏 の続き.

集合 $S$ を固定する. $S$ の各元を「状態」と呼ぶことにする.
与えられた集合に対して, 状態 $S$ との直積を与える関手 $S\times- : \mathbf{Set} \rightarrow \mathbf{Set}$ と, $S$ から集合 $A$ への関数の集合 (これを $A^S$ と記す) を与える関手 $(-)^S :z \mathbf{Set} \rightarrow \mathbf{Set}$ は随伴関係 $S\times- \dashv (-)^S$ をなす.

この随伴からモナド $((S\times-)^S,\eta,\mu)$ が導かれる.
単位 (unit) $\eta : 1_{\mathbf{Set}} \Rightarrow (S\times-)^S$ は各集合 $A$ に対して
\begin{equation*}
\DeclareMathOperator{\Aff}{Aff}
\DeclareMathOperator{\Ar}{Ar}
\DeclareMathOperator{\Arccos}{Arccos}
\DeclareMathOperator{\Arcsin}{Arcsin}
\DeclareMathOperator{\Arr}{Arr}
\DeclareMathOperator{\arr}{arr}
\DeclareMathOperator{\Aut}{Aut}
\DeclareMathOperator{\Auto}{Auto}
\DeclareMathOperator{\Axiom}{Axiom}
\DeclareMathOperator{\Bilin}{Bilin}
\DeclareMathOperator{\card}{card}
\DeclareMathOperator{\Catelem}{\int}
\DeclareMathOperator{\Cocone}{Cocone}
\DeclareMathOperator{\Cod}{cod}
\DeclareMathOperator{\Codomain}{cod}
\DeclareMathOperator{\Coin}{coin}
\DeclareMathOperator{\coker}{coker}
\DeclareMathOperator{\Colim}{colim}
\DeclareMathOperator{\comp}{comp}
\DeclareMathOperator{\Conf}{Conf}
\DeclareMathOperator{\Conj}{Conj}
\DeclareMathOperator{\Dom}{dom}
\DeclareMathOperator{\Domain}{dom}
\DeclareMathOperator{\Edge}{Edge}
\DeclareMathOperator{\Ev}{ev}
\DeclareMathOperator{\GCD}{gcd}
\DeclareMathOperator{\Gr}{Gr}
\DeclareMathOperator{\Hom}{Hom}
\DeclareMathOperator{\Id}{id}
\DeclareMathOperator{\IM}{Im}
\DeclareMathOperator{\im}{im}
\DeclareMathOperator{\Ind}{ind}
\DeclareMathOperator{\INIT}{init}
\DeclareMathOperator{\iso}{iso}
\DeclareMathOperator{\LCM}{lcm}
\DeclareMathOperator{\Map}{Map}
\DeclareMathOperator{\mor}{arr}
\DeclareMathOperator{\Nat}{Nat}
\DeclareMathOperator{\Ob}{Ob}
\DeclareMathOperator{\ob}{ob}
\DeclareMathOperator{\ord}{ord}
\DeclareMathOperator{\Path}{Path}
\DeclareMathOperator{\PConf}{PConf}
\DeclareMathOperator{\Point}{Point}
\DeclareMathOperator{\Prob}{Prob}
\DeclareMathOperator{\RE}{Re}
\DeclareMathOperator{\Res}{res}
\DeclareMathOperator{\Sect}{Sect}
\DeclareMathOperator{\SF}{SF}
\DeclareMathOperator{\SkelCat}{sk}
\DeclareMathOperator{\Spec}{Spec}
\DeclareMathOperator{\Sq}{Sq}
\DeclareMathOperator{\Struct}{Struct}
\DeclareMathOperator{\Sub}{Sub}
\DeclareMathOperator{\Sym}{Sym}
\DeclareMathOperator{\TERM}{term}
\DeclareMathOperator{\Vertex}{Vert}
\newcommand{\Abs}[1]{\lvert{#1}\rvert}
\newcommand{\Bs}{\backslash}
\newcommand{\Cdot}{\,\cdot^{\mathrm{op}}}
\newcommand{\Comma}[2]{{{#1}\!\downarrow\!{#2}}}
\newcommand{\CommaCat}[2]{(#1/#2)}
\newcommand{\Complement}[1]{{\smash[t]{\mathstrut #1}}^{\mathrm{c}}}
\newcommand{\Emph}[1]{\textit{#1}}
\newcommand{\Eqclass}[4]{{#1#2#3}_{#4}}
\newcommand{\EqCls}[2]{{\left[#1\right]}_{#2}}
\newcommand{\Eqcls}[1]{\left[#1\right]}
\newcommand{\Expt}[2]{{\smash[t]{\mathstrut #1}}^{\mathstrut #2}}
\newcommand{\FnRest}[2]{{#1}|{#2}}
\newcommand{\Func}[2]{\mathrm{Func}(#1,#2)}
\newcommand{\g}{\varg}
\newcommand{\Inc}[2]{\mathrm{incl}\left(#1,#2\right)}
\newcommand{\Incl}[2]{\mathrm{incl}_{#1}^{#2}}
\newcommand{\InclArrow}[2]{\morphism(0,0)/>->/<450,0>[\Incl{#1}{#2} : {#1}\,\,`{#2};]}
\newcommand{\Ip}{\amalg}
\newcommand{\Lb}[1]{\mathrm{lb}(#1)}
\newcommand{\LH}{\mathrm{LH}}
\newcommand{\Lowerset}[1]{\downarrow\!\!{#1}}
\newcommand{\Leadsto}{\quad\leadsto\quad}
\newcommand{\Lrsquigarrow}{\quad\leftrightsquigarrow\quad}
\newcommand{\Mb}[1]{\mathbf{#1}}
\newcommand{\Mbb}[1]{\mathbb{#1}}
\newcommand{\Mi}[1]{\mathit{#1}}
\newcommand{\Mlb}[1]{\mathrm{mlb}(#1)}
\newcommand{\Mr}[1]{\mathrm{#1}}
\newcommand{\Ms}[1]{\mathscr{#1}}
\newcommand{\Mt}[1]{\mathtt{#1}}
\newcommand{\Mub}[1]{\mathrm{mub}(#1)}
\newcommand{\newinf}{\mathop{\mathrm{inf}\vphantom{\mathrm{sup}}}}
\newcommand{\newsup}{\mathop{\smash{\mathrm{sup}}}}
\newcommand{\Opp}[1]{#1^{\mathrm{op}}}
\newcommand{\Prj}[2]{\mathrm{proj}\left(#1,#2\right)}
\newcommand{\Proj}[2]{\mathrm{proj}^{#1}_{#2}}
\newcommand{\Pw}{\mathbf{P}}
\newcommand{\Rn}[1]{{\bmdefine{R}}^{#1}}
\newcommand{\q}{\hspace{1em}}
\newcommand{\qq}{\hspace{0.5em}}
\newcommand{\Rel}[1]{\langle{#1}\rangle}
\newcommand{\Rest}[2]{{#1}|{#2}}
\newcommand{\Slash}[1]{{\ooalign{\hfil/\hfil\crcr$#1$}}}
\newcommand{\SliCat}[2]{{#1}\,\big/\,{#2}}
\newcommand{\Src}{d^{0,\mathrm{op}}}
\newcommand{\ssqrt}[1]{\sqrt{\smash[b]{\mathstrut #1}}}
\newcommand{\Tgt}{d^{1,\mathrm{op}}}
\newcommand{\TwArCat}[1]{\mathrm{Tw}(#1)}
\newcommand{\Ub}[1]{\mathrm{ub}(#1)}
\newcommand{\Un}[1]{{1}_{#1}}
\newcommand{\Upperset}[1]{\uparrow\!\!{#1}}
\newcommand{\VectCat}[1]{#1 \mathchar`- \mathbf{Vect}}
\newcommand{\VS}{\vspace*{-1ex}}
\newcommand{\Wbar}[1]{\widebar{#1}}
\newcommand{\Ab}{\mathbf{Ab}}
\newcommand{\Adj}{\mathbf{Adj}}
\newcommand{\Affine}{\mathbf{Affine}}
\newcommand{\Ban}{\mathbf{Ban}}
\newcommand{\bbDelta}{\Delta\mkern-12mu\Delta}
\newcommand{\Card}{\mathbf{Card}}
\newcommand{\CAT}{\mathbf{CAT}}
\newcommand{\Cat}{\mathbf{Cat}}
\newcommand{\cgHaus}{\mathbf{cgHaus}}
\newcommand{\Ch}{\mathbf{Ch}}
\newcommand{\cHaus}{\mathbf{cHaus}}
\newcommand{\Cluster}{\mathbf{Cluster}}
\newcommand{\CMonoid}{\mathbf{CMonoid}}
\newcommand{\CRing}{\mathbf{CRing}}
\newcommand{\DirGraph}{\mathbf{DirGraph}}
\newcommand{\End}{\mathbf{End}}
\newcommand{\Euclid}{\mathbf{Euclid}}
\newcommand{\Field}{\mathbf{Field}}
\newcommand{\Fin}{\mathbf{Fin}}
\newcommand{\FinMetric}{\mathbf{FinMetric}}
\newcommand{\Four}{\mathbbm{4}}
\newcommand{\Graph}{\mathbf{Graph}}
\newcommand{\GrMod}{\mathbf{GrMod}}
\newcommand{\Grp}{\mathbf{Grp}}
\newcommand{\Group}{\mathbf{Group}}
\newcommand{\Groupoid}{\mathbf{Groupoid}}
\newcommand{\Haus}{\mathbf{Haus}}
\newcommand{\Htpy}{\mathbf{Htpy}}
\newcommand{\Man}{\mathbf{Man}}
\newcommand{\Mapsdown}{\rotatebox{270}{$\mapsto$}}
\newcommand{\Mapsup}{\rotatebox{90}{$\mapsto$}}
\newcommand{\Mat}{\mathbf{Mat}}
\newcommand{\Meas}{\mathbf{Meas}}
\newcommand{\Measure}{\mathbf{Measure}}
\newcommand{\Mod}{\mathbf{Mod}}
\newcommand{\Model}{\mathbf{Model}}
\newcommand{\Mon}{\mathbf{Mon}}
\newcommand{\Monoid}{\mathbf{Monoid}}
\newcommand{\oMega}{\bbomega}
\newcommand{\One}{\mymathbb{1}}
\newcommand{\Ord}{\mathrm{Ord}}
\newcommand{\PCluster}{\mathbf{PCluster}}
\newcommand{\POs}{\mathbf{Poset}}
\newcommand{\Poset}{\mathbf{Poset}}
\newcommand{\PROJ}{\mathbf{Proj}}
\newcommand{\Psh}{\mathbf{Psh}}
\newcommand{\Ring}{\mathbf{Ring}}
\newcommand{\Rng}{\mathbf{Rng}}
\newcommand{\SET}{\mathbf{SET}}
\newcommand{\Set}{\mathbf{Set}}
\newcommand{\setmid}{\mathrel{}\middle|\mathrel{}}
\newcommand{\Sh}{\mathbf{Sh}}
\newcommand{\Shv}{\mathbf{Shv}}
\newcommand{\Three}{\mymathbb{3}}
\renewcommand{\Top}{\mathbf{Top}}
\newcommand{\Two}{\mymathbb{2}}
\newcommand{\Vect}{\mathbf{Vect}}
\newcommand{\Zero}{\mymathbb{0}}
\newcommand{\sA}{\mathscr{A}}
\newcommand{\sB}{\mathscr{B}}
\newcommand{\sC}{\mathscr{C}}
\newcommand{\sD}{\mathscr{D}}
\newcommand{\sE}{\mathscr{E}}
\newcommand{\sF}{\mathscr{F}}
\newcommand{\sG}{\mathscr{G}}
\newcommand{\sH}{\mathscr{H}}
\newcommand{\sI}{\mathscr{I}}
\newcommand{\sJ}{\mathscr{J}}
\newcommand{\sK}{\mathscr{K}}
\newcommand{\sL}{\mathscr{L}}
\newcommand{\sM}{\mathscr{M}}
\newcommand{\sN}{\mathscr{N}}
\newcommand{\sO}{\mathscr{O}}
\newcommand{\sP}{\mathscr{P}}
\newcommand{\sQ}{\mathscr{Q}}
\newcommand{\sR}{\mathscr{R}}
\newcommand{\sS}{\mathscr{S}}
\newcommand{\sT}{\mathscr{T}}
\newcommand{\sU}{\mathscr{U}}
\newcommand{\sV}{\mathscr{V}}
\newcommand{\sW}{\mathscr{W}}
\newcommand{\sX}{\mathscr{X}}
\newcommand{\sY}{\mathscr{Y}}
\newcommand{\sZ}{\mathscr{Z}}
\newcommand{\bfA}{\mathbf{A}}
\newcommand{\bfB}{\mathbf{B}}
\newcommand{\bfC}{\mathbf{C}}
\newcommand{\bfD}{\mathbf{D}}
\newcommand{\bfE}{\mathbf{E}}
\newcommand{\bfF}{\mathbf{F}}
\newcommand{\bfG}{\mathbf{G}}
\newcommand{\bfH}{\mathbf{H}}
\newcommand{\bfI}{\mathbf{I}}
\newcommand{\bfJ}{\mathbf{J}}
\newcommand{\bfK}{\mathbf{K}}
\newcommand{\bfL}{\mathbf{L}}
\newcommand{\bfM}{\mathbf{M}}
\newcommand{\bfN}{\mathbf{N}}
\newcommand{\bfO}{\mathbf{O}}
\newcommand{\bfP}{\mathbf{P}}
\newcommand{\bfQ}{\mathbf{Q}}
\newcommand{\bfR}{\mathbf{R}}
\newcommand{\bfS}{\mathbf{S}}
\newcommand{\bfT}{\mathbf{T}}
\newcommand{\bfU}{\mathbf{U}}
\newcommand{\bfV}{\mathbf{V}}
\newcommand{\bfW}{\mathbf{W}}
\newcommand{\bfX}{\mathbf{X}}
\newcommand{\bfY}{\mathbf{Y}}
\newcommand{\bfZ}{\mathbf{Z}}
\newcommand{\bfa}{\mathbf{a}}
\newcommand{\bfb}{\mathbf{b}}
\newcommand{\bfc}{\mathbf{c}}
\newcommand{\bfd}{\mathbf{d}}
\newcommand{\bfe}{\mathbf{e}}
\newcommand{\bff}{\mathbf{f}}
\newcommand{\bfg}{\mathbf{g}}
\newcommand{\bfh}{\mathbf{h}}
\newcommand{\bfi}{\mathbf{i}}
\newcommand{\bfj}{\mathbf{j}}
\newcommand{\bfk}{\mathbf{k}}
\newcommand{\bfl}{\mathbf{l}}
\newcommand{\bfm}{\mathbf{m}}
\newcommand{\bfn}{\mathbf{n}}
\newcommand{\bfo}{\mathbf{o}}
\newcommand{\bfp}{\mathbf{p}}
\newcommand{\bfq}{\mathbf{q}}
\newcommand{\bfr}{\mathbf{r}}
\newcommand{\bfs}{\mathbf{s}}
\newcommand{\bft}{\mathbf{t}}
\newcommand{\bfu}{\mathbf{u}}
\newcommand{\bfv}{\mathbf{v}}
\newcommand{\bfw}{\mathbf{w}}
\newcommand{\bfx}{\mathbf{x}}
\newcommand{\bfy}{\mathbf{y}}
\newcommand{\bfz}{\mathbf{z}}
\newcommand{\frA}{\mathfrak{A}}
\newcommand{\frB}{\mathfrak{B}}
\newcommand{\frC}{\mathfrak{C}}
\newcommand{\frD}{\mathfrak{D}}
\newcommand{\frE}{\mathfrak{E}}
\newcommand{\frF}{\mathfrak{F}}
\newcommand{\frG}{\mathfrak{G}}
\newcommand{\frH}{\mathfrak{H}}
\newcommand{\frI}{\mathfrak{I}}
\newcommand{\frJ}{\mathfrak{J}}
\newcommand{\frK}{\mathfrak{K}}
\newcommand{\frL}{\mathfrak{L}}
\newcommand{\frM}{\mathfrak{M}}
\newcommand{\frN}{\mathfrak{N}}
\newcommand{\frO}{\mathfrak{O}}
\newcommand{\frP}{\mathfrak{P}}
\newcommand{\frQ}{\mathfrak{Q}}
\newcommand{\frR}{\mathfrak{R}}
\newcommand{\frS}{\mathfrak{S}}
\newcommand{\frT}{\mathfrak{T}}
\newcommand{\frU}{\mathfrak{U}}
\newcommand{\frV}{\mathfrak{V}}
\newcommand{\frW}{\mathfrak{W}}
\newcommand{\frX}{\mathfrak{X}}
\newcommand{\frY}{\mathfrak{Y}}
\newcommand{\frZ}{\mathfrak{Z}}
\newcommand{\Fra}{\mathfrak{a}}
\newcommand{\Frb}{\mathfrak{b}}
\newcommand{\Frc}{\mathfrak{c}}
\newcommand{\Frd}{\mathfrak{d}}
\newcommand{\Fre}{\mathfrak{e}}
\newcommand{\Frf}{\mathfrak{f}}
\newcommand{\Frg}{\mathfrak{g}}
\newcommand{\Frh}{\mathfrak{h}}
\newcommand{\Fri}{\mathfrak{i}}
\newcommand{\Frj}{\mathfrak{j}}
\newcommand{\Frk}{\mathfrak{k}}
\newcommand{\Frl}{\mathfrak{l}}
\newcommand{\Frm}{\mathfrak{m}}
\newcommand{\Frn}{\mathfrak{n}}
\newcommand{\Fro}{\mathfrak{o}}
\newcommand{\Frp}{\mathfrak{p}}
\newcommand{\Frq}{\mathfrak{q}}
\newcommand{\Frr}{\mathfrak{r}}
\newcommand{\Frs}{\mathfrak{s}}
\newcommand{\Frt}{\mathfrak{t}}
\newcommand{\Fru}{\mathfrak{u}}
\newcommand{\Frv}{\mathfrak{v}}
\newcommand{\Frw}{\mathfrak{w}}
\newcommand{\Frx}{\mathfrak{x}}
\newcommand{\Fry}{\mathfrak{y}}
\newcommand{\Frz}{\mathfrak{z}}
\newcommand{\rA}{\mathrm{A}}
\newcommand{\rB}{\mathrm{B}}
\newcommand{\rC}{\mathrm{C}}
\newcommand{\rD}{\mathrm{D}}
\newcommand{\rE}{\mathrm{E}}
\newcommand{\rF}{\mathrm{F}}
\newcommand{\rG}{\mathrm{G}}
\newcommand{\rH}{\mathrm{H}}
\newcommand{\rI}{\mathrm{I}}
\newcommand{\rJ}{\mathrm{J}}
\newcommand{\rK}{\mathrm{K}}
\newcommand{\rL}{\mathrm{L}}
\newcommand{\rM}{\mathrm{M}}
\newcommand{\rN}{\mathrm{N}}
\newcommand{\rO}{\mathrm{O}}
\newcommand{\rP}{\mathrm{P}}
\newcommand{\rQ}{\mathrm{Q}}
\newcommand{\rR}{\mathrm{R}}
\newcommand{\rS}{\mathrm{S}}
\newcommand{\rT}{\mathrm{T}}
\newcommand{\rU}{\mathrm{U}}
\newcommand{\rV}{\mathrm{V}}
\newcommand{\rW}{\mathrm{W}}
\newcommand{\rX}{\mathrm{X}}
\newcommand{\rY}{\mathrm{Y}}
\newcommand{\rZ}{\mathrm{Z}}
\newcommand{\sfA}{\mathsf{A}}
\newcommand{\sfB}{\mathsf{B}}
\newcommand{\sfC}{\mathsf{C}}
\newcommand{\sfD}{\mathsf{D}}
\newcommand{\sfE}{\mathsf{E}}
\newcommand{\sfF}{\mathsf{F}}
\newcommand{\sfG}{\mathsf{G}}
\newcommand{\sfH}{\mathsf{H}}
\newcommand{\sfI}{\mathsf{I}}
\newcommand{\sfJ}{\mathsf{J}}
\newcommand{\sfK}{\mathsf{K}}
\newcommand{\sfL}{\mathsf{L}}
\newcommand{\sfM}{\mathsf{M}}
\newcommand{\sfN}{\mathsf{N}}
\newcommand{\sfO}{\mathsf{O}}
\newcommand{\sfP}{\mathsf{P}}
\newcommand{\sfQ}{\mathsf{Q}}
\newcommand{\sfR}{\mathsf{R}}
\newcommand{\sfS}{\mathsf{S}}
\newcommand{\sfT}{\mathsf{T}}
\newcommand{\sfU}{\mathsf{U}}
\newcommand{\sfV}{\mathsf{V}}
\newcommand{\sfW}{\mathsf{W}}
\newcommand{\sfX}{\mathsf{X}}
\newcommand{\sfY}{\mathsf{Y}}
\newcommand{\sfZ}{\mathsf{Z}}
\newcommand{\bbA}{\mathbbm{A}}
\newcommand{\bbB}{\mathbbm{B}}
\newcommand{\bbC}{\mathbbm{C}}
\newcommand{\bbD}{\mathbbm{D}}
\newcommand{\bbE}{\mathbbm{E}}
\newcommand{\bbF}{\mathbbm{F}}
\newcommand{\bbG}{\mathbbm{G}}
\newcommand{\bbH}{\mathbbm{H}}
\newcommand{\bbI}{\mathbbm{I}}
\newcommand{\bbJ}{\mathbbm{J}}
\newcommand{\bbK}{\mathbbm{K}}
\newcommand{\bbL}{\mathbbm{L}}
\newcommand{\bbM}{\mathbbm{M}}
\newcommand{\bbN}{\mathbbm{N}}
\newcommand{\bbO}{\mathbbm{O}}
\newcommand{\bbP}{\mathbbm{P}}
\newcommand{\bbQ}{\mathbbm{Q}}
\newcommand{\bbR}{\mathbbm{R}}
\newcommand{\bbS}{\mathbbm{S}}
\newcommand{\bbT}{\mathbbm{T}}
\newcommand{\bbU}{\mathbbm{U}}
\newcommand{\bbV}{\mathbbm{V}}
\newcommand{\bbW}{\mathbbm{W}}
\newcommand{\bbX}{\mathbbm{X}}
\newcommand{\bbY}{\mathbbm{Y}}
\newcommand{\bbZ}{\mathbbm{Z}}
\newcommand{\bba}{\mathbbm{a}}
\newcommand{\bbb}{\mathbbm{b}}
\newcommand{\bbc}{\mathbbm{c}}
\newcommand{\bbd}{\mathbbm{d}}
\newcommand{\bbe}{\mathbbm{e}}
\newcommand{\bbf}{\mathbbm{f}}
\newcommand{\bbg}{\mathbbm{g}}
\newcommand{\bbh}{\mathbbm{h}}
\newcommand{\bbi}{\mathbbm{i}}
\newcommand{\bbj}{\mathbbm{j}}
\newcommand{\bbk}{\mathbbm{k}}
\newcommand{\bbl}{\mathbbm{l}}
\newcommand{\bbm}{\mathbbm{m}}
\newcommand{\bbn}{\mathbbm{n}}
\newcommand{\bbo}{\mathbbm{o}}
\newcommand{\bbp}{\mathbbm{p}}
\newcommand{\bbq}{\mathbbm{q}}
\newcommand{\bbr}{\mathbbm{r}}
\newcommand{\bbs}{\mathbbm{s}}
\newcommand{\bbt}{\mathbbm{t}}
\newcommand{\bbu}{\mathbbm{u}}
\newcommand{\bbv}{\mathbbm{v}}
\newcommand{\bbw}{\mathbbm{w}}
\newcommand{\bbx}{\mathbbm{x}}
\newcommand{\bby}{\mathbbm{y}}
\newcommand{\bbz}{\mathbbm{z}}
\newdir{ >}{{ }*!/-5pt/@{>}}
\eta_A : A \rightarrow (S \times A)^S, \qquad (\eta_A(a))(s) = (s,a)
\end{equation*} と定義される. 結果の $(s,a)$ を, 入力 $a \in A$ と現在の状態 $s \in S$ の対と考える.
また, 余単位 (counit) $\epsilon : S \times (-)^S \Rightarrow \Un{\Set}$ は 状態 $s \in S$ と, 各状態における入力を与える関数 $f : S \rightarrow A$ とに対して,
\begin{equation*}
\epsilon_A : S \times A^S \rightarrow A, \qquad \epsilon_A(s,f) = f(s)
\end{equation*} と定義される. つまり, 各 $\epsilon_A : S \times A^S \rightarrow A$ は各状態における入力を与える評価関数 (evaluation function) と見なせる.
3 つ組 $((S\times-)^S,\eta,\mu)$ は図式に対する計算により
\begin{equation*}
\begin{xy}
\xymatrix@=36pt {
(S\times(S\times(S \times A)^S)^S)^S
\ar[r]^(.55){(S\times\mu_A)^S}
\ar[d]_{\mu_{(S \times A)^S}}
& (S\times(S \times A)^S)^S ->
\ar[d]^{\mu_A} \\
(S\times(S \times A)^S)^S
\ar[r]_{\mu_A}
& (S \times A)^S
}
\end{xy}
\qquad
\begin{xy}
\xymatrix@=36pt {
(S \times A)^S \ar[r]^(.4){\eta_{(S \times A)^S}} \ar[dr]_{\Un{(S \times A)^S}}
& (S\times(S \times A)^S)^S \ar[d]^{\mu_A}
& (S \times A)^S \ar[l]_(0.4){(S\times\eta_A)^S} \ar[dl]^{\Un{(S \times A)^S}} \\
& (S \times A)^S &
}
\end{xy}
\end{equation*}
を可換にし, 実際にモナドになっていることがわかる.
この余単位 $\epsilon$ を用いて, モナド $S\times(-)^S$ の積 (multiplication) $\mu : (S\times(S\times(-)^S))^S \Rightarrow (S\times-)^S$ を明示的に書き下してみる.
$\mu=(-)^S\epsilon(S\times-) : (S\times(S \times -)^S)^S \rightarrow (S\times-)^S$ である. $u \in (S\times(S \times A)^S)^S$ をとり, 状態 $s \in S$ に対して,
\begin{equation*}
u(s) = (u_1(s),u_2(s))
\end{equation*} とおく. $u_1(s) \in S$, $u_2(s) : S \rightarrow S \times A$ である.
$u_1(s)$ は状態 $s$ に対する新しい状態, $u_2(s)$ は状態 $s$ に対する新たな状態と入力の対を与える.
このとき,
\begin{equation*}
\mu_A(u)(s) = ((-)^S\epsilon(S\times-))_A(u))(s) = ((\epsilon_{S \times A})^S(u))(s) = \epsilon_{S \times A}(u(s)) = \epsilon_{S \times A}(u_1(s),u_2(s)) = u_2(s)(u_1(s))
\end{equation*} となる.

Kleisli 圏における対象は集合であり, この集合を状態の集まりであると考える.
Kleisli 圏 $\Set_{(S\times-)^S}$ における射 $f : A \rightsquigarrow B$ は $\rC$ における関数 $f : A \rightarrow (S \times B)^S$ であるが, この関数 $f$ は $f : A \times S \rightarrow B \times S$ と見なせる.
入力 $a$ と現在の状態 $s$ の対 $(a,s) \in A \times S$ に対して
\begin{equation*}
f(a,s) = (f_s(a), s'(a,s))
\end{equation*} とおく. このとき, $f_s(a)$ は入力と状態の対 $(a,s)$ によって決まる出力 $f_s(a) \in B$ と, アップデートされた状態 $s'(a,s) \in S$ の対と考えられる.
たとえば, 関数型プログラミング言語 Haskell においては, このアップデートされた状態 $s'(a,s)$ は計算 $f$ の「副作用 (side effect)」として扱われる.
posted by 底彦 at 17:23 | Comment(0) | TrackBack(0) | 数学

2023年07月20日

デイケアに行く

6 時起床.
何とか鬱からは回復できた.

朝食をとる.
キャベツとベーコンエッグとコーヒー.

午前中は数学をやる.
Kleisli 圏の復習をする. 今一つ集中できない.

午後からデイケアに行く.

今日のプログラムは「生きづらさをつぶやく」.
最近の鬱の苦しさなどを話した.
吐き出してすっきりする.

夕方に帰宅.

食事をとる.
牛肉と玉葱炒めとご飯.

片付けをして布団に入る.
posted by 底彦 at 19:12 | Comment(0) | TrackBack(0) | 日常生活

Emacs: emacsclient が動かない

TeX で書いている数学のノートに対して magit-mode から git-commit を実行したところ,

Waiting for Emacs...
*ERROR*: Wrong number of arguments: ((vterm--process eshell-preoutput-filter-functions t) (fn &optional next-buffer args) "Honor `with-editor-server-window-alist' (which see)." (let ((server-window (save-current-buffer (set-buffer (or next-buffer (current-buffer))) (if with-editor-mode (progn (setq with-editor-previous-winconf (current-window-configuration)))) (with-editor-server-window)))) (funcall fn next-buffer args))), 5

のようなエラーが出た.

調べたところ, このメッセージは emacsclient から出力されている.
magit-mode が git-commit 内で emacsclient を呼び出している箇所で Emacs30 の server.el の中で定義されている server-switch-buffer という関数が実行されている.
一方, ELPA からインストールした with-editor.el 内で定義されている server-switch-buffer--with-editor-server-window-alist 関数は本来 server-switch-buffer 関数と同じ引数を持つ必要があるのが, 一致していなかった.

Emacs30 の server.el 内の server-switch-buffer 関数は引数として

&optional next-buffer killed-one filepos this-frame-only

をとるが, with-editor.el 内で定義されている server-switch-buffer--with-editor-server-window-alist は引数

&optional next-buffer &rest args

によって呼び出されている.

これに基き, with-editor.el に次のパッチ:

--- with-editor.el.orig Mon Dec 5 02:20:39 2022
+++ with-editor.el Thu Jul 20 17:39:18 2023
@@ -532,7 +532,8 @@
server-window))

(defun server-switch-buffer--with-editor-server-window-alist
- (fn &optional next-buffer &rest args)
+ (fn &optional next-buffer killed-one filepos this-frame-only)
"Honor `with-editor-server-window-alist' (which see)."
(let ((server-window (with-current-buffer
(or next-buffer (current-buffer))
@@ -540,7 +541,7 @@
(setq with-editor-previous-winconf
(current-window-configuration)))
(with-editor-server-window))))
- (apply fn next-buffer args)))
+ (apply fn next-buffer killed-one filepos this-frame-only)))

(advice-add 'server-switch-buffer :around
#'server-switch-buffer--with-editor-server-window-alist)

を適用して, emacsclient は通常どうり動作するようになった.

magit-mode からの git-commit の実行もうまく行く.
ファン
検索
<< 2024年12月 >>
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
最新記事
最新コメント
眼科の定期検査 〜 散歩 by コトタマ (02/15)
眼科の定期検査 by 三文字寄れば文殊のヒフミヨ (09/21)
本を読んで過ごす by 底彦 (12/13)
本を読んで過ごす by ねこ (12/12)
数学の計算をする by 底彦 (12/04)
タグクラウド
カテゴリアーカイブ
仕事(59)
社会復帰(22)
(44)
コンピューター(211)
(1451)
借金(8)
勉強(13)
(13)
数学(97)
運動(8)
日常生活(1406)
(204)
健康(38)
読書(21)
プロフィール

ブログランキング・にほんブログ村へ
にほんブログ村
にほんブログ村 メンタルヘルスブログ うつ病(鬱病)へ
にほんブログ村
にほんブログ村 科学ブログ 数学へ
にほんブログ村
にほんブログ村 IT技術ブログ プログラム・プログラマーへ
にほんブログ村