我期待在自動化軟件驗證的要求,即一個程序,它的代碼(用C和Java語言程序的普通代碼),生成一串定理說的,每個迴路必須最終停止,沒有斷言將被違反,永遠不會有一個空指針的解除引用等,然後將其傳遞給定理證明器,以證明它們實際上是真實的(否則找到一個指示代碼中的錯誤的反例)。邏輯的軟件驗證
問題是使用什麼樣的邏輯。兩個主要的位置似乎是:
一階邏輯就好了。
一階邏輯是不足夠的表現力,需要高階邏輯。
問題是,似乎有很多支持這兩個職位。那麼哪一個是對的?如果它是第二個,那麼您是否有任何可用的事例要做,基於一階邏輯的驗證器是否有問題?