リポジトリ / emssr / independent_common_compiler
領域と鎖の層
Level 0 の原始概念は六つになる(幾何 Index)。
領域・内側/外側・重なり・含まれる・隣接・道
操作は四つで尽きる。
| 操作 | 何をするか |
|---|---|
| 共通部 | 二つの領域が重なっている部分を取り出す |
| 合わせ | 二つの領域を一つにまとめた最小の領域を作る |
| 外側 | ある閉じた領域の外にある領域を取る |
| 境界 $\partial$ | 内側と外側を分ける面を取り出す |
関係はこの四つの上の述語になる。
$$
\begin{aligned}
\text{重なり}(A,B)&\iff A\cap B\neq\varnothing\
\text{含まれる}(A,B)&\iff B\setminus A=\varnothing\
\text{隣接}(A,B)&\iff A\cap B=\varnothing\ \wedge\ \bigl((2A\cap B)\cup(A\cap2B)\bigr)\neq\varnothing\
\text{道}(A)&\iff A\neq\varnothing\ \wedge\ \text{立っている cell が一続き}
\end{aligned}
$$
単位領域はノードから立つ
kukeke — 領域 $N\to G$
構成語は $D_\infty=\langle i,j\mid i^2=j^2=e\rangle$ の元であり、$(m,\varepsilon)$ の対で尽きる。
$$
\operatorname{cell}(w)=2\cdot\operatorname{zz}(m)+\varepsilon,
\qquad
\operatorname{zz}(m)=
\begin{cases}
2m & m\ge0\
-2m-1 & m<0
\end{cases}
$$
$\operatorname{zz}$ は単射なので $\operatorname{cell}$ も単射になる。別のノードが同じ単位領域を指すことは無く、
共通部と合わせが目印の重なりを正しく写す。
| ノード | 平文 | $(m,\varepsilon)$ | cell |
|---|---|---|---|
| $O$ | ma |
$(0,0)$ | 0 |
| $i$ | ma ka zu |
$(0,1)$ | 1 |
| $ij$ | ma ka zu ka ze |
$(-1,0)$ | 2 |
| $ji$ | ma ka ze ka zu |
$(1,0)$ | 4 |
| $j$ | ma ka ze |
$(1,1)$ | 5 |
cell は 31 個までになる。commonc が領域を一語の mask で持つためで、
$O$ から 15 歩までの構成語がこの網に収まる。
ma ka
kukeke ka
出力は cell の数 $1$ と cell 番号 $0$ になる。examples/region/01_cell.cmn
四操作
| 音節 | 操作 | 型 | 例 |
|---|---|---|---|
kukeko |
共通部 | $G\otimes G\to G$ | examples/region/02_meet.cmn |
kukesa |
合わせ | $G\otimes G\to G$ | 03_join.cmn |
kukesi |
外側 | $G\otimes G\to G$ | 04_outside.cmn |
kukesu |
境界 $\partial$ | $G\to C$ | 11_boundary.cmn |
外側は第一引数を宇宙、第二引数を抜く側に取る。
$$
\text{外側}(U,A)=U\setminus A
$$
ma ma ma ka
ki zu ki ka
kukeke kukeke kukeke ka
kukesa ki ka
kukesi ka
${O,i}\setminus{O}={i}$。出力は $1$ と $1$ になる。
関係
| 音節 | 関係 | 型 |
|---|---|---|
kukese |
含まれる | $G\otimes G\to B$ |
kukeso |
重なり | $G\otimes G\to B$ |
kuketa |
隣接 | $G\otimes G\to B$ |
kuketi |
道 | $G\to B$ |
値は compile 時に決まり、$\mathrm{Cst}$ 一箱で開いて実行時のワイヤになる。
だから $\pi$(mo)を通せば算術へ流せる。
ma ma ka
ki zu ka
kukeke kukeke ka
kuketa ka
$O$ の単位領域と $i$ の単位領域は cell 0 と 1 になり、隣り合う。値は $1$。
examples/region/07_adjacent.cmn
$j$ へ替えると cell は 0 と 5 になり、値は $0$ になる。08_apart.cmn
走査も隣接リストも本文に現れない(language/03_intent §6)。
鎖
$n$-単体の境界は符号つきの和になる(影響関数 証明3.2)。
$$
\partial\sigma_n=\sum_{k=0}^{n}(-1)^k[v_0,\ldots,\hat v_k,\ldots,v_n]
$$
係数は ${-1,0,1}$ に限られる。$\sigma_{n-1}$ が $\sigma_n$ の境界に符号つきで入るか、
入らないかの三択しかないためになる。
領域の境界は cell の両端に立つ。
$$
\partial A\ \text{の係数}(v)=[\,v-1\in A\,]-[\,v\in A\,],
\qquad
\text{正側}=2A\setminus A,
\quad
\text{負側}=A\setminus2A
$$
$2A$ は mask の倍であり、左シフトが乗算そのものなので箱を作らずに済む。
| 音節 | 記号 | 型 |
|---|---|---|
bi |
$\partial$ | $C\to C$ |
bu |
$\oplus$ | $C\otimes C\to C$ |
閉じた曲面に境界は無い
ma ka
kukeke ka
kukesu ka
bi ka
出力は $0$、つまり項の無い鎖になる。
$$
\partial(\partial G)=\varnothing
$$
$\mathbb R^3$ の閉じた曲面は内側と外側を分ける面であり、その面には境界が無い。
冪零性は代数の要請ではなく、この幾何的事実の係数表現になる。
examples/region/12_nilpotent.cmn
鎖の加算
$|$係数$|$ が $2$ になる和は鎖でなくなるので、両方の compiler が失敗を報告する。
ma ma ka
ki ze ka
kukeke kukeke ka
kukesu kukesu ka
bu ka
$\partial{O}\oplus\partial{j}$ は頂点 $0,1,5,6$ に $\mp1$ を立てる。出力の先頭は $4$ になる。
examples/region/13_chainsum.cmn
同じ領域を二度足すと係数が $2$ になり、image が出ない。16_chain_two.cmn
出口の語
| 型 | 開く語 |
|---|---|
| $\mathsf{Region}$ | cell の数、cell 番号(昇順) |
| $\mathsf{Chain}$ | 頂点の数、各頂点の(係数、頂点数 $1$、頂点番号) |
ma ka / kukeke ka / kukesu ka → 2 −1 1 0 1 1 1
$\partial{O}$ は頂点 $0$ に $-1$、頂点 $1$ に $+1$ を立てる。
参照
- noun 名詞ノード。cell 番号の出どころ
- language/03_intent 走査を書かずに済む問い
ソースを表示
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 | # 領域と鎖の層 [← 総表](Index.md) Level 0 の原始概念は六つになる(幾何 Index)。 > 領域・内側/外側・重なり・含まれる・隣接・道 操作は四つで尽きる。 | 操作 | 何をするか | |---|---| | 共通部 | 二つの領域が重なっている部分を取り出す | | 合わせ | 二つの領域を一つにまとめた最小の領域を作る | | 外側 | ある閉じた領域の外にある領域を取る | | 境界 $\partial$ | 内側と外側を分ける面を取り出す | 関係はこの四つの上の述語になる。 $$ \begin{aligned} \text{重なり}(A,B)&\iff A\cap B\neq\varnothing\\ \text{含まれる}(A,B)&\iff B\setminus A=\varnothing\\ \text{隣接}(A,B)&\iff A\cap B=\varnothing\ \wedge\ \bigl((2A\cap B)\cup(A\cap2B)\bigr)\neq\varnothing\\ \text{道}(A)&\iff A\neq\varnothing\ \wedge\ \text{立っている cell が一続き} \end{aligned} $$ --- ## 単位領域はノードから立つ ### `kukeke` — 領域 $N\to G$ 構成語は $D_\infty=\langle i,j\mid i^2=j^2=e\rangle$ の元であり、$(m,\varepsilon)$ の対で尽きる。 $$ \operatorname{cell}(w)=2\cdot\operatorname{zz}(m)+\varepsilon, \qquad \operatorname{zz}(m)= \begin{cases} 2m & m\ge0\\ -2m-1 & m<0 \end{cases} $$ $\operatorname{zz}$ は単射なので $\operatorname{cell}$ も単射になる。別のノードが同じ単位領域を指すことは無く、 共通部と合わせが目印の重なりを正しく写す。 | ノード | 平文 | $(m,\varepsilon)$ | cell | |---|---|---|---:| | $O$ | `ma` | $(0,0)$ | 0 | | $i$ | `ma ka zu` | $(0,1)$ | 1 | | $ij$ | `ma ka zu ka ze` | $(-1,0)$ | 2 | | $ji$ | `ma ka ze ka zu` | $(1,0)$ | 4 | | $j$ | `ma ka ze` | $(1,1)$ | 5 | cell は 31 個までになる。commonc が領域を一語の mask で持つためで、 $O$ から 15 歩までの構成語がこの網に収まる。 ``` ma ka kukeke ka ``` 出力は cell の数 $1$ と cell 番号 $0$ になる。`examples/region/01_cell.cmn` --- ## 四操作 | 音節 | 操作 | 型 | 例 | |---|---|---|---| | `kukeko` | 共通部 | $G\otimes G\to G$ | `examples/region/02_meet.cmn` | | `kukesa` | 合わせ | $G\otimes G\to G$ | `03_join.cmn` | | `kukesi` | 外側 | $G\otimes G\to G$ | `04_outside.cmn` | | `kukesu` | 境界 $\partial$ | $G\to C$ | `11_boundary.cmn` | 外側は第一引数を宇宙、第二引数を抜く側に取る。 $$ \text{外側}(U,A)=U\setminus A $$ ``` ma ma ma ka ki zu ki ka kukeke kukeke kukeke ka kukesa ki ka kukesi ka ``` $\{O,i\}\setminus\{O\}=\{i\}$。出力は $1$ と $1$ になる。 --- ## 関係 | 音節 | 関係 | 型 | |---|---|---| | `kukese` | 含まれる | $G\otimes G\to B$ | | `kukeso` | 重なり | $G\otimes G\to B$ | | `kuketa` | 隣接 | $G\otimes G\to B$ | | `kuketi` | 道 | $G\to B$ | 値は compile 時に決まり、$\mathrm{Cst}$ 一箱で開いて実行時のワイヤになる。 だから $\pi$(`mo`)を通せば算術へ流せる。 ``` ma ma ka ki zu ka kukeke kukeke ka kuketa ka ``` $O$ の単位領域と $i$ の単位領域は cell 0 と 1 になり、隣り合う。値は $1$。 `examples/region/07_adjacent.cmn` $j$ へ替えると cell は 0 と 5 になり、値は $0$ になる。`08_apart.cmn` 走査も隣接リストも本文に現れない([language/03_intent](../language/03_intent.md) §6)。 --- ## 鎖 $n$-単体の境界は符号つきの和になる(影響関数 証明3.2)。 $$ \partial\sigma_n=\sum_{k=0}^{n}(-1)^k[v_0,\ldots,\hat v_k,\ldots,v_n] $$ 係数は $\{-1,0,1\}$ に限られる。$\sigma_{n-1}$ が $\sigma_n$ の境界に符号つきで入るか、 入らないかの三択しかないためになる。 領域の境界は cell の両端に立つ。 $$ \partial A\ \text{の係数}(v)=[\,v-1\in A\,]-[\,v\in A\,], \qquad \text{正側}=2A\setminus A, \quad \text{負側}=A\setminus2A $$ $2A$ は mask の倍であり、左シフトが乗算そのものなので箱を作らずに済む。 | 音節 | 記号 | 型 | |---|---|---| | `bi` | $\partial$ | $C\to C$ | | `bu` | $\oplus$ | $C\otimes C\to C$ | ### 閉じた曲面に境界は無い ``` ma ka kukeke ka kukesu ka bi ka ``` 出力は $0$、つまり項の無い鎖になる。 $$ \partial(\partial G)=\varnothing $$ $\mathbb R^3$ の閉じた曲面は内側と外側を分ける面であり、その面には境界が無い。 冪零性は代数の要請ではなく、この幾何的事実の係数表現になる。 `examples/region/12_nilpotent.cmn` ### 鎖の加算 $|$係数$|$ が $2$ になる和は鎖でなくなるので、両方の compiler が失敗を報告する。 ``` ma ma ka ki ze ka kukeke kukeke ka kukesu kukesu ka bu ka ``` $\partial\{O\}\oplus\partial\{j\}$ は頂点 $0,1,5,6$ に $\mp1$ を立てる。出力の先頭は $4$ になる。 `examples/region/13_chainsum.cmn` 同じ領域を二度足すと係数が $2$ になり、image が出ない。`16_chain_two.cmn` --- ## 出口の語 | 型 | 開く語 | |---|---| | $\mathsf{Region}$ | cell の数、cell 番号(昇順) | | $\mathsf{Chain}$ | 頂点の数、各頂点の(係数、頂点数 $1$、頂点番号) | ``` ma ka / kukeke ka / kukesu ka → 2 −1 1 0 1 1 1 ``` $\partial\{O\}$ は頂点 $0$ に $-1$、頂点 $1$ に $+1$ を立てる。 ## 参照 - [noun](noun.md) 名詞ノード。cell 番号の出どころ - [language/03_intent](../language/03_intent.md) 走査を書かずに済む問い |