リポジトリ / emssr / independent_common_compiler
r2
| r2 emssr | 1 | # 二進有理数の層 |
| r2 emssr | 2 | |
| r2 emssr | 3 | [← 総表](Index.md) |
| r2 emssr | 4 | |
| r2 emssr | 5 | $$ |
| r2 emssr | 6 | \mathsf{Dyad}=\mathbb Z\!\left[\tfrac12\right], |
| r2 emssr | 7 | \qquad |
| r2 emssr | 8 | \text{値}=\frac{x}{2^{\delta}} |
| r2 emssr | 9 | $$ |
| r2 emssr | 10 | |
| r2 emssr | 11 | 語には分子 $x$ だけが載る。深度 $\delta$ は build 時の型なので、走らせる側には現れない。 |
| r2 emssr | 12 | |
| r2 emssr | 13 | --- |
| r2 emssr | 14 | |
| r2 emssr | 15 | ## 入口 |
| r2 emssr | 16 | |
| r2 emssr | 17 | ### `hu` — $\mathsf{one}$ $I\to\mathsf{Dyad}$ |
| r2 emssr | 18 | |
| r2 emssr | 19 | $$ |
| r2 emssr | 20 | \llbracket\mathsf{one}\rrbracket=\langle1,0\rangle |
| r2 emssr | 21 | \tag{16.3.1} |
| r2 emssr | 22 | $$ |
| r2 emssr | 23 | |
| r2 emssr | 24 | 幾何の読みは「原点 $O$ に立つ」になる。数の literal はこの一語だけであり、 |
| r2 emssr | 25 | 残りは全部合成で作る。 |
| r2 emssr | 26 | |
| r2 emssr | 27 | $$ |
| r2 emssr | 28 | 2=1\oplus1,\qquad |
| r2 emssr | 29 | 0=1\oplus(\ominus1),\qquad |
| r2 emssr | 30 | \tfrac12=\beta(0),\qquad |
| r2 emssr | 31 | \tfrac34=\beta(\beta(0)),\qquad |
| r2 emssr | 32 | \tfrac14=\beta(\ominus\beta(0)) |
| r2 emssr | 33 | \tag{16.5.5} |
| r2 emssr | 34 | $$ |
| r2 emssr | 35 | |
| r2 emssr | 36 | --- |
| r2 emssr | 37 | |
| r2 emssr | 38 | ## 算術 |
| r2 emssr | 39 | |
| r2 emssr | 40 | | 音節 | 記号 | 型 | 深度 | |
| r2 emssr | 41 | |---|---|---|---| |
| r2 emssr | 42 | | `no` | $\oplus$ | $D\otimes D\to D$ | $\max(\delta_u,\delta_v)$ へそろう | |
| r2 emssr | 43 | | `ha` | $\ominus$ | $D\to D$ | 変わらない | |
| r2 emssr | 44 | | `ti` | $\star$ | $D\otimes D\to D$ | $\delta_u+\delta_v$ | |
| r2 emssr | 45 | | `ba` | $\oslash$ | $D\otimes D\to\mathsf{Rational}$ | 分子と分母の二語 | |
| r2 emssr | 46 | |
| r2 emssr | 47 | 加算は平行四辺形則であり、経路を忘れる。乗算はタレス比であり、経路を保持する。 |
| r2 emssr | 48 | この非対称が体系の土台になる(幾何 3 章)。 |
| r2 emssr | 49 | |
| r2 emssr | 50 | ``` |
| r2 emssr | 51 | hu hu ka |
| r2 emssr | 52 | no ka |
| r2 emssr | 53 | ``` |
| r2 emssr | 54 | |
| r2 emssr | 55 | 値 $2$。`examples/cmn/futatsu.cmn` |
| r2 emssr | 56 | |
| r2 emssr | 57 | 除算は二進比へ閉じないので、出口の型が $\mathsf{Rational}$ になる。 |
| r2 emssr | 58 | 零で割ると実行時に失敗を報告する。 |
| r2 emssr | 59 | |
| r2 emssr | 60 | ``` |
| r2 emssr | 61 | hu hu ka ki se ka ba |
| r2 emssr | 62 | ``` |
| r2 emssr | 63 | |
| r2 emssr | 64 | 分子 $2$、分母 $2$。`examples/vocabulary/ba_div.cmn` |
| r2 emssr | 65 | |
| r2 emssr | 66 | --- |
| r2 emssr | 67 | |
| r2 emssr | 68 | ## 二分割 |
| r2 emssr | 69 | |
| r2 emssr | 70 | ### `se` — $\beta$ $D\to D$ |
| r2 emssr | 71 | |
| r2 emssr | 72 | $$ |
| r2 emssr | 73 | \beta(x)=\frac{x+1}{2}, |
| r2 emssr | 74 | \qquad |
| r2 emssr | 75 | \beta(1)=1 |
| r2 emssr | 76 | \tag{16.5.4} |
| r2 emssr | 77 | $$ |
| r2 emssr | 78 | |
| r2 emssr | 79 | 基準点が $1$ であり、$1$ は不動点になる。だから半分は零から立てる。 |
| r2 emssr | 80 | 降下は四箱へ開く。 |
| r2 emssr | 81 | |
| r2 emssr | 82 | $$ |
| r2 emssr | 83 | \operatorname{Desc}(\beta)(u)=\bigl[\mathrm{Cst}(1,0),\ \mathrm{Add}(u,\cdot),\ \mathrm{Cst}(1,1),\ \mathrm{Mul}(\cdot,\cdot)\bigr] |
| r2 emssr | 84 | \tag{16.5.6} |
| r2 emssr | 85 | $$ |
| r2 emssr | 86 | |
| r2 emssr | 87 | ``` |
| r2 emssr | 88 | hu hu ka, ki ha ka, no ka, se ka, se ka. |
| r2 emssr | 89 | ``` |
| r2 emssr | 90 | |
| r2 emssr | 91 | 値 $3/2^2$。`examples/cmn/yonbunnosan.cmn` |
| r2 emssr | 92 | |
| r2 emssr | 93 | ### `gu` — $\beta^{-1}$ $D\to D$ |
| r2 emssr | 94 | |
| r2 emssr | 95 | $$ |
| r2 emssr | 96 | \beta^{-1}(x)=2x-1 |
| r2 emssr | 97 | $$ |
| r2 emssr | 98 | |
| r2 emssr | 99 | 像は深度 $1$ 以上に限る(構成語 §4 の $\operatorname{im}\beta_a$)。深度 $0$ の入力は失敗になる。 |
| r2 emssr | 100 | |
| r2 emssr | 101 | ### `za` — $\beta_a$ $D\otimes D\to D$ |
| r2 emssr | 102 | |
| r2 emssr | 103 | $$ |
| r2 emssr | 104 | \beta_a(x)=\frac{x+a}{2} |
| r2 emssr | 105 | \tag{22.9} |
| r2 emssr | 106 | $$ |
| r2 emssr | 107 | |
| r2 emssr | 108 | 基準点をワイヤで受ける形になる。16 式 (5.6) の $\mathrm{Cst}(1,0)$ が第二ワイヤに変わる。 |
| r2 emssr | 109 | |
| r2 emssr | 110 | ``` |
| r2 emssr | 111 | hu hu ka |
| r2 emssr | 112 | za ka |
| r2 emssr | 113 | ``` |
| r2 emssr | 114 | |
| r2 emssr | 115 | 値 $2/2^1$。`examples/vocabulary/za_bisect.cmn` |
| r2 emssr | 116 | |
| r2 emssr | 117 | --- |
| r2 emssr | 118 | |
| r2 emssr | 119 | ## 不動点 |
| r2 emssr | 120 | |
| r2 emssr | 121 | ### `ge` — $\mathsf{fix}$ $D\to D$ |
| r2 emssr | 122 | |
| r2 emssr | 123 | $$ |
| r2 emssr | 124 | x=\frac{x+1}{2} |
| r2 emssr | 125 | \ \Longrightarrow\ |
| r2 emssr | 126 | x=1, |
| r2 emssr | 127 | \qquad |
| r2 emssr | 128 | \operatorname{Desc}(\mathsf{fix})(x_0)=\bigl[\mathrm{Cst}(1,0)\bigr] |
| r2 emssr | 129 | \tag{16.5.8} |
| r2 emssr | 130 | $$ |
| r2 emssr | 131 | |
| r2 emssr | 132 | 集積点は初期値に依らないので、入力ワイヤは落ちる。 |
| r2 emssr | 133 | |
| r2 emssr | 134 | ### `zi` — $\Omega_a[\beta_a;x_0]$ $D\otimes D\to D$ |
| r2 emssr | 135 | |
| r2 emssr | 136 | $$ |
| r2 emssr | 137 | \Omega_a[\beta_a;x_0]=a |
| r2 emssr | 138 | \tag{22.10} |
| r2 emssr | 139 | $$ |
| r2 emssr | 140 | |
| r2 emssr | 141 | 箱を作らず、第二ワイヤをそのまま返す。反復を回す箱は生成元レジストリに無い。 |
| r2 emssr | 142 | |
| r2 emssr | 143 | ``` |
| r2 emssr | 144 | hu ka ge |
| r2 emssr | 145 | ``` |
| r2 emssr | 146 | |
| r2 emssr | 147 | 値 $1$。`examples/vocabulary/ge_fix.cmn` |
| r2 emssr | 148 | |
| r2 emssr | 149 | --- |
| r2 emssr | 150 | |
| r2 emssr | 151 | ## 観測と二値 |
| r2 emssr | 152 | |
| r2 emssr | 153 | | 音節 | 記号 | 型 | 値 | |
| r2 emssr | 154 | |---|---|---|---| |
| r2 emssr | 155 | | `so` | $\varphi_\partial$ | $D\to B$ | $[\,0<x\,]$ | |
| r2 emssr | 156 | | `hi` | $\le$ | $D\otimes D\to B$ | $[\,u\le v\,]$ | |
| r2 emssr | 157 | | `mo` | $\pi$ | $B\to D$ | 型を忘れる | |
| r2 emssr | 158 | |
| r2 emssr | 159 | どちらも 16 §5.3 の八箱へ降りる。$\mathcal M$ は値の join を memory しか持たないので、 |
| r2 emssr | 160 | 既定値を退避語へ置き、path separation の片側で書き換えてから読み戻す。 |
| r2 emssr | 161 | |
| r2 emssr | 162 | $$ |
| r2 emssr | 163 | \operatorname{Desc}(\text{判定})= |
| r2 emssr | 164 | \left[ |
| r2 emssr | 165 | \begin{aligned} |
| r2 emssr | 166 | &n{+}0:\ \mathrm{Cst}(0,0)\\ |
| r2 emssr | 167 | &n{+}1:\ \mathrm{Cst}(s,0)\\ |
| r2 emssr | 168 | &n{+}2:\ \mathrm{Cst}(\mathrm d,0)\\ |
| r2 emssr | 169 | &n{+}3:\ \mathrm{Store}(n{+}1,\ n{+}2)\\ |
| r2 emssr | 170 | &n{+}4:\ \mathrm{LtBr}(A,\ B,\ n{+}7)\\ |
| r2 emssr | 171 | &n{+}5:\ \mathrm{Cst}(1-\mathrm d,0)\\ |
| r2 emssr | 172 | &n{+}6:\ \mathrm{Store}(n{+}1,\ n{+}5)\\ |
| r2 emssr | 173 | &n{+}7:\ \mathrm{Load}(n{+}1) |
| r2 emssr | 174 | \end{aligned} |
| r2 emssr | 175 | \right] |
| r2 emssr | 176 | \tag{16.5.9} |
| r2 emssr | 177 | $$ |
| r2 emssr | 178 | |
| r2 emssr | 179 | $\pi$ が型を忘れると、選択が生成元の合成で書ける。 |
| r2 emssr | 180 | |
| r2 emssr | 181 | $$ |
| r2 emssr | 182 | \operatorname{sel}(c,a,b)=c\star a\ \oplus\ (1\ominus c)\star b, |
| r2 emssr | 183 | \qquad |
| r2 emssr | 184 | c\in\{0,1\} |
| r2 emssr | 185 | \tag{16.5.11} |
| r2 emssr | 186 | $$ |
| r2 emssr | 187 | |
| r2 emssr | 188 | 分岐命令は要らない。 |
| r2 emssr | 189 | |
| r2 emssr | 190 | ``` |
| r2 emssr | 191 | hu ka so ka mo ka |
| r2 emssr | 192 | ``` |
| r2 emssr | 193 | |
| r2 emssr | 194 | 値 $1$。`examples/vocabulary/mo_pi.cmn` |
| r2 emssr | 195 | |
| r2 emssr | 196 | --- |
| r2 emssr | 197 | |
| r2 emssr | 198 | ## 複製と廃棄 |
| r2 emssr | 199 | |
| r2 emssr | 200 | | 音節 | 記号 | 型 | 降下 | |
| r2 emssr | 201 | |---|---|---|---| |
| r2 emssr | 202 | | `he` | $\Delta$ | $D\to D\otimes D$ | 空列。同じワイヤを二度使う | |
| r2 emssr | 203 | | `ho` | $!$ | $D\to I$ | 空列。ワイヤを落とす | |
| r2 emssr | 204 | |
| r2 emssr | 205 | $!$ は境界を $I$ へ閉じる道になる。注記はこれで閉じる([language/01_source](../language/01_source.md) §3)。 |
| r2 emssr | 206 | |
| r2 emssr | 207 | ## 参照 |
| r2 emssr | 208 | |
| r2 emssr | 209 | - [judge](judge.md) 判定値 $\mathcal Q$ |
| r2 emssr | 210 | - [machine](machine.md) 作業領域と報告 |