計算論考

1. コード

1.1. コードは計算によって駆動する方向とコード自身の改変という2つの時間軸を持つ。プログラマは2つの時間軸を制御する。

1.2 前者を計算時刻, 後者を改変時刻と呼ぶことにする。

1.3 計算時刻も改変時刻も我々の実時刻(我々の物理時刻)と関係するが自明ではない。

2 時刻変化

2.1 コードは計算時刻の変換に対して不変であるとする。

2.2 コードは改変時刻に対して変化する。(分岐は簡単のためまずは考えない)

2.2.1 改変時刻によるコードの変化はよく進化に例えられる。

3. 相互作用

3.1 計算は環境と相互作用する。 (状態,環境) → (状態', 環境')

3.2 この時、実時刻は進む。

3.3 計算をしている主体とコードは異なる。

3.4 コードも環境と相互作用する。 (コード, 環境) -> (コード', 環境')

3.5 計算主体は状態をコードを法則として環境を参照しつつ変化させる。

3.6 コードを変化させるのはプログラミングである。

3.7 プログラミングの主体はプログラマである。

3.8 プログラミング主体はコードをXを法則として環境を参照しつつ変化させる。

3.9 Xはプログラマにおける「コード」である。

3.10 (状態', 環境') = 計算主体(コード, 状態, 環境)

3.11 (コード', 環境') = プログラマ(「コード」, コード, 環境)