中の人の徒然草432 集合論をオブジェクト指向分析すると・・・
「集合は任意の集合を受け取り、任意の集合を返す対応である。」
※ハッカーが好みそうな再帰構造表現にしています。
※無限を扱う理論ですから、無限構造になるように記述しています。
実際にSetオブジェクトの実装を進めていたら、こうなりました。
それをさらにオブジェクト指向分析すると、この1言が出てきます。
ファジイ集合も考慮した場合、真偽を返すのではなく0~1.0の実数を返すことになります。
しかし、それでもまだオブジェクト指向としては終わりではありません。
もっと抽象化して考えると、何らかの集合を返すと定義したほうが思考ツールとして最高の状態になります。
集合論のパラドックスなんて解決できますし、もっと適用範囲も広がります。
カントールが見た世界は、こんな感じだと推測しています。
やはり、カントールは正しかった。数学の本質は自由なのですね。
彼自身、パラドックスは解決できる問題にしか過ぎないと考えていました。
全てが集合で記述できる世界。なんと天才なのでしょうか。
彼の抽象能力は高すぎます。100年前の人間だとは、とてもじゃないけど思えません。
天才の知的活動に時代なんて関係ないのでしょう。
これだから人間は素晴らしい。それに、世界はこんなに面白い。
この世界は面白いもので満ちています。
この考えを適用すれば、抽象度が高い集合プログラミングと高度な思考ができます。
ちょっと、集合プログラミングぽいものをしてみましたが、非常に面白いですね。
実装としては未完成だから今回は紹介しませんが、後日紹介するかもしれません。
雰囲気だけ書くと、論理型プログラミング+オブジェクト指向プログラミング+関数型プログラミングです。
それにLINQを加えると、非常にクールです。抽象度が非常に高いプログラミングとなります。
OSとかコンパイラの実装には向かないと思いますが(バイナリレベルで最適化した実装ができない)、もっと高い層のものを作るならば有効かもしれません。
趣味の一環としてぼちぼち研究を続けます。
ほかにも研究したいことが山ほどあるんだけど時間が足りない。1日100時間ほどほしいな。