--- tags: TrRun3 id: Arrg-A05_diffWorld.md --- # 檜山トレラン3 A05 閃きと飛躍、記法の獄舎、異世界転生 $\require{color}% \newcommand{\Keyword}[1]{ \textcolor{green}{ \bf \text{#1} } }% \newcommand{\For}{\Keyword{For }}% \newcommand{\WeDefine}{\Keyword{WeDefine }}% \newcommand{\WeWillDefine}{\Keyword{WeWillDefine }}% \newcommand{\conc}{ \mathop{\#}} \newcommand{\LCL}{ (\![ } % linear combination left \newcommand{\LCR}{ ]\!) } % linear combination right \newcommand{\On}{\text{ on }} %$ ## 連想やアナロジー 連想・アナロジーはGood。 だが、連想・アナロジーの“Badな使い方”がある。 ## 思考実験 「もし‥‥」 書き方〈記法 \| 構文〉は常に**恣意的・偶発的**に決まる。必然性などない。「歴史に if はない」というが、違った記法が選択された歴史を並行世界のフィクションとして考えてみるのは面白いし、有意義。実は**必要な行為**かも。 数学の記法に関しては、違った記法が選択されても**論理的には何も変わらない**。ただし、もっと学習しやすい数学になっていた可能性はある。ローカルあるいはプライベートには、「実際の歴史、現実世界とは違うが、もっと良い記法を使うのはおおいにアリ。 - 住井/黒木さん <https://twitter.com/esumii/status/1376713802025115648> ← <b>語られることがない常識、「肉は焼いて食べたほうが安全」のような。</b> ### もし (1) もし、 1. リスト、バッグ、有限集合の囲み記号はすべて丸括弧 2. リストの連接、バッグの和、有限集合の合併の中置演算子記号はすべて $\conc$ 3. 区切り記号はすべて違い、リストはカンマ、バッグはセミコロン、有限集合はスラッシュ だったらどうだろう? 計算例: 1. リストの連接: $(a, b, c)\conc (a) = (a, b, c, a)$ 2. バッグの和: $(a; b; c)\conc (a) = (a; b; c; a) = (a; a; b; c)$ 3. 集合の合併: $(a/ b/ c)\conc (a) = (a/ b/ c/ a) = (a/ b/ c)$ $(), (a)$ が何であるか分からないが、特に不便はなさそう。 ### もし (2) もし、 - 一次式は必ず $\LCL$ と $\LCR$ (凸レンズ括弧)で囲む、囲まないと一次式とは認めない だったらどうだろう? 計算例: 1. 斉一次式の足し算: $\LCL 2a + b - c \LCR + \LCL b \LCR = \LCL 2a + 2b - c \LCR$ 2. 構文的に許されない: $2a + b$ 3. 単一の斉一次式: $\LCL 2a + b\LCR$ 4. 斉一次式の足し算: $\LCL 2a \LCR + \LCL b\LCR$ 区切り記号と演算子記号にプラス記号がオーバーロードされているが、入れ子〈nest〉にしないなら構文上区別できる。この現実世界のように「区別しないままにトレーニング」の事態は避けられる。が、一次式を書くのがめんどくさいデメリットはある。 ### もし (3) 我々の指が左右合計8本だったらどうだろう? 間違いなく8進法で数を表記していただろう。 ### 「もし」は現実になりうる 証明支援系などのソフトウェアは、数学記述言語を持つ。これは人工言語だから、好きに設計できる。一種のプログラミング言語として、現実世界とは違う記法を設計・実装・提供することは出来る。 ### すべての並行世界は論理的に同じ 違った記法が選択された歴史を持つ並行世界があったとしても、数学の内容が変わるわけではない。数学自体は、記法の偶発的選択から独立した体系。したがって、**たまたま**自分が知っている・教わった・慣れている記法に拘るべきではない。記法〈構文〉に囚われると、構造が見えなくなる。**記法の獄舎〈牢獄〉から脱獄せよ。** ## 態度スイッチ 1. $\frac{2}{3}$ は有理数である。 2. $\frac{2}{3}$ は分数表記であり、有理数そのものではない。 一見矛盾($P \land \lnot P$ という命題)だが、矛盾ではない。見た目が同じである“書かれたもの” 「$\frac{2}{3}$」 に対する解釈の態度を変えている。 1. $\frac{2}{3}$ は概念的実体そのものだとみなす態度。 1. $\frac{2}{3}$ は記号的表現であり、有理数そのものではないとする態度。 対話・コミュニケーションの文脈〈コンテキスト \| セットアップ〉はコロコロとスイッチするものだが、同じ文脈内でも解釈の態度をスイッチすることがある。かなり頻繁にスイッチするかも知れない。 結局、一箇所に**へばりつなかい/居着かない**ことが重要。 1. ラーン/アンラーン/リラーンのサイクルを早く回す。 2. 文脈・セットアップを素早く切り替える。コミュニケーションが終われば文脈・セットアップをサッサと捨てる。 3. 同じ文脈内でも解釈の態度を迅速にスイッチ。 ## 線形結合に対する態度スイッチ [B11 形式的線形結合の「形式的」とは](https://hackmd.io/@m-hiyama/H17ehFQ1t) で説明した記法と、同値関係/同値類/商集合の概念を使うとして、数学的な**ドライな実情**を言えば、線形結合の集合の定義は次のとおり。 $\For S\in |{\bf Semiring}|\\ \For X\in |{\bf Set}|\\ \WeDefine LinComb[S][X] := List(S\times X)/=_{asLinComb}\\ \WeWillDefine \pi_{S, X}:List(S\times X) \to LinComb[S][X]\\ \WeDefine \pi_{S, X} := \lambda\, s\in List(S\times X).(\, s_{asLinComb} \,)$ この定義は完全に well-defined で、**すべてがうまくいく**。 うまくいかないのは書き方の問題。**頭が痛い! ジレンマ**: 1. 中学校以来の慣れた記法を使えば曖昧表現になり、うまく解釈するには敏感かつ迅速な**態度スイッチが必要**になる。態度スイッチに慣れてないなら混乱するだろう。 2. より合理的な記法を導入すると、見慣れてないが故に受け入れてもらえない(違和感から拒絶される)。 ## 異世界転生学習法 前節の思考実験のような「もし」が許されるなら、次のような記法で混乱は(ある程度)避けられるだろう。 1. リストの囲み記号は丸括弧で、**省略は許されない**。 2. リストの区切り記号はカンマでも**プラス記号でもよい**。カンマとプラス記号は区別しない。 3. リストの連接演算は $\conc$ で書く。 4. 線形結合の囲み記号は凸レンズ括弧で、**省略は許されない**。集合の中括弧〈波括弧〉と同じ扱い。 5. 線形結合の和(と呼ばれるホントの演算)は**プラス記号をオーバーロードする**。囲み記号と演算子記号が同じになる(ゲンツェン流)。凸レンズ括弧があるのでマシだが、混乱を完全に避けたいなら演算子記号は別記号に、例えば $\oplus$ にするとよい。 6. 区切り記号〈ニセの演算〉としてのプラスも、ホントの演算としてのプラスも総和記号で表してよい。混乱しそうなら、$\stackrel{fake}{\sum},\: \stackrel{act}{\sum}$ と書く。 例: $\quad (a_1, a_2, a_3) = (a_1 + a_2 + a_3) = (\stackrel{fake}{\sum}_{i\in \bar{3}}\, a_i) \;\in List(S\times X)\\ \quad \LCL a_1, a_2, a_3\LCR = \LCL a_1 + a_2 + a_3\LCR = \LCL\stackrel{fake}{\sum}_{i \in \bar{3}}\, a_i\LCR \;\in LinComb[S](X)\\ \:\\ \quad \LCL a_1 \LCR + \LCL a_2 \LCR + \LCL a_3 \LCR \\= \,\stackrel{act}{\sum}_{i \in \bar{3}}\, \LCL a_i \LCR \\= \LCL\stackrel{fake}{\sum}_{i \in \bar{3}}\, a_i\LCR \\= \LCL a_1 + a_2 + a_3\LCR \\= \LCL a_1, a_2, a_3\LCR$ さらに明確さ〈clarity〉を増すには次のルールも守る。 1. イコール〈同一〉でないものにはイコールを使わない。 2. 等式やその他の関係式をどんな集合上で考えているかを明示するために $\On X$ を付ける。 「線形結合として等しい」を表す $=_{asLinComb}$ は長すぎるので一文字 $\sim$ で表す。$\pi_{S, X}:List(S\times X) \to LinComb[S][X]$ を単に $\pi$ と略記する。ニセのスカラー倍として併置を使う。 例: $\quad (2a, b, (-1)b) = (2a + b + (-1)b) \On List(S\times X)\\ \quad (2a + b + (-1)b) \ne (2a) \On List(S\times X)\\ \quad (2a, b, (-1)b) \sim (2a) \On List(S\times X)\\ \quad (a + b) \ne (b + a) \On List(S\times X)\\ \quad (a + b) \sim (b + a) \On List(S\times X)\\ \quad \LCL a, b\LCR = \LCL b, a\LCR \On LinComb[S](X)\\ \quad \LCL 2a, b, (-1)b\LCR = \LCL 2a + b + (-1)b\LCR \On LinComb[S](X)\\ \quad \LCL 2a + b + (-1)b\LCR = \LCL 2a \LCR \On LinComb[S](X)\\ \quad \pi( (2a, b, (-1)b) ) = \LCL 2a, b, (-1)b\LCR \On LinComb[S](X)\\ \quad \pi( (2a, b, (-1)b) ) = \LCL 2a + b + (-1)b\LCR \On LinComb[S](X)\\ \quad \pi( (2a, b, (-1)b) ) = \pi( (2a) ) \On LinComb[S](X)\\ \quad (2a + b + (-1)b) \in \pi^{-1}( \LCL 2a \LCR )\\ \quad (2a) \in \pi^{-1}( \LCL 2a \LCR )\\ \quad (1a, 0a, 1a, 0b) \in \pi^{-1}( \LCL 2a \LCR )$ 異世界では区別して書いている次の3つを現実世界では態度スイッチで解釈を変える。 1. $(\stackrel{fake}{\sum}_{i\in \bar{n}}\, z_i) = (z_i)_{i\in \bar{n}}$ 2. $\LCL \stackrel{fake}{\sum}_{i\in \bar{n}}\, z_i\LCR = \LCL z_i\LCR_{i\in \bar{n}}$ 3. $\stackrel{act}{\sum}_{i\in \bar{n}}\, w_i$ 現実世界より合理的で理解しやすい並行世界〈数学的異世界〉に一時的に転生して、異世界〈different world〉で理解してから混沌として汚い現実世界に戻る方法はオススメである。というか、それをしないと**現実世界の汚い数学**を理解するのは困難だろう。 - [2/ B03 悪習と戦い、そして抱きしめる](https://hackmd.io/@m-hiyama/Hyj1vn1eO) - [2/ B12 曖昧さとインチキ](https://hackmd.io/@m-hiyama/Sy2JbtcZu) - [2/ B27 世間の記法、ベイズの定理など](https://hackmd.io/@m-hiyama/SkHuBSn_d) 余談: 異世界ものライトノベルが流行るのは、現実世界では実現できない願望が異世界ではかなうからだろう。現実世界数学のクソみたいな用語法・記法に悩まされている者には、数学的異世界ものが受けるかも知れない。 余談:「てんせい」か「てんしょう」か? どっちもあり。[まかいてんしょう](https://ja.wikipedia.org/wiki/%E9%AD%94%E7%95%8C%E8%BB%A2%E7%94%9F)、[てんせいしたらスライムだったけん](https://ja.wikipedia.org/wiki/%E8%BB%A2%E7%94%9F%E3%81%97%E3%81%9F%E3%82%89%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%A0%E3%81%A0%E3%81%A3%E3%81%9F%E4%BB%B6)