Migdal

七草粥
七草粥

投稿

コノメノ的『カレーライスの作り方』1

1. 概要

『カレーライスの作り方』[1]という丼ものとカレーライスの数学的構成について述べた文献がある.この文献では主に丼ものを並べた丼集合の構造について考察されており,丼集合の食べ物集合への作用を通してカレーライスが定義されている.しかし,この文献では丼ものの内部構造や丼・カレーライスを食べ物たらしめる味という属性,食べるという行為についてはあまり触れられておらず,このような意味で,まだ食べ物に対する解像度が足りていないように感じられた.

そこで,この記事を含む「コノメノ的『カレーライスの作り方』」というシリーズでは,コノメノ的な枠組みを用いて丼やカレーライスに関する属性を捉え直し,さらなる精密な考察ができないかを試みていく.(このような取り組みは今までやったことがないので普通に失敗するかもしれない.)

この記事では,まず2節で『カレーライスの作り方』において,丼集合がどのように定義されているのかを説明する.続いて3節で食べ物集合を部分-全体関係(hanov)に基づいてブール代数としてモデル化し,4節で『カレーライスの作り方』の丼集合に相当する食べ物環を定義していく.本来はコノメノとの繋がりを示すために,扱う概念を網羅したskon木を先に提示すべきだが,それほどまとまっていないのでこの記事では省略する.1

この記事は,束や環といった代数的な構造に関する基本的な定義を前提知識にしている.筆者がこの記事を書くのにあたって参考にした主なサイトは参考文献に載せた.[2][3][4][5]

2. 『カレーライスの作り方』における丼集合

『カレーライスの作り方』では,以下のものを丼ものであると認め,(直感的な)丼集合 DD を丼もの全体の集合として定義している.

  1. 空丼(空集合のこと)
  2. 同じ丼ものを有限個並べたもの(「牛丼3丁」など)
  3. 同じ丼ものを負の個数並べたもの(「牛丼-3丁」など)
  4. 以上のものたちを並べたもの(「牛丼2丁と親子丼−3丁」)

端的に言えば,(直感的な)丼集合とは,1杯の丼もの(単丼ものと呼ばれる)の形式的な線形結合を集めた集合である.また,丼もののうち,正の個数並べた丼もの(「牛丼2丁と親子丼4丁」など)のみを集めた集合は正丼集合 D+D^+ と呼ばれる.2つの丼ものを並べる操作を加算 ++ ,片方の丼ものにもう片方の丼ものの中身を掛ける操作を乗算 \cdot とすることで,丼集合には環の構造が入る.

さらに,丼ものに対して,その丼の数を勘定するという操作 :DZ\lVert\cdot\rVert_丼:D\rightarrow \mathbb{Z} が定義できる.例えば, dd を「牛丼2丁と親子丼−3丁」とすると d=1\lVert d\rVert_丼=-1 である.

これらを踏まえて,『カレーライスの作り方』では一般化された丼集合は次のように定義されている.

定義  可換環 (S,+,)(S,+,\cdot) と部分集合 PSP\subseteq S ,環準同型 :SZ\lVert\cdot\rVert_丼:S\rightarrow\mathbb{Z} が以下の条件を満たすとき, (S,P,+,,)(S,P,+,\cdot,\lVert\cdot\rVert_丼) を一般化された丼集合という.

  1. +,+,\cdot PP に制限したとき, (P,+)(P,+) (P,)(P,\cdot) は半群である.
  2. \lVert\cdot\rVert_丼 の制限は, (P,+)(P,+) および (P,)(P,\cdot) から (N\{0},+)(\mathbb{N}\backslash\lbrace0\rbrace,+) および (N\{0},)(\mathbb{N}\backslash\lbrace0\rbrace,\cdot) への半群準同型である.
  3. 任意の dS\{0}d\in S\backslash\lbrace0\rbrace に対して, d+,dPd_+,d_- \in P d=d+dd=d_+-d_- を満たすものがあり, d++d\lVert d_++d_-\rVert_丼 を最小にするものが唯一存在する.
  4. 任意の dPd\in P に対して, PP の元からなる有限列 {di}\lbrace d_i\rbrace が一意に存在して, iI,di=1\forall i\in I, \lVert d_i\rVert_丼=1 かつ d=iIdid=\sum_{i\in I} d_i となる.

3. 食べ物のブール代数

食べ物(lavin)を集めた集合 LL を考える.
  ここでいう食べ物は時空間的における位置を考えず,それを構成する部分のみに注目したものとする.
LL は固有の関係として,部分-全体関係(hanov) \leq と呼ばれる順序関係を持っており,これによって, (L,)(L,\leq) は順序集合となる.

食べ物(特に丼もの)ついては以下の操作を考えることができる.

  1. 合併:カツと白米を合わせてカツ丼を作る.
  2. 交差:同じ白米を用いたカツ丼と牛丼がある場合,白米を共通部分として取り出すことができる.
  3. 分離:カツ丼をカツとごはんに分離する.

これらをモデル化する率直な方法は LL を束(1,2の操作が可能),特にブール代数(1,2,3の操作が可能)と考えることである.この考え方は上記の操作をモデル化できる点である程度うまくいくが,不自然なところもある.特に,次の2点が問題になる.

  1. 最小元0と最大元1の解釈に困る.特に0は全ての食べ物の部分であるという特異な性質を持っていて扱いづらい.しかし,0と1は計算のために必要であり,取り除くことは難しい.
  2. 共通部分の扱いが難しい.例えば次の問題を考えてみる. 「食べ物A,Bがある.食べ物Aは卵を2個持っていて,食べ物Bは卵を3個持っている.このとき,食べ物AとBの合併はいくつ卵を持つか?」 直感的には2+3=5個であるが,束としてモデル化すると,AとBは空でない共通部分を持つ可能性があり,卵の個数は3以上5以下であることしかわからない.5個だとしたい場合は,AとBの共通部分は空であると仮定しないといけない.

また,可補性→相対可補性,完備性→条件付き完備性,分配的→モジュラーのように完備ブール代数となるためのいくつかの条件を弱めても食べ物の性質を十分に表現できる可能性があるが,ここでは食べ物の集合 LL を完備ブール代数として話を進めていく.

定義   XLX\subseteq L に対して,最小元と最大元を取り除いた集合を X+=X\{0,1}X^+=X\backslash\lbrace 0, 1\rbrace とかく.

ごはん MM LL の部分集合で以下の性質を持つ.

  1. ごはんとごはんを合わせてもごはんである.( x,yM, xyM\forall x,y\in M,\ x\lor y\in M )
  2. ごはんの部分(空丼も含む)はごはんである.( x,yM, yxyM\forall x,y\in M,\ y\leq x\Longrightarrow y\in M )

このことから, MM LL のイデアルとしてモデル化できる.

次に,丼から具を分離させる操作について考える.

命題  任意の x,mLx,m\in L に対して,以下が成り立つ.

  1. (xm)(x¬m)=x\left(x\land m\right) \lor \left(x\land \lnot m\right)=x
  2. (xm)(x¬m)=0\left(x\land m\right) \land \left(x\land \lnot m\right)=0

ここで, m=Mm=\bigvee M とおくと, xmx\land m xx に含まれるごはんの部分, x¬mx\land \lnot m xx のごはん以外の部分を表す.

命題  任意の xLx\in L SLS\subseteq L に対して,以下は同値である.

  1. x¬S=y¬Sx\land \lnot \bigvee S=y\land \lnot \bigvee S
  2. sS, xs=ys\exists s\in S,\ x\lor s = y\lor s

証明
( 121\Longrightarrow2 )  s=Ss=\bigvee S とすればよい.
( 212\Longrightarrow1 )  xs=ysx\lor s = y\lor s とする.両辺に x¬Sx\land \lnot \bigvee S をかけると

x¬S=yx¬Sx\land \lnot \bigvee S = y\land x\land\lnot \bigvee S

となるから, x¬Sxy¬Sx\land \lnot \bigvee S\leq x\leq y\land \lnot \bigvee S がわかる.同様に, y¬Sx¬Sy\land \lnot \bigvee S\leq x\land \lnot \bigvee S も成り立つため x¬S=y¬Sx\land \lnot \bigvee S=y\land \lnot \bigvee S である.

   SS がイデアル MM であるとき,条件2は商ブール代数 L/ML/M において,同じ同値類に属する条件である.

命題   Lm:={xmxL}L\land m :=\lbrace x\land m\mid x\in L\rbrace は, ,\land, \lor LL のままにし,補元を ¬x:=¬xm\lnot' x:=\lnot x\land m とすることで完備ブール代数になる.

命題   MM LL のイデアルとすると, L/ML/M L¬ML\land \lnot \bigvee M は完備ブール代数として同型である.

証明
φ:L/M[x]x¬ML¬M\varphi : L/M\ni [x]\mapsto x\land \lnot \bigvee M\in L\land \lnot \bigvee M が同型を与える.

  1. 一つ前の命題よりwell-definednessと単射性がわかる.
  2. 全射性は明らか.2
  3. i(xi¬M)=(ixi)¬M\bigwedge_i\left(x_i\land \lnot \bigvee M\right) = \left(\bigwedge_ix_i \right)\land \lnot \bigvee M  (準同型性1)
  4. i(xi¬M)=(ixi)¬M\bigvee_i\left(x_i\land \lnot \bigvee M\right) = \left(\bigvee_ix_i \right)\land \lnot \bigvee M  (準同型性2)
  5. ¬x¬M=¬x¬M¬M=¬(x¬M)\lnot x \land \lnot\bigvee M = \lnot x \land \lnot\bigvee M\land \lnot\bigvee M = \lnot' (x \land \lnot\bigvee M)  (準同型性3)

この命題は,食べ物からごはんを含む部分を除いた集合,すなわち具の集合 L¬ML\land\lnot \bigvee M は,食べ物からごはんの量を同一視した集合と考えても良いことを示している.

定義   @@ LL 上に定義された二項演算( ,\land,\lor など)とする.このとき S,TLS,T\subseteq L に対して S@T={s@ts,tL}S @ T = \lbrace s @ t\mid s, t \in L\rbrace と定義し, @@ を拡張する.

命題   SLS\subseteq L と, TiL (iI)T_i\in L\ (i\in I) に対して以下が成り立つ.

  1. S(iITi)=iISTiS\lor \left(\bigcup_{i \in I}T_i\right) = \bigcup_{i \in I}S\lor T_i
  2. S(iITi)=iISTiS\land \left(\bigcup_{i \in I}T_i\right) = \bigcup_{i \in I}S\land T_i
  3. S(iITi)iISTiS\lor \left(\bigcap_{i \in I}T_i\right) \subseteq \bigcap_{i \in I}S\lor T_i
  4. S(iITi)iISTiS\land \left(\bigcap_{i \in I}T_i\right) \subseteq \bigcap_{i \in I}S\lor T_i

  3.4.において逆の包含は成り立たない.例えば, (L\MM)M=M=(L\backslash M \cap M)\lor M = \varnothing\lor M = \varnothing だが, (L\MM)(MM)=LM=M(L\backslash M \lor M) \cap (M\lor M) = L\cap M = M

定義  食べ物の集合 LL とごはんの集合 MM が与えられたとき,丼の集合を D=LM+D=L\lor M^+ と定義する.

命題   D=(L¬M)M+D=(L\land \lnot \bigvee M)\lor M^+ が成り立つ.つまり,丼は必ず(ごはんを含まないような)具の部分を持つ.

証明   xmLM+x\lor m\in L\lor M^+ をとる. xm=(x¬M)(xM)mx\lor m=(x\land \lnot\bigvee M)\lor(x\land\bigvee M)\lor m であり, x¬ML¬Mx\land \lnot\bigvee M\in L\land \lnot \bigvee M かつ MM がイデアルであることから (xM)mM+(x\land \bigvee M)\lor m\in M^+ と分解できる.

このように考えれば丼を具とごはんに分離できることがわかった.しかし,逆に現実における丼のエッジケースを考えてみると,具とごはんが分離しない丼も見方によってはありえるのかもしれない.例えば,金箔をごはんに載せた「金箔丼」を考えると,金箔はそれ自体は食べ物ではないため,具となる食べ物を分離することができない.

4. 容器と食べ物環

この記事ではあまり使わないが,容器(folka)の集合 CC と固有の関係である中身-容器関係(koplis) k(,)k(\cdot,\cdot) を導入する.

中身-容器関係は以下の性質を満たすとする.

  1. 空でない食べ物は容器を持つなら一意である.( xL c,cC, x0k(x,c)k(x,c)c=c\forall x\in L\ \forall c,c'\in C,\ x\neq 0\land k(x,c)\land k(x,c')\rightarrow c=c' )
  2. 食べ物がある容器に入っているとき,その部分と合併も同じ容器に入っている.( cC,{xLk(x,c)}\forall c\in C, \lbrace x\in L\mid k(x,c)\rbrace LL のイデアル)

命題   A={xk(x,c)}, A={xk(x,c)}A = \lbrace x\mid k(x,c)\rbrace,\ A' = \lbrace x\mid k(x,c')\rbrace とおく.このとき, AAA\neq A' ならば AA={0}A\cap A'=\lbrace 0 \rbrace である.

証明   AAA\neq A' なので ccc\neq c' である.もし, AA{0}A\cap A'\neq\lbrace 0 \rbrace ならば, 0yAA0\neq y \in A\cap A' が取れるため,条件1より c=cc=c' となり矛盾.

  この命題は条件1だけあれば成り立つ.

次に食べ物集合のモノイド環 KK を作っていく.

一般に,最小元を持つ上半束は \lor を演算として可換モノイドとみなせる. LL はこの条件を満たしており,以降は LL をブール代数と同時に \lor を演算としたモノイドとして扱う.

命題  食べ物集合の冪集合 P(L)\mathcal{P}(L) は, LL から引き継がれた \lor を演算としてモノイドとなる.このとき,単位元は {0}\lbrace 0\rbrace である.

定義  モノイド環 K:=Z[P(L)]={AP(L)nAAnAZ}K:=\mathbb{Z}[\mathcal{P}(L)]=\lbrace \sum_{A\in \mathcal{P}(L)}n_A A\mid n_A\in \mathbb{Z}\rbrace を食べ物環という.

このとき,環準同型 η:KZ\eta : K\rightarrow \mathbb{Z}

η(AP(L)nAA)=AP(L)nA\eta\left(\sum_{A\in \mathcal{P}(L)}n_A A\right) = \sum_{A\in \mathcal{P}(L)}n_A

は『カレーライスの作り方』における丼勘定 \lVert\cdot\rVert_丼 に相当する.

命題  モノイド準同型 α:LP(L)\alpha:\mathcal{L}\rightarrow\mathcal{P}(L) が与えられたとき,以下の α^:KK\hat{\alpha}: K\rightarrow K は環準同型である.

α^(AP(L)nAA)=AP(L)nAα(A)\hat{\alpha}\left(\sum_{A\in \mathcal{P}(L)} n_AA\right)=\sum_{A\in \mathcal{P}(L)} n_A\alpha(A)

命題  モノイド準同型 π:LP(L)\pi:L\rightarrow\mathcal{P}(L) が与えられたとき, π^:P(L)P(L)\hat{\pi}:\mathcal{P}(L)\rightarrow \mathcal{P}(L)

π^(A)=xAπ(x)\hat{\pi}(A)= \bigcup_{x\in A} \pi(x)

と定めると, π^\hat{\pi} は準同型である.

証明

  1. π^({0})=π(0)={0}\hat{\pi}(\lbrace 0\rbrace)=\pi(0) = \lbrace 0\rbrace
  2. π^(AB)=xA yBπ(xy)=xA yBπ(x)π(y)=(xAπ(x))(yBπ(y))=π^(A)π^(B)\hat{\pi}(A\lor B)=\bigcup_{\substack{x\in A\ y\in B}}\pi(x\lor y)=\bigcup_{\substack{x\in A\ y\in B}}\pi(x)\lor \pi(y)=(\bigcup_{x\in A}\pi(x))\lor(\bigcup_{y\in B}\pi(y))= \hat{\pi}(A)\lor \hat{\pi}(B)

命題  同値関係 xmx\sim_m (x¬m=y¬m) and (xm=0 iff ym=0)(x\land \lnot m = y\land \lnot m) \text{ and } (x\land m = 0 \text{ iff } y\land m = 0) と定義し, [x]m={yxy}[x]_m=\lbrace y\mid x\sim y\rbrace とすると, []m:LP(L)[\cdot]_m:L\rightarrow \mathcal{P}(L) は準同型である.

証明

  1. [xy]m[x]m[y]m[x\lor y]_m\subseteq [x]_m\lor [y]_m zxyz \sim x\lor y とし, a=(x¬m)(zm), b=(y¬m)(zm)a=(x\land \lnot m)\lor (z\land m),\ b=(y\land \lnot m)\lor (z\land m) とすれば, ax, bya\sim x,\ b\sim y かつ z=abz=a\lor b である.
  2. [xy]m[x]m[y]m[x\lor y]_m\supseteq [x]_m\lor [y]_m ax, bya\sim x,\ b\sim y であるとすると, (ab)¬m=(a¬m)(b¬m)=(x¬m)(y¬m)=(xy)¬m(a\lor b)\land \lnot m = (a\land \lnot m)\lor (b\land \lnot m)=(x\land \lnot m)\lor (y\land \lnot m)=(x\lor y)\land \lnot m .同様に, (ab)m=(xy)m(a\lor b)\land m = (x\lor y)\land m だから, (ab)m=0(a\lor b)\land m=0 (xy)m=0(x\lor y)\land m=0 は同値.
  3. [0]m={0}[0]_m=\lbrace 0\rbrace x0x\sim 0 とすると,条件から x¬m=0x\land \lnot m = 0 xm=0x\land m=0 が成り立つ.

命題  以下が成り立つ.

  1. MM LL の真イデアルとする. gM=0g \land \bigvee M = 0 である gg mM+m\in M^+ に対して, [gm]M=gM+[g\lor m]_{\bigvee M} = g\lor M^+
  2. GM={0}G\land \bigvee M = \lbrace 0\rbrace である GLG\subseteq L NM+N\subseteq M^+ に対して, [GN]M=GM+[G\lor N]_{\bigvee M} = G\lor M^+

証明

  1. xgmx\sim g\lor m とすると, g=x¬Mg=x\land \lnot \bigvee M かつ xM0x\land \bigvee M \neq 0 が成り立つ.後者の条件は xMM+x\land \bigvee M \in M^+ であることと同値であることから, [gm]M=gM+[g\lor m]_{\bigvee M} = g\lor M^+
  2. gG nN[gn]M=gG nNgM+=GM+\bigcup_{\substack{g\in G\ n\in N}}[g\lor n]_{\bigvee M}=\bigcup_{\substack{g\in G\ n\in N}}g\lor M^+ = G\lor M^+

 
最後にこれまでの定義や命題を使った例を一つ見て,この記事を終えようと思う.

LL の真イデアル G,H,MG,H,M をそれぞれ牛丼の具,親子丼の具,ごはんとする.また, GH=HM=MG=0G\land H = H\land M = M\land G = {0} とする.

容器の有限集合 ICI\subseteq C に対して,以下の KK の元を対応させると,これは II の各容器に入った食べ物を並べたものだと考えられる.

iI1{xk(x,i)}\sum_{i\in I} 1\cdot \lbrace x\mid k(x,i)\rbrace

いま,容器の有限集合を I={i1,,i6}I=\lbrace i_1, \cdots, i_6\rbrace とし,各容器に対して, {xk(x,i)}\lbrace x\mid k(x,i)\rbrace g1,,g4G+, h1,,h3H+, m1,,m6M+g_1,\cdots,g_4\in G^+,\ h_1,\cdots,h_3\in H^+,\ m_1,\cdots,m_6\in M^+ を用いて,

  1. {xk(x,i1)}=(g1m1)\lbrace x\mid k(x,i_1)\rbrace = \downarrow(g_1\lor m_1)
  2. {xk(x,i2)}=(g2m2)\lbrace x\mid k(x,i_2)\rbrace = \downarrow(g_2\lor m_2)
  3. {xk(x,i3)}=(g3m3)\lbrace x\mid k(x,i_3)\rbrace = \downarrow(g_3\lor m_3)
  4. {xk(x,i4)}=(h1m4)\lbrace x\mid k(x,i_4)\rbrace = \downarrow(h_1\lor m_4)
  5. {xk(x,i5)}=(h2m5)\lbrace x\mid k(x,i_5)\rbrace = \downarrow(h_2\lor m_5)
  6. {xk(x,i6)}=(g4h3m6)\lbrace x\mid k(x,i_6)\rbrace = \downarrow(g_4\lor h_3\lor m_6)

とかけたとする.

   x\downarrow x xx が生成する単項イデアルを表している.

このとき, II KK の元に対応させると

(g1m1)+(g2m2)+(g3m3)+(h1m4)+(h2m5)+(g4h3m6)\downarrow(g_1\lor m_1)+\downarrow(g_2\lor m_2)+\downarrow(g_3\lor m_3) + \downarrow(h_1\lor m_4) + \downarrow(h_2\lor m_5) + \downarrow(g_4\lor h_3\lor m_6)

となる.これを []M[\cdot]_{\bigvee M} で写すと
g1M++g2M++g3M++h1M++h2M++(g4h3)M+\downarrow g_1\lor M^++\downarrow g_2\lor M^++\downarrow g_3\lor M^+ + \downarrow h_1\lor M^+ + \downarrow h_2\lor M^+ + \downarrow (g_4\lor h_3)\lor M^+

となり,さらに []G[\cdot]_{\bigvee G} で写すと
3G+M++h1M++h2M++h3G+M+3G^+\lor M^+ + \downarrow h_1\lor M^+ + \downarrow h_2\lor M^+ + \downarrow h_3\lor G^+\lor M^+

となり,最後に []H[\cdot]_{\bigvee H} で写すと
3G+M++2H+M++H+G+M+3G^+\lor M^+ + 2H^+\lor M^+ + H^+\lor G^+\lor M^+

となる.これによって, II に入っていた食べ物は「牛丼3杯と親子丼2杯と牛親子丼1杯」であることが表現できた.
 
 
続く?
 
 

参考文献

[1] カレーライスの作り方
[2] 分配束について
[3] 束 (束論)
[4] 順序集合や束などに関する基本的な概念の説明
[5] モノイド環


  1. そのため,この記事は人工言語の話がほとんど出てこないし,食べ物と丼ものは扱うがカレーライスは出てこない. 

  2. 明らかって言っていいのかな. 

Top comments (0)