Mutableオブジェクトが登場したがそれでも現実とは無関係だった話

##現実の存在に対してそれは〇〇である、という事はできるか？

さて前回により現実世界にはないある何か（イデア）に対して言及したものがモデルであり、モデルについて言及することは正しく成立するという話をしました。
では、現実世界にある何かに対して言及することはできるでしょうか？
まず、何かについて言及するには「同じ」何かについて言及する必要があります。
ではこの「同じ」というのは現実では何が同じなのでしょうか？

幾何学的、つまりユークリッド原論ではこうなっています。
公理１．同じものに等しいものは、互いに等しい
同一の値オブジェクトに等しい複数の線分オブジェクトは互いに等しい、という意味にとらえればとりあえずは理解できそうです。
ですが、私たちは数学的な存在ではないので同じ存在は二つとありませんし、前回の最後に書いたように時間とともに変化するので二度と同じ存在になることもありません。
よって、我々は現実に存在する「同じ」存在に二度と言及することはできません。言及している最中にも時間は流れているため、事実上、現実に存在するものに正しく言及することは不可能という事になります。
人間は根源的に時間的存在なのです。

##[テセウスの船](https://ja.wikipedia.org/wiki/%E3%83%86%E3%82%BB%E3%82%A6%E3%82%B9%E3%81%AE%E8%88%B9)

この問題は古代ギリシアでもテセウスの船として知られていました。

>プルタルコスは以下のようなギリシャの伝説を挙げている。
>
テセウスがアテネの若者と共に（クレタ島から）帰還した船には30本の櫂があり、アテネの人々はこれをファレロンのデメトリウスの時代にも保存していた。このため、朽ちた木材は徐々に新たな木材に置き換えられていき、論理的な問題から哲学者らにとって恰好の議論の的となった。すなわち、ある者はその船はもはや同じものとは言えないとし、別の者はまだ同じものだと主張したのである。
プルタルコスは全部の部品が置き換えられたとき、その船が同じものと言えるのかという疑問を投げかけている。また、ここから派生する問題として置き換えられた古い部品を集めて何とか別の船を組み立てた場合、どちらがテセウスの船なのかという疑問が生じる。

そして、ヘラクレイトスはこう結論付けています。
>人々が同じ川に入ったとしても、常に違う水が流れている。
>プルタルコスもヘラクレイトスの言葉として同じ川に2度入ることはできない

つまり、テセウスの船はいつであろうがその前の瞬間とは別のものという事です。

これは万物流転としてよく知られています。今までの幾何学的な「同じ」基準を当てはめると誰も現実に、ある何かについて同じであるということができない、つまりある何かに対する言及は常に間違っているということになります。
これを乗り越えたのがプラトンで、イデアを不変な存在とすることで同じイデアについて議論を成立させることに成功しました。ですがまだ同じ「現実的・時間的な存在」について正しく言及することはできません。これを可能にしたのがアリストテレスです。

##オブジェクトを不変なものと可変なものとに分ける

Parameterは可変ですが、ある操作に同じParameterを与えて同じ結果になるときにその操作は同じものなので操作は不変であり、操作はいつでも誰にとっても同じものとして成立します。これを応用して、ある言及に同じオブジェクトをParameterとして与えて同じ結果になるとき、この言及は正しいということができます。
この可変でありParameterとなる存在を「状態」とし、不変であり言及となる側の存在を「オブジェクト」としました。これにより「時間的に存在する何か」を「状態を持ったオブジェクト」であるという形で言及可能となります。これが現実で一般に使われているオブジェクトです。

##状態を持ったオブジェクトもやはり別に現実とは関係ない

状態を持ったオブジェクトはいかにも現実に存在していそうです。例えば私は時間的な存在ですしこれを読んでいる読者も時間的存在でしょう。でもここで思い出すべきは、モデルがイデアに言及したものであるようにオブジェクトはそれが対象とする何かに言及しているだけの存在であり、イデアが現実に存在しないようにオブジェクトが言及している何かも現実に存在していない、少なくとも現実に存在しているといえる確固たる証拠がない、ということです。

###むしろ現実に存在しないオブジェクトを再現するために現実を使う

例えば私とあなたが目隠し将棋、脳内将棋をやるとしましょう。目隠し将棋ご存知ですか？お互い将棋盤も駒も見えないようにして頭の中だけで将棋を指すというやつです。このとき現実に将棋盤が存在しなくても間違えなければ将棋は滞りなく進みます。また、将棋の番組やイベントなどでこれを実演する際には、視聴者に向けてボードなどで盤面を再現します。現実に存在しない盤面を現実で表してるという事ですね。このように、現実にあるかどうかは意外と関係なくオブジェクトは正しく扱うことができ、むしろ仮想的なオブジェクトを再現するために現実が補助的に用いられます。幾何学は現実に存在しない太さのない線を用いますがそれを再現するために紙に作図するように。

##現実に存在するようにみえる何かに言及することもできる

とはいえ、私たちの生活で仮に仮にといちいち言うことはないですし現実の問題のほうが大事なので現実に言及したいことのほうが多いものです。
あるともないとも言えないものに言及できるのですからあるように見えるものに言及するのももちろん可能です。現実の物体は実際にあるように見えるし時間的なものに見えます。
（厳密にはこれは「あるように見える」なので古代ではArgumentでしたが近代ではParameterになり私の言うあるように見えるオブジェクトと他の誰かにあるように見えるオブジェクトが同じである保証はなくなるのですが。）
だからきっとあるであろう目の前の物体に言及することも当然可能ですね。当然操作することも可能なのですが…

##オブジェクトを操作した場合、現実ではアイデンティティが連続しているように見えてしまう

ここで今までの正当性が失われる話が出てきます。幾何学的存在は操作をすると新しい存在になり、別のアイデンティティを持ちます。例えば線分を延長すると別の新しい線分になり、元の線分と別のアイデンティティを持ちます。
ですが状態をもったオブジェクトは元の状態が新しい状態になる一方、新しい状態をもった同じオブジェクトとしてアイデンティティが連続してるように見えます。例えば私はこの記事を書いていますが、一文字書くごとに記事は新しい状態になる一方でこの記事はこの記事のままアイデンティティを保ち続けます。目隠し将棋でも、一手指すごとに最新の盤面は新しくなりますが、参加者は将棋が連続していると考えます。
これは幾何学的に言えば状態こそアイデンティティをもつ存在だったのに入れ替わってしまっています。これがテセウスの船のパラドックスの正体ですね。
関数型言語者の多くが言う「関数型言語とオブジェクト指向言語は相性が悪い」というのはまさにこの状態を持ったオブジェクトは数学的に間違っているというところから来ます。現実というか人の認識は非数学的なのです。

とはいえ、我々はこの非数学的な世界に生きているのでなんとか折り合って生きていくしかありません。我々はこのように数学的に正しい値オブジェクトと数学的に間違っているオブジェクトをごっちゃにして「あれ？値とオブジェクトを区別せずに使ってたらなんか正しくなくなってしまった」などと愚痴をこぼしながらプログラムを書いていくことになります。が問題はこれに収まりません。

###アイデンティティが連続しているとはどういうことか？問題

今までアイデンティティが連続しているしているように見える、と書いてきました。これは時間的に連続していると状態が変化しても同じものに見える、たとえば私が新陳代謝で徐々に体内の原子が入れ替わり、完全に別の物質になったとしても同じ人間のままです。ですが、どれだけ状態が変化しても同じでしょうか？例えば記憶を失っても私は私でしょうか？私が死んで生まれ変わったら私でしょうか？これは魂の問題とか人間の尊厳の問題ととらえる人もいますが、工学的には同じでなかったら正当性を保てないけどどう見ても同じには見えないのでどうしたものかという話です。

###その極端なものが[スワンプマン](https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%AF%E3%83%B3%E3%83%97%E3%83%9E%E3%83%B3)です。

>ある男がハイキングに出かける。道中、この男は不運にも沼のそばで、突然 雷に打たれて死んでしまう。その時、もうひとつ別の雷が、すぐそばの沼へと落ちた。なんという偶然か、この落雷は沼の汚泥と化学反応を引き起こし、死んだ男と全く同一、同質形状の生成物を生み出してしまう。

>この落雷によって生まれた新しい存在のことを、スワンプマン（沼男）と言う。スワンプマンは原子レベルで、死ぬ直前の男と全く同一の構造を呈しており、見かけも全く同一である。もちろん脳の状態（落雷によって死んだ男の生前の脳の状態）も完全なるコピーであることから、記憶も知識も全く同一であるように見える[3]。沼を後にしたスワンプマンは、死ぬ直前の男の姿でスタスタと街に帰っていく。そして死んだ男がかつて住んでいた部屋のドアを開け、死んだ男の家族に電話をし、死んだ男が読んでいた本の続きを読みふけりながら、眠りにつく。そして翌朝、死んだ男が通っていた職場へと出勤していく。

ほとんどの人はこのスワンプマンを以前と同じ人間だとは認識しないでしょう。
構成している物質が連続してないのでいかにも時間的に同じ存在だとは思えません。
このスワンプマンと同じように時間的に連続していなくても同一とされる存在というものはあるでしょうか？
というのが次のお話です。

##今回のマサカリ

ところであなたは状態を持ったオブジェクトがなぜ状態を持ったオブジェクトなのか今まで知っていましたか？
これに関しては誰もが当たり前のように語る割には誰一人「なぜそうであるか」を語らず「私はこう思う」という話ばかり見ましたがあなたはどうでした？