クリーネ階層は証拠がプログラムされないことを私たちに示しています。
最初の再帰関係は次のいずれかです。
R1( Program , Iteration ) Program halts at Iteration.
R2( Theorem , Proof ) Proof proves a Theorem.
最初の再帰的に列挙可能な関係は次のとおりです。
(exists x) R1( Program , x ) Program Halts.
(exists x) R2( Theorem , x) Theorem is provable.
したがって、プログラムは定理であり、プログラムが停止する反復は、定理を証明する存在する証明のようなものです。
Program = Theorem
Iteration = Proof
プログラムが仕様から正しく生成されると、仕様を満たしていることを証明できなければなりません。プログラムが仕様を満たしていることを証明できれば、それは正しいプログラム合成です。そのため、プログラムが仕様を満たしていることを証明する場合にのみ、プログラム合成を実行します。プログラムが仕様を満たすという定理は、定理が合成されるプログラムを指すという点でのプログラムです。
マーティン・ロフの誤った結論がコンピュータープログラムを生み出したことは一度もなく、人々がそれをプログラム合成方法論と信じているのは驚くべきことです。合成されるプログラムの完全な例はこれまでにありません。「タイプを入力し、そのタイプのプログラムを出力する」などの仕様は関数ではありません。このようなプログラムは複数あり、ランダムに1つを選択することは、再帰的な関数でも関数でもありません。これは、再帰関数を計算する実際のコンピュータープログラムを表さない愚かなプログラムによるプログラム合成を示す愚かな試みです。