アップデートの前後のプログラムを組み合わせることをプログラミング言語の機能で表すとどうなるかということを ChatGPT で調べてみました。 7 アップデートされる前のプログラムはどうなりますか アップデートされる前のプログラムは、通常以下のような状態…
プログラミング言語について質問してみます。人間が書かないのであればプログラムは人間に理解できる必要はないし、アップデートに必要な機能をすべて持っていれば良いのではないかということなのですが、質問のしかたが難しいです。 4 アップデートの手法と…
「差分アップデート」ではプログラミング言語に基づいて調べる予定でしたが、方向を変えて自動的にアップデートする理論に焦点を当てて ChatGPT で質問してみることにします。 1 ビッグデータによって自動的にアップデートされているプログラムはありますか …
プログラムのアップデートについて問題がわかりやすくなるまで ChatGPT に質問する形で調べていきます。 ゲーム(1) この問題は何かというとユーザーの入力を処理する「関数プログラミング」のアップデートについて調べようというものです。アップデートの前…
「モノイド的論理プログラミング(2) - エレファント・ビジュアライザー調査記録」の続きとして ChatGPT で分類してもらいました。入力: プログラミング言語によって、関数の引数を評価した後で渡す場合と関数の引数を評価せずにクロージャーのような形で渡す…
クロージャーの定義はまだよくわからないので、さらに ChatGPT で質問してみました。 入力 9: 「クロージャ」という用語の一般的な定義はありますか 結果: はい、クロージャ (closure) はコンピュータプログラミングにおいて広く使われる概念で、一般的な定…
今年も目標を書いておきます。 目標: 永久に動くプログラム(理想的なサーバーのプログラム)をテキストまたはゲームの入力のビックデータからアップデート アップデートの方法: 無限イテレータープログラミングによる差分プログラミングでアップデート 無限イ…
クロージャーの一般的定義が知りたいので、他のプログラミング言語についても ChatGPT で質問してみました。 入力 5: これらの一連の主張はプログラミング言語 Miranda または Gofer でも成り立ちますか 結果: はい、これらの主張は Miranda や Gofer にも適…
「ラムダ計算と無限ラムダ多項式(13) - エレファント・ビジュアライザー調査記録」、「関数プログラミングのクロージャー(1) - エレファント・ビジュアライザー調査記録」でも調べていましたが、クロージャーの代数的構造を定義して、変数が変更可能の場合と…
今後の予定 前回の「クロージャーの調査」では 「クロージャーの調査(2) - エレファント・ビジュアライザー調査記録」では (言語1) クロージャーが使えるC#のコードで記述する言語 (言語2) クロージャーが使える通常の言語 (言語3) クロージャー調査用言語 …
プログラミング言語版不完全性定理(4) 以下は『不完全性定理とはなにか 完全版 ゲーデルとチューリング 天才はなにを証明したのか (ブルーバックス B 2277)』の190ページ(様相論理)にある「ブーロスによる第2不完全性定理の証明『LOGIC, LOGIC, AND, LOGIC」…
プログラミング言語版不完全性定理(3) 『不完全性定理とはなにか 完全版 ゲーデルとチューリング 天才はなにを証明したのか (ブルーバックス B 2277)』の様相論理の項の第二不完全性定理の証明の計算をラムダ計算のように書き直せないかということで ChatGPT…
繰り返しに対応するよう、さらに ChatGPT で書いてもらうことにします。 入力1: 項のリストなどの処理のために、「拡張 BNF」のようにパース関数を繰り返す機能を追加したいのですが、どのようにすれば良いでしょうか 結果: 「拡張 BNF」のようにパース関数…
もう少し BNF に対応させてほしいので、さらに ChatGPT で書いてもらうことにします。 入力1 以下のように入力しました。 以下のように変更してください: すべての代数的構造のクラスを表すインターフェースを追加してください パース情報クラスの内容は変更…
前回の結果は、BNF に構文解析の関数が対応しているのですが、もう少しちゃんと対応するようにできそうなので、さらに ChatGPT で調べてみます。 入力1 以下のように入力しました。 以下のように変更してください: パースのとき文字列を直接渡すかわりに次の…
Prolog のプログラムを C# 形式で書かれた構文を構文解析して C# のクラスに変換する ということをやりたいので、ChatGPT で調べました。前回の代数的構造の後、まず以下のように入力しました。 この代数的構造に従って Prolog の構文解析を行うプログラムを…
Prolog のプログラムを代数的に表す方法を ChatGPT で調べました。 入力: Prolog の項を代数的構造で表してください 結果: Prolog の項は、代数的構造として表現できます。その際、以下のような形式的な記述が適しています。 Prolog の項の代数的表現 Prolog…
「モノイド的論理プログラミング(1) - エレファント・ビジュアライザー調査記録」の「文脈自由文法」との比較で、実行順序という視点でも比較できそうなので、ChatGPT で調べてみます。 構文解析との比較 入力: 文脈自由文法の構文解析の処理と論理プログラ…
ChatGPT での調査は「人工知能的論理プログラミング(9) - エレファント・ビジュアライザー調査記録」と同じようになってきたので方向を変えます。「モノイド的構文解析」では C# 形式で記述するバージョンも作りましたが、論理プログラミングでそのようなこ…
目標 「モノイド的構文解析」では構文解析を冪等半環で表し、それを C# 形式で記述しました。ここでは論理プログラミングについて同様のことを試みます。この考察を発展させて論理プログラミングとクロージャーの関連についても調査する予定です。これがどの…
プログラミング言語版不完全性定理(2) 「自分自身が証明できない」という論理式を定義することができれば真であり証明できない論理式になるということで『不完全性定理とはなにか 完全版 ゲーデルとチューリング 天才はなにを証明したのか (ブルーバックス B…
前回の「Cω」に以下の機能を追加することにします。 「Cω」では任意の長さの自然数を扱うことができる プログラミング言語Cでも配列を使うことで実現できるので必要ない(メモリー不足にはならないとしているので任意の長さの配列を使うことができる)のですが…
『不完全性定理とはなにか』の新しい版(不完全性定理とはなにか 完全版 ゲーデルとチューリング 天才はなにを証明したのか (ブルーバックス B 2277))が出ていたので、旧版のわかりにくかったところが書き換えられているのかどうかを調べようと思ったのですが…
『数学基礎論 増補版』に「半群の語の問題」という用語を見つけたので ChatGPT で調べてみました。 「半群の語の問題」とは何ですか 「文脈自由文法」とは何ですか オートマトンとは何ですか 「文脈自由文法」を半群の語で説明してください ある決まった文字…
現在の状況 自由モノイドのイテレーター 「人工知能的代数学」では「モノイドの左逆元・右逆元」の問題をモノイドまたは半環を使って説明しようとしていました。この動作は Prolog の動作と同様のものとなっています。そのため「単一化アルゴリズム」では単…
モノイド的構文解析言語 MonParser (C# 形式 バージョン 0.3) MonParser バージョン 0.3 BNF 形式の演算子を C# 形式に合わせて変更します。「^」は BNF 形式では「->」とします。演算子の優先順位は C# に合わせます。 「str(文字列)」は構文木で使われない…
モノイド的構文解析言語 MonParser (C# 形式 バージョン 0.2) MonParser (BNF 形式)の構文解析 「par」はパーサーを表すクラス、「syn」は構文木を表すクラスです。 par str(string s) => par.StringRegExp(s); par st(string s) => par.String(s); par opr(…
モノイド的構文解析言語 MonParser - MonParser の構文解析(C# 形式) MonParser (C# 形式) バージョン 0.2 演算子を使うように仕様を変更します。演算子を多用すると何が書いてあるかわかりにくくなりますが、簡潔に書くことができるので全体の構成が把握し…
モノイド的構文解析言語 MonParser - MonParser の構文解析(C# 形式) MonParser (C# 形式) バージョン 0.1 最初に定義した MonParser は BNF を Python 版 MonIter の形式で書くものです。これは BNF 形式ということにします。MonParser (C# 形式)を MonPars…
モノイド的構文解析言語 MonParser - MonParser の構文解析(C# 形式) MonParser の構文を MonParser (C# 形式)で書きます。 「str(文字列)」は構文木で使われない文字列を表します。正規表現を使うことができます。 「op(文字列)」は構文木で使う文字列を表…