---
tags: TrRun3
id: Arrg-A28_lincomb-logic.md
---
# 檜山トレラン3 A28 小ネタ:一文字主義/線形結合と古典論理
$\newcommand{\B}{{\bf B} }
\newcommand{\Imp}{ \Rightarrow }%
\newcommand{\Iff}{\Leftrightarrow}
%$
<!--
$
%
\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 } }
\newcommand{\When}{\Keyword{When } }
\newcommand{\Let}{\Keyword{Let }}%
\newcommand{\WeAssert}{\Keyword{WeAssert }}%
\newcommand{\Justification}{\Keyword{Justification }}%
\newcommand{\Then}{\Keyword{Then }}%
\newcommand{\cat}[1]{\mathcal{#1}}%
\newcommand{\WeUse}{\Keyword{WeUse }}%
\newcommand{\WeAbuse}{\Keyword{WeAbuse }}%
\newcommand{\Exn}[1]{ [\!( #1 )\!] }
\newcommand{\R}{ {\bf R} }
\newcommand{\hyp}{ \text{-} }
\newcommand{\Rnni}{ {\bf R}_{\ge 0}^{+\infty}}
\newcommand{\id}{ \mathrm{id} } % id
\newcommand{\pto}{ \supseteq\!\to }
%$
-->
☆小ネタは“まくら”用
☆まくらにしては後半がボリュームあり過ぎ。たぶん適当な所で中断する。
☆話題は、数学の“独学が難しい部分”
## こんな記法に出会った
親の集合〈全体集合〉 $I$ に対する $Bag(I)$ について、
![multiset-notation.png](https://www.chimaira.org/img-sem/multiset-notation.png)
$Bag(I) = Multiset(I)$ の要素を独特な括弧で書くよ、という話(<https://arxiv.org/abs/2104.12398>)。
バッグ〈マルチセット〉の標準記法は無いから好きにしていいのだが、
- なぜ1文字(左右で2文字)の括弧記号に拘るのだろう?
プログラミング言語やマークアップ言語なら次のように書いてもいい。
```
Bag([a, b, c])
Bag{a, b, c}
<bag>a, b, c</bag>
\begin{bag} a, b, c \end{bag}
```
数学の==強迫観念的==な記法ポリシーは:
1. 変数名、演算子記号、区切り記号、囲み記号などは**1文字**にすべし。
2. 2文字以上使うヤツは死ね。
3. 長い綴りのキーワード使うヤツは地獄に落ちろ。
とにかく短く書きたいので、省略、オーバーロード、コンフリクトはやむなし。
短く簡潔に書くことは計算では絶大なメリットがあるが、読む側の解釈負担が(極端に)増大するデメリットがある。
檜山は出自が数学村ではないので、長い綴りのキーワード使うのにヤブサカではないが(例:$LinComb, Crush$)、短い書き方と逆のメリット/デメリットがある。
外部から数学村に入る人間は「一文字主義の村だ」と認識しておかないと排斥される。
## 無限和が自由に出来るとき:ブーリアン係数線形結合
全然別な話題:
本セミナー今クールの主題は線形結合、つまりスカラー倍した項の**有限和**。だが、無限和が出来ると古典論理が展開できる -- 今回の話題ではないのだが。
一般論から、
$\quad LinComb[\B](X) \cong Map_{finSupp}(X, \B) \cong FinPow(X)\\
\quad FinPow(X) := \{A\in Pow(X) \mid card(A) \le \infty\}$
有限性条件が付きまとうのは、一般的には「足し算できなくなる」から。半環 $\B$ は特殊で
1. 無限の足し算ができる。
2. 足し算と掛け算の役割をひっくり返せる(ド・モルガン双対)。
よって、
$\quad InfLinComb[\B](X) \cong Map(X, \B) \cong Pow(X)$
$InfLinComb[\B](X)$ が正体不明だが、$Map(X, \B)$ の別名〈別表記〉だと思えばよい。$Map(X, \B) \cong Pow(X)$ により、
1. 述語(ブール値の関数) ←→ 部分集合
1. 述語に対する論理演算 ←→ 部分集合に対する集合演算
1. 述語のあいだの関係 ←→ 部分集合のあいだの関係
1. 述語のメタ述語 ←→ 部分集合の述語
1. 述語の存在限量子 ←→ 部分集合の射影
残念ながら、この対応関係が正しく教えられてない(歪んでる)。以下の表は(もし知らなかったのなら)アンラーン・リラーン用に==必ず役に立つ==であろう。
==以下の表の解説で入門的セミナー1クール分になりそう。==
**述語に対する論理演算 ←→ 部分集合に対する集合演算**
| 述語 | 部分集合 |
|------|---------|
| $p\lor q$ | $A \cup B$ |
| $p \land q$ | $A \cap B$ |
| $\lnot p$ | $A^c$ |
| $p \Rightarrow q$ | $A \triangleright B$ |
| $p \Leftrightarrow q$ | $A \diamond B$ |
※ $A \triangleright B := A^c \cup B$ これは、$A$ の==Bからはみ出し部分==の補集合 $(B\setminus A )^c$
※ $A \diamond B := (A\triangleright B)\cap(B\triangleright A)$ これは、$A$ と $B$ の==対称差==の補集合。対称差は「和」のことで(→[B26 名付けの無茶苦茶](https://hackmd.io/@m-hiyama/HyuP-4dXK))、排他的ORに対応。
定数記号〈述語固有名〉:
| 述語 | 部分集合 |
|------|---------|
| $\top$ | $X$ |
| $\bot$ | $\emptyset$ |
**述語のあいだの関係 ←→ 部分集合のあいだの関係**
| 述語 | 部分集合 |
|------|---------|
| $p \models q$ | $A \subseteq B$ |
| $p \equiv q$ | $A = B$ |
※ $p \equiv q$ は $p = q$ でもいいが、$eq:X\times X \to \B$ という述語にイコール記号が使われるのでオーバーロードを避けたいだけ。
※ 最大の問題点は、**演算 $p \Rightarrow q$ と関係 $p \models q$ が混同されている**こと。理由は記号の不在とオーバーロード。
※ 集合に対して言えば、「$A \triangleright B = X$ なら $A\subseteq B$ となる」ってだけのハナシ。類似のハナシは: $n \% m = 0$ と $m \sqsubseteq n$ は同値。同値だけど、「割り算の余り」と「約数・倍数関係」は別物。
※ 論理演算 $\Imp$ に対して、小難しい哲学的議論をしている人がいるが、そもそもが論理演算と述語のあいだの関係の混同・誤解から出発していたりして、いくら難しい理屈をこねても「ハナシにならない」。
**述語のメタ述語 ←→ 部分集合の述語**
| 述語 | 部分集合 |別な書き方 |
|------|---------|-----------|
| $\models p$ | $IsTotal(A)$ | $X = A$ |
| $\not\models p$ | $\lnot IsTotal(A)$ | $X \ne A$ |
| $\models \lnot p$ | $IsTotal(A^c)$ | $X = A^c$ |
| $\not\models \lnot p$ | $\lnot IsTotal(A^c)$ | $X \ne A^c$ |
※ $IsTotal(A^c) \equiv IsEmpty(A)$
※ $Map(Map(X), \B) \cong Map(Pow(X), \B) \cong Pow(Pow(X))$ ← この対応までキチンとやればいいのもを。グジャグジャ・モヤモヤで済ませてしまう。
**述語の存在限量子 ←→ 部分集合の射影**
| 述語 | 部分集合 |
|------|---------|
| $p\in Map(X\times Y, \B)$ | $A\in Pow(X\times Y)$ |
| $\exists x.p(x, y)$ | $\pi^1(A) \in Pow(Y)$ |
| $\forall x.p(x, y)$ | $(\pi^1(A^c))^c \in Pow(Y)$ |
※ $\exists x.p(x, y) = \sum_{x\in X}p(x, y)$
※ $\forall x.p(x, y) = \prod_{x\in X}p(x, y) = \lnot \sum_{x\in X} \lnot p(x, y)$