簡単に言えば、Curry-Howard correspondenceは、型が定理であり、この型を返すプログラムが対応する定理の証明であると述べています。Curry-Howard同型のバグと同等のものは何ですか?
対応は、直観主義計算などの数学的証明の形式化に基づいており、直観主義論理に拘束されています。しかし、数学的証明がそれらの形式言語で書かれているとき、それらの誤りはコンピュータによって検出することができる。たとえば、Mizarは比較的高水準の数学的言語であり、それに書かれた証明書をチェックするコンパイラです。
したがって、Curry-Howardはプログラムをエラーなしで数学的証明に関連付けます。したがって、Curry-Howardは数学的な世界でプログラムバグの概念をどのように翻訳していますか?上記のことによって、それは証明における論理的な誤りではない。
バグのあるプログラムは、Curry-Howardによって数学的定理の正当な証明に対応しますが、誰も気にしません。おそらく、それらの間に奇妙な計算規則を持つ5823の操作で作られたカスタム代数構造について何かを証明するようなものでしょうか? –
無駄な有効なアルゴリズムについては、 'int i = 0; while(true){i ++;}は18を返します; '? –