ぶっちゃけ、ほぼ何も考えずに DOOM Emacs を起動して書き初めた。
いや、下書きの下書きのコピー用紙への殴り書きはある。
この記事は、
「他人が何かを学習するにあたり、その学習する対象への興味を持たせたら良い気がする。なので自分が数理論理学を学んで『楽しかった事』や『感動した事』を書き連らねれば、
自分が楽しいと思えた数理論理学を他の人も興味を持ってくれるのでは。持ってくれるととても有り難い」
という動機・モチベーションで書いた、ポエム(詩ではない何か)である。
学歴だけ摘み取って上げ足を取るなら、筆者は大学院や大学ではなく高等専門学校でもない専門学校を卒業した程度で、
「専門士」でしかない。「博士」や「修士」じゃない。
前書きの動機に至った理由としては、筆者が高校を卒業し、専門学校でコンピューターによる情報処理に必要な数学・論理学を授業で再学習をして理解ができ、
その後社会人になって論理学の知識を「深層学習」や「機械学習」、「関数型パラダイム」という言葉で必要性を改めて認識して学習を始めたら、
妙に楽しいと思えたからである。
以下、しばらく筆者が「どれだけ算数・数学・論理学が出来なくて嫌いだったか」を書き連ねる。
酷い話で、数直線の理解ができてなかったのだろうと今は振り返る。
数直線が読めていたとしても、そこに日本語で数直線に対する問題を出題されると、誤答が多かった記憶である。
「数直線うんぬんの前に、日本語の理解が無いのでは?」
おそらく確実にその通りである。
文章題は解き方を説明されながら解けるものの、いざ実践で自力のみで行うと途端に解けない。
それ以前に、テストで文章題に辿りつく前の基本問題で時間を使い果していた記憶である。
未だに強く印象に残っているのは、
「二次元グラフに置いて、x,y の変数に対応する軸を当て違えて 2 年以上過ごしていた」
事である。そのおかげで数学は赤点常連組みであった。
その割には、図形の合同証明や相似証明は妙に好きであった。
「好き」が必ずしも「成績」には直結しない前提は付くので、成績はお察しの通りである
上述を楽観するならば、こういった証明問題が好きだからプログラミングに興味を持てたのかもしれない。
しかし、高校時代は本当に数学の全てが嫌になった様に思う。別に教員が悪い訳ではない。筆者の認知というべきか、
論理面での理解・解釈方法が遅れていたと思える。と言い訳する
特に「集合」の問題がてんで駄目であった。高校生の記憶はまだ新しいので違和感まで再現して分析できるが、
その違和感を分析してみれば、
「『問題の対象・関心』と『問題では扱わない対象・関心』を切り分けられず、苦心していた」
とも取れるし、
「複合命題を前提とした集合演算を読み解けなかった」
とも取らえれる。
やはり、論理というべきか日本語の読み解きの力が無かったのか。その割には文芸的な文書からの、
「出題文書の筆者の心情を読み取れ」
の類いは無駄に成績が良かった記憶。
と、そんな筆者がなぜ
「この背景や経歴を見ても明らかなくらいに論理が苦手なのに数理論理学を学んで感動したのか」
という事を書いて行こう。
たくさんきっかけは逢った1 と思う。
まず一番は2010 年のこれだろう。その Kaigi で最後のセッション、角谷信太郎氏の「There is No Spoon:Revisited」の中で紹介されていた。
筆者が「専門学校では VB.net で授業を受ける Pythonista 未満であった」事は脇に置いてくれ……
時は流れて 2019 年に「禅とオートバイ修理技術」を購入したが、その著者であり主人公であり語り手である
ロバートの論理のナイフによる問題や定理・定義のバラし方には目を見張るものがあった。
それについては過去に Crieit で感想文を書いたが、今回改めてその「論理のナイフ捌き」について語ろうか……、
とも思ったが、素直な話をしてしまえば、 今、筆者自身の事をそう思うからなのだろうけど これは筆者の拙くて幼稚な解釈でそれについて語るより、読者が実際に「禅とオートバイ修理技術」を読んで感じた方がよっぽど良いと思う所存である。なので書かない、いや書けない。
とはいえ、「禅とオートバイ修理技術」を実際に買って読むまで いや、今でもか…… 、自分が今書いた文の文節・単語の前後関係が支離滅裂で、それに全く違和感を抱かずに Twitter に投稿し続けていた。
そんな阿呆なので、某氏からリーナス・トーヴァルズの 10 倍希釈の論理添削をよく 今でもごく稀に 頂いていて、
そのまま筆者に対して呆れ果てて良いものを、わざわざ筆者に野矢茂樹著「論理トレーニング 101 題」を買ってくれた訳である。
実は未だに一度も読み通せておらず、まだ 3 分の 1 も読み終えて無いのではないと記憶している。
しかし、それだけ読んでもナマクラどころか棍棒同然の筆者の論理のナイフは、やっと錆びたペーパーナイフくらいにはなった気はする。
と書けば某氏は「あー、まだこいつやっぱり阿呆だわ……なんでこいつこんなに学習しないのだろう」と呆れ果てるだろうと容易に想像するが
読者に、
「某氏の事を随分恨んでるなあ」
と思わせてしまったなら、それは正に筆者の表現力・語彙やその言葉の選択が幼稚で白痴だからだ。
文語表現の乏しさは何においても筆者の周りで下手に出る者は居ないだろうという自負はある。
まどろっこしく述べたが、感謝している。ただ完全に言い訳だが、筆者がヘソ曲がりなので純粋に感謝の言葉を並べても、その言葉の列には言外の意図 2が伝わらなくてもどかしい思いになるのでこうなった。
して、そんな筆者に追い打ちをかけるかの様に到来したのが「プログラミング教育」だったり「深層学習」のパラダイム、それと少しの関数3 型パラダイムの言語の n 回目の流行り4 である。
筆者は 他のメンター各位には煙たがれていると思うし、門下生にも「面倒臭い」と思われているだろうが 密かに CoderDojo のメンター活動をさせて頂いているので、
「プログラミング教育」には 今思うと、むしろ今でも敏感過ぎる程に 感じ、思うところがあったもので、Crieit にも色々散文を書き散らしては公開している。
しかし、ここで「深層学習」という 想像力を世の中を渡り歩いて生きて行く為にかなぐり捨てた者達が妙に上げ諂う 関数の重ね掛けのアプローチ が妙にもてはやされる様になったのではあるが、
これも雑にバラすと関数の重ね掛けなので、その複合演算・複合演繹の膨大な入力とその結果を全て網羅できなくても、そこに含まれている関数の一つ一つなら理解できる……かも知れないという持論の上で、
脇に大分逸れた様な発想ではあるが、数理論理学の森というのか深淵に踏み入ってしまった訳である。
筆者の語彙の無さと記憶力の無さには我ながらうんざりするが、成人してからずっと、
「『論理的思考能力』とは言うが、一体どうやって皆は学んだのだろう。実戦 という世の中 で鍛錬したと言うなら、自分はそれ以前なのだが……」
と思って Google か DuckDuckGo したかさえ忘れたが、その検索結果に引っ掛ったブログ記事で「『数理(記号)論理学』を学んでからの実践の提案と、足掛りとなる書籍の紹介」
がされていたので一通り買ってしまったという具合だった記憶がある。 そのブログの著者には感謝を伝えたいが失念したためにそのブログを見つけ出すのも叶わない有様だ
そのブログ記事では他にも「詭弁論理学」と「逆説論理学」の紹介もされていたのでそれらも買っている。ただしまだ開いてさえもいない。
ここまでで大分「筆者が『数理論理学』に入門した経緯」については書いたので要らないかもしれないが、もう少し。
これは筆者自身の「数学」という言葉に対する認知バイアスもあってとは思うが、
「数値で表すには違和感のある概念 も『数学』には含まれている」
と今は言語化できてるが、今以前はそれが言語化できなかったし、けれどもその違和感をなおざりにして数学を学ぼうとしていたためか、
その違和感によって『数学』はどんどん霞み・霧が濃くなって見失う様な感覚を覚えていた気がする。
「仲間のなかには」と老先生が言った。「ボッケル先生より、ずうっと苦労している悪魔がおる。たとえばわたしの同僚で、
年配のイギリス人のラッセル卿は、あるとき、1+1=2 を証明しようと決心した。ほら、この紙切れに写しておいたが、
これがラッセル卿のやった証明じゃ」(…図省略…)
「うひゃっ!」ロバートは身ぶるいした。「ぞっとするね。こんなことして、なんの役に立つの? 1+1=2 なんて、ぼくだって知っているのに」
「ああ。ラッセル卿だって知ってたよ。だが、もっときちんと知りたかった。で、こういうことになったわけだ。(……後略……)
著:エンツェンスベルガー, 訳:丘沢静也 「普及版 数の悪魔 算数・数学が楽しくなる 12 夜」の「第 11 夜 『証明はむずかしい』」より抜粋5
これは非常に極端な例とは思うし、筆者も数理論理学においての語彙や構文解析能力が乏しいため、理解には至っていない。
しかし、筆者個人の感想としては、
「この様に論説の展開を記号に変換してしまう事で、 言外の意味を組み取らせない、する必要の無いものになった 」
と想い抱く。
ましてや、筆者はこういった論理学者や哲学者の論説やその論説に至る経緯を読む程に 自惚れではあるとは思うが 、
「この人達はきっと煙に巻く様な言い回しに違和感を抱き続けていたからこそ、こういう事を突き詰めていたのだろう」
と、感銘や共感の念を抱いてしまうのである。
しかし、筆者にある問題は他にも大沢山あるとは承知の上ではあるが、こういう、
「いちいち細かい事が気になり過ぎてしまう」
質の者というのは、世の中に馴染み難かったりする。
と文芸的な事を述べたっておそらく「筆者が何に違和感を抱くのか」の具体例でも示さないと強く伝わらないものと思うので、
ここでごくごく普通の小学 1 年生の算数の問題を筆者なりに出題してみる。
赤いりんごが 3 コ、緑色のりんごが 6 コあります。全部でりんごはなんコあるでしょう?
ここまで読んで頂いた読者ならこの問題の答えも「9コ」と即答できるだろう。
ただ、筆者の頭の中ではこんな映像が描画されてしまうのである。
そしてこの後の文を読んで、「全部でりんごは……」と書かれている物だから、
「赤いりんごが 3 つある映像と緑色のりんごが 6 つある映像」
を再生成する。その上で数を数えていた。 筆者が小学 1 年生の時の考え方を想い返しての文章起こしだが
まだこれは単純な問題ではあるが、これが 25 歳の頃に通っていたメンタルクリニックで受けた知能テストを例に上げるなら;
32 たす 58 は?
と口頭で心理士さんに出題されると、頭の中で丁寧に数字を描画してそれを筆算の図に変換しているうちに数値を失念して計算ができなくなる。
そしてこれは今でもそうなのだが、口頭会話が本当に苦手で、特にディベートなどの議論・討論の場ならともかく、口頭での伝達や意識合わせという類い
でも厄介な事に筆者の頭の中では、
という事を並列で行わざる負えないし、さらに厄介なのは形態素解析が 2 次元展開されて、最終的には 3 次元や時間軸で変化する映像を、シークバーを操作する様に言葉から演算される情景やグラフ図ができているのである。
むしろ他人がどの様に口頭での会話が脳内で展開されているか知りたいものの、知ってもおそらく自分はこの展開方法が身に焼き付いてしまっているので、
別のパラダイムへの矯正は困難にしか思えないのが本音である。
付け加えるなら、それこそ数理論理学に入門するまで自他の書いた日本語の文章での関心の対象だったり形態素解析が全くできてないため、支離滅裂な SNS への投稿を
今でも気を抜くとそうだが してしまうのである。
そんな筆者が数理論理学と逢えて良かったと思うのはやはり
「自然言語に上げ難く、発音する余地も無い記号を用いて論理構造や立証の展開や演繹を行う事ができる様になった」
というのはある。
論理結合子は 5 つしか 定義されていないのである。またそれらは容易にプログラミング言語に書き替える事が可能である。
下記では筆者の好みにより、Python と比較する:
not A
相当。変数や式の頭に ¬
という記号を付ける ( ¬A
)A and B
相当。変数や式同士の間に ∧
という記号を挿入する ( A ∧ B
)A or B
相当。変数や式同士の間に ∨
という記号を挿入する (A ∨ B
)A ⇒ B
)B==A
相当。変数や式同士が真と成る事を表す (A ⇔ B
)また、読者にとって余計な世話と思うが、ブール値に関しても書き加えておく:
True
相当。数理論理学の真理表では 1
という文字で表す事も多い。また、省略で t
, や T
の文字で表す事もある。False
相当。数理論理学の真理表では 0
という文字で表す事も多い。また、省略で f
, や F
の文字で表す事もある。もう一つ余計なお世話で、表にしてみる。
日本語
よみ
記号
in Python
真
しん
True
偽
ぎ
False
否定
ひてい
¬
not
連言
れんげん
∧
and
選言
せんげん
∨
or
含意
がんい
⇒
同値
どうち
もし他の結合子を定義したいと思ったならば、一度その言葉や概念をまず 2 つくらいに分割できないか、そして分割した物がさらに分割できないかと割っていく。
そうやって切り刻んでいくと、最後にはこれらの論理結合子で表せる物が組み合わされているものになる はずだ なお、これを 複合命題 や 複合述語 という。
少し変っていると読者に思われるかもしれないが、筆者個人が衝撃を受けたと形容する位には感動した事なのでこれも特筆させて頂く。
上記でも事足りるには足りるが、「すべての……は……である」や「ある……は……である」という日本語での表現を、個人的にはとても短かく表すのに都合の良いものがある。
それが 量化 である。
∀
という記号を頭に大きく付ける。その右下に変数や式が代入される。∃
という記号を頭に大きく付ける。その右下に変数や式が代入される。ところでこの量化の記号、 量化子 を実際に TeX 等で書いていたが、著者が TeX 式の出力方法が思い付かなかったので、申し訳ないが省く。
ただ、この量化子を用いた論理式を眺めて筆者は「ラムダ式みたいだなあー」と思った訳である。
TeX で式を書いて「当然だわ。『記号の右下に変数が付いてる』のだもの」と書いて気づいたが
実の事を言うと、述語の説明・定義の時点で「チャーチ数の様だ」と思う人が居るとは思うが、
筆者が「述語はチャーチ数みたいだな」と感じたのは量化子の説明を読んだ後で述語の説明を読み直した時である。
なお、ラムダ計算ではチャーチ数という概念で自然数を定義する。詳しくは自分が TeX のコード出力に手間取っているよりは、
ラムダ計算基礎文法最速マスター | 貳佰伍拾陸夜日記 の「自然数」の節をご覧頂くのが早いだろう。
全称の記号 ∀
の記号を見て、
「顔文字の口みたい」
と思われた方が居れば、おそらく同世代なのだろうと筆者は推測する。
筆者は「匿名掲示板 2 ちゃんねる」に出入りする様な度胸を持ち合わせていないものの、
当時の Flash アニメで「モナー」の存在は知っていたモナ(´∀`)
ところで、モナのよく使う煽り文句で、
「オマエモナー」
っていうのがあるモナ(´∀`)
全称の意味が「すべて」の意だから、何か言われたモナたちが、
「オマエモナー(´∀`)」
って煽るのは、モナもモナに文句を言ってきた人も⇒すべての人が該当する。
という自嘲と皮肉なんだモナ(´∀`)
……という話 全くない 。上記は筆者の言葉と記号の関連付けで遊んだ散文である。
ここまで書き上げるのに 2 日(14 時間)も費してしまったのではあるが、
という事が読者に伝わっていれば、感謝したいくらい幸いだ。
論理的な文章もしくは言い回しには、どうも血の通っていない印象を持たれるらしい。
少なくとも、筆者個人から見ての他者同士の会話において、片側がまたもう片側からの比較的理路整然とした指摘に対して、
「偉そうですね」だったり「どうしてそんなに冷たいのですか?」
という感想を見聞きする事が、筆者の体験上でとても多い。
また、もしここまでの筆者の御託というのか感想文に
「偉そう」
という感想を抱かれたなら、それは筆者の語彙だったり言葉選びが幼稚であるためだ。容赦頂きたい。
しかしながら、筆者は今回この記事を書くにあたってバートランド・ラッセルという人物の事を始めて知ったも同然なのではあるが、
Wikipedia の氏のページの語録の章に興味深いものがあったので 2 つ紹介させて頂く。
高潔な人たちが、自分は正当にも「道徳的な悪」を懲らしめているのだと思いこんで行ってきた’戦争’や’拷問’や’虐待’のことを考えると、私は身震いする。
On Education, 1926 より
特別筆者が語る必要は無いだろう。完全に筆者の偏見に因るものだが、
「正義」の名の元に’戦争’や’拷問’や’虐待’を行う人達は、
「自分の地位や名誉や権利や生存とそれらの存続」
に危機や不安を覚えるから、
「先にそれらを奪う可能性のある存在を潰してしまおう」
あわよくば、
「その存在を『自分の地位や名誉や権利や生存とそれらの存続』について肯定する存在に変えてしまおう」
とするのだ。
こう述べるとさも筆者が、
「俗に塗れぬ者」
と捉える読者が居るかもしれないが、全くもってそんなことはない。
「地位や名誉や権利や生存とそれらの存続」
は、生き物の性であり、またミーム学ごっこの考え方をこじつけてしまえば「情報そのもの」もその存在の存続を脅かす
存在が居ると認識するならば、駆逐・殲滅するのであろう。とは思う。ただし、ここまでは殺人癖の類いに関しては扱わないものとする。
さて、ここまで述べた、むしろ戯けて置いて、筆者が何もラッセル氏の引用に対しての反論や同感などは述べていないと思う。
筆者も実体験での実感を元に「身震い」する。しかし、ここでは実体験の詳細は省く。
ただ、その筆者自身の体験や感覚に至る認知・クオリアを誤差なく伝える事は叶わない。
なので高潔を自称する人々に筆者が偉そうに、
「貴様達も己等が如何に動物・生物的な価値の押しつけをしているのか自覚を持て」
と宣うのもまた価値感の押しつけどころか、それこそ生物の生存存続の価値に従っての独り善がりでしかない。
であるならば……いや、もうこれ以上戯けても、
「俺は暗くてジメジメしてカビ臭くてキノコが生えている様な所でも生きるよ」
という今現時点での所感に着地する。
「不幸な人間は、いつも自分が不幸であるということを自慢しているものです」
出典不明
先程、
「俺は暗くてジメジメしてカビ臭くてキノコが生えている様な所でも生きるよ」
と述べておきならが、このラッセルの語録はとても胸に刺さる。
心臓をマチェットナイフで突き刺されたのではなかろうかというくらいに。
そして、自称不幸さなら周りの人間の誰にも負けないという
下らない囚人の足枷の自負にエクスタシーを感じがちな筆者は、いい加減その不幸自慢が
周りに不快感を与えている様子なのをようやく察した訳である。
ただ、その不幸の原因や問題に対しては全く論理的な観察・分析が進んでいなかったから、
不幸自慢をするしか無かったとは、言い訳する。
果たしてこんな現世は人の型をした畜生の学習開始感想文をここまで読んでいる人はもう居ないのではなかろうかと
思いながら書いているのではあるが、この記事で何を言いたかったのか筆者自身がこの記事と、
記事にする前の殴り書きを見返して箇条書きして締めよう。
以下、ただでさえクソ長い上に支離滅裂だろうこの記事に数個書きたかった事について書いておく。
こちらの「認知特性テスト」による筆者の認知特性を見せた方が良いと筆者個人としては思ったので結果を貼りつけておく。
論理や認知の話で「サピア・ウォーフの仮説」の話を絡めて、
ロジバンやグロービッシュについても語りたかったが、話の展開があまりにも不自然であったので、
蛇足で語らせて頂く。
簡単に言えば、
「言葉が違うと物事の捉え方も変わるのでは?」
という仮説と、その説の検証として「ログラン」という言語とそれを発展させた「ロジバン」が在ったり。
また、英語の名詞・固有名詞以外の語彙を少なくした英語として「ベーシック英語」というものが在り、
これを利用してプログラミングでの関数やメソッドの命名に使うのも在りという話があったり。
また「エスペラント」という言語も興味深いと思う。
いずれにせよ、どの言語で書かれていても、その書かれたものの著者の背景理解だったり、
論理的解釈は必要なのだが、 多少はこういう言語の方が論理面の解釈や背景理解に
あたっての負荷が低いのではなかろうかと、 10 年前から思ってしまっている所存ではある。
興味が湧いた方は是非調べて頂けると幸いである。
この投稿の初稿に対するレビューを「興味があれば」とザツに頼んだにも関わらず、
至極冷静に指摘をくれた D.O 氏には有り難く感謝を申し上げたい。
また、多忙かつ筆者のこんな下らない感動の感想文にも肯定的に、
「読むよ!」
と返答をしてくれた、かげぎす氏にも感謝申し上げたい。
1 「逢った」という表現に「誤用では?」と感ずる読者が大多数と筆者は思うが、これには、
「存在した」ではなく「筆者が求めて ではなく あちらから切っ掛けが 来た 」という言外の意図を表したく、この様な表現にした。
2 この記事では「ニュアンス」と言った方がよっぽど伝わり易いと思われる筆者の心情をあえて「言外の意図・意味」と書いている。
筆者自身への「ニュアンス」という言葉による「書き出さない、書き出し難い意図や意味」の省略を避けたい戒めである。
3 書物や記事によっては「函数」と表記される事もあるので、改めて意味を調べた。どちらも同じ物を指すものの、これまた言外の意味を
筆者個人が感じたので脚注で戯けさせていただくと;
の様に受け取れた。
幼稚だが Wikipedia の名称表記の歴史を掻い摘んで見れば、
日本語としての関数はもともと「函数」(旧字体では函數)と書く。函数という語は中国語から輸入されたものであり、中国での初出は 1859 年に出版された李善蘭の『代微積拾級』といわれる。
(…中略…)
なお、現代の初等教育の場においてはしばしば関数をブラックボックスのたとえで説明することがある[2][11][12]。この説明では、「函」を「はこ」と読むことと関連付けて説明されることもあるが、「函数」の語の初出は 1859 年なのに対し、「ブラックボックス」の語の初出は 1945 年ごろとされることに注意を要する。
誠に個人の感想だが、「『入力・出力の値』に対しての関心・着眼が『関数』」、「入力・出力が出入りする『箱そのもの』への関心・着眼が『函数』」と書かせるのかもしれないと感じた。
どちらにせよ、入力・処理そのもの(ブラックボックスでも)・出力のひとまとまりを述べる言葉には変り様は無いと思うので、
「よっぽどブラックボックスに関心・着目をさせたいのであれば『函数』と書いても一興かも」
というのが筆者の感想であるし、関心の対象が「数学」なのか「哲学・論理学」かでもボヤけてしまう話と筆者は感じるので、
「この論争は人間の認知・クオリアが画一の物を誤差なく共有できない限りは解決しないだろう」
と Wikipedia を見て思ってしまうのである。
4 「流行り」と解してしまうのは良くないのかもしれないし、筆者個人も LISP や ML, Haskell, OCaml が出た当初や
その後暫くの業界での利用例や学術記事の増減を見た訳でもない。
良くて 2015 年頃に Haskell が盛り上がって Scala が盛り上がり、Elixir や Crystal や Haxe だったり Rust の誕生で筆者の観測している界隈で賑わったり……」
という筆者個人の肌感覚しか持ち合わせていない。
5 書籍では老先生の「ラッセル卿の『1+1=2』の証明」の写しは手書きの書体で記されていた 図と明確に判る様にと載せたと思われる 。興味のある読者は、
Wikipedia 日本語版の『プリンキピア・マテマティカ』の『引用』の節をご覧頂ければ幸いである。
筆者のお約束。GitHubで公開している。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント