「チューリングマシンの停止性問題が決定不能だから、バグのないソフトウェアは作れない」という説を(アカデミックな人からも)よく聞く*1のですが、(結論はともかく)論理が理解できません。「停止性問題が決定不能 → Completeな自動検証器は実装不能 → バグのないソフトウェアは作れない」の2番目の矢印が成り立たないと思うのですが、別の意味?(もちろん、今のCoqやCharityですべての業務プログラムを記述しろ:-)とか言うつもりはありませんが) P.S. bonotakeさんからコメントをいただきましたが他の方のために:「Completeな」(バグがあれば必ずyesと答え、バグがなければ必ずnoと答える)という限定条件もついているので注意が必要です。バグの種類にもよりますが、単にsound(バグがあればyesと答える=noと答えたらバグはない)とか、「十分に近似」とかであれば、実装可能な