現在の状況
自由モノイドのイテレーター
「人工知能的代数学」では「モノイドの左逆元・右逆元」の問題をモノイドまたは半環を使って説明しようとしていました。この動作は Prolog の動作と同様のものとなっています。
そのため「単一化アルゴリズム」では単一化アルゴリズムをモノイドまたは半環を使って説明しようとしています。以前このブログで単一化アルゴリズムの証明がわかりにくいので書き直していたのですが、それをさらに書き直しました。
「モノイドの素因数分解」では単一化アルゴリズムに現れるイテレーターをモノイドまたは半環への写像で表しました。これで「モノイドの左逆元・右逆元」の問題をモノイドまたは半環でほぼ説明できるようになりました。
「自由モノイドのイテレーター」ではイテレーターの調査をしています。これは前回の中間報告で書いた
などを調べるためです。
まずプログラミング言語の「ジェネレーター」では有限長のリストの後に無限長のリストを連結することができます。これは何と呼べば良いのかを調査しています。
圏論では「等化子」を使えば良いのでは、ということで ChatGPT で「射影的極限を「等化子」で説明することはできますか」と入力してみたところそれらしい答えを得ることができたのですが、これで説明できるかどうかはまだわかりません。
次にプログラミング言語の実装ではどうなっているかということで、フィボナッチ数列の例を調べました。そこで現れる
についても調査しました。
「帰納的可算集合」との関連を調べるため「プログラミング言語で「帰納的可算集合」を表すものは何ですか」 と ChatGPT で入力してみましたが、まだ使えるかどうかわかりません。
今後の予定
概要
このブログの目標であるプログラムの自動アップデートのために、論理プログラミングまたは関数プログラミングの無限の列を考えます。無限の場合にはどのような理論があるのか不明なので調査します。また数式の変形を自動的に、ゲームのように実行することも調査します。
このような調査はやっている人はいると思いますが、学校などで行われるまじめな調査ではないので検索してもなかなか見つからないと考えられます。このブログでは、このような題材を主に扱っています。
イテレーターによってサーバーを記述するための言語
「関数プログラミングと無限論理多項式」で平方根を計算するサンプルを書くために作成した言語です。これも構文解析については「モノイド的構文解析」の方法で定義していく予定です。
不完全性定理
『不完全性定理とはなにか』の新しい版(不完全性定理とはなにか 完全版 ゲーデルとチューリング 天才はなにを証明したのか (ブルーバックス B 2277))が出ているのでわかりにくかったところがどうなっているのか調べてみたいと思います。少し見てみたのですがよくわかりませんでした。
ChatGPT で「不完全性定理をプログラミング言語で説明してください」と入力して調べてみましたが、まだよくわかりません。





