---
tags: TrRun3
id: Arrg-B26_naming.md
---
# 檜山トレラン3 B26 名付けの無茶苦茶
$\newcommand{\R}{ {\bf R} }
\newcommand{\hyp}{\text{-} }
\newcommand{\B}{{\bf B} }
\newcommand{\N}{{\bf N} }
\newcommand{\Rnn}{{\bf R}_{\ge 0} }
%$
<!--
$\newcommand{\conc}{\mathop {\#}}
\newcommand{\BL}{ \{\![ }
\newcommand{\BR}{ ]\!\} }
\newcommand{\Rnn}{ {\bf R}_{\ge 0}}
\newcommand{\LCL}{ (\![ }
\newcommand{\LCR}{ ]\!) }
\newcommand{\In}{\text{ in }}%
\require{color}%
\newcommand{\Keyword}[1]{ \textcolor{green}{ \bf \text{#1} } }%
\newcommand{\For}{\Keyword{For }}%
\newcommand{\WeDefine}{\Keyword{WeDefine }}%
\newcommand{\WeWillDefine}{\Keyword{WeWillDefine }}%
\newcommand{\OmitDefinition}{\Keyword{OmitDefinition }}%
\newcommand{\Where}{\Keyword{Where }}%
\newcommand{\Sy}[1]{ \langle #1 \rangle } % symbole
\newcommand{\On}{\text{ on } }
%$
-->
[B22 行列計算、表層解釈症の治療](https://hackmd.io/@m-hiyama/By_3sXnfF) より引用:
> 日常生活ではごくごく当たり前の発想でも、数学学習では大きな障害となる心理的習慣がある。次のような発想はダメ。
>
> 1. 似てるから似てると思う。
> 2. 違うから違うと思う。
似てる・違うの判断基準で重要なものは“名前”だろう。
1. 名前が似てるから似てると思う。
2. 名前が違うから違うと思う。
当然にこの発想はダメ。
同じ概念でも、ネーミング・ポリシー/ネーミング・コンベンション/ネーミング・ルールが異なれば違う名前が与えられる。同じ概念に数個、場合により数十個の名前が与えられる。異なるネーミング・{ポリシー \| コンベンション \| ルール}の名前が入り混じることもある(普通のこと)。
## 圏の名前
|対象 | 射 |圏の名前 |
|-----|---|-----|
|集合 | 写像 | ${\bf Set}$ |
|自然数 | 実数係数行列 | ${\bf Mat}[\R]$ |
|集合 | 部分写像〈partial map〉 | ${\bf Partial}$ |
|実数係数ベクトル空間 | 線形写像 | $\R\hyp{\bf Vect}$ |
|実数係数ベクトル空間 | 線形写像 | $\R\hyp{\bf Mod}$ |
1. 対象の名前から圏の名前を付けることがある。例:${\bf Set}, \R\hyp{\bf Vect}$
2. 射の名前から圏の名前を付けることがある。例:${\bf Mat}[\R], {\bf Partial}$
3. 異なる観点からの異なるネーミングが同じ圏になることがある。例:$\R\hyp{\bf Vect}, \R\hyp{\bf Mod}$
4. 補助的な情報の書き方は色々。例: $\R\hyp{\bf Vect}, {\bf Vect}[\R], {\bf Vect}_\R, {\bf Vect}$ 最後はデフォルト係数体が $\R$ だとして省略。
## 記号の乱用と暗黙の代数構造
$X$ を集合として、$LinComb[\R](X)$ は、単なる集合かベクトル空間か区別が付かない。
- ケース1: $LinComb[\R](X) \in |{\bf Set}|$
- ケース2: $LinComb[\R](X) \in |\R\hyp{\bf Vect}|$
通常は「どっちもあり」で、次の記号の乱用を仮定する。
$\quad LinComb[\R](X) = (LinComb[\R](X), +, \cdot)$
右辺に出てくる $LinComb[\R](X)$ はベクトル空間の台集合〈underlying set〉としての $LinComb[\R](X)$ 。右辺に出てくる $+, \cdot$ はベクトル空間に備わる足し算とスカラー倍(記号をオーバーロードしてる)。
特に、ベクトル空間であることを強調したいなら、
$\quad FreeVect(X) := (LinComb[\R](X), +, \cdot) \;\in |\R\hyp{\bf Vect}|$
$FreeVect(X)$ も、次の“長い言い方”を短縮している。
$\quad \text{ free }\R\hyp\text{vector space generated from }X$
## 線形結合の集合か代数構造か
色々な半環 $S$ に対する $LinComb[S](X)$ の場合も、集合か代数構造かの区別は文脈による。==実際に行われているわけではない==が、次のようなネーミングを採用すれば多少は合理的。
| 半環 | 線形結合達の集合 | 線形結合達の代数構造 |
|------|-----------------|--------------------|
| $\N$ | $Bag(X)$ | $FreeCMon(X)$ |
| $\B$ | $FinPow(X)$ | $FreeICMon(X)$ |
| $\Rnn$ | $Cone(X)$ | $FreeSVect(X)$ |
| $\R$ | なし | $FreeVect(X)$ |
“長い言い方”を使うなら:
1. $Bag(X)$ : $\text{set of bags generated from }X$
2. $FreeCMon(X)$ : $\text{ free commutative monoid of bags generated from }X$
3. $FinPow(X)$ : $\text{set of finite subsets generated from }X$
4. $FreeICMon(X)$ : $\text{ free idempotent commutative monoid of finite subsets generated from }X$
5. $Cone(X)$ : $\text{set of semivectors generated from }X$
6. $FreeSVect(X)$ : $\text{ free semivector space of semivectors generated from }X$
長い言い方と短縮名を比べてみると、短縮名のネーミング・ポリシーに違いがあることが分かる。また、「semivector を semi-vector と書くか、ray〈射線〉と呼ぶか、単に vector で済ますか」といった語学的バラエティもある。
繰り返し注意するが、$Bag(X), FreeCMon(X)$ を使い分けるような習慣は==ない==。文脈に応じて[態度スイッチ](https://hackmd.io/@m-hiyama/HyefK6w1t#%E6%85%8B%E5%BA%A6%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81)する。
## まとめ
名前の付け方は無茶苦茶であり、同じ概念に多数の名前がある(**同義語**)ときもあり、ひとつの名前が幾つかの概念を指す(**曖昧多義語**)ときもある。合理的ネーミングは可能だが、==実際に合理的ネーミングが使われることはない==。現実の名前は無茶苦茶。
したがって、合理的ルールで名前を統一的に解釈することはできず、解釈・意味は個別暗記しかない。それら、暗記した無茶苦茶な名前を、合理的・理想的体系内に==自分で==配置して理解する。無茶苦茶なのは歴史的偶然に過ぎないから、必ず合理的・理想的体系はある([異世界転生学習法](https://hackmd.io/@m-hiyama/HyefK6w1t#%E7%95%B0%E4%B8%96%E7%95%8C%E8%BB%A2%E7%94%9F%E5%AD%A6%E7%BF%92%E6%B3%95))。
- **名前がいくらムチャクチャでも、理解は合理的でなくてはならない。**