ミルナーのマイクゴードンによる「厳密な証明を支援するための機械の使用」についての解説を読んでいます。このペーパーでは、Dana ScottとStracheyによる表示セマンティクスのアイデアからLCFがどのように生まれたかを説明します。
FCFを開発するにはFloyd-Hoareロジックでは不十分であるように見えますが、なぜこれが当てはまるのかはわかりません。最後に、Hoareロジックでは、いくつかの前提条件を満たし、関係を介していくつかの事後条件適合するプログラム状態を扱い、Iはこの式を提供できます。ウィキペディアは、意味論的意味論は次のように述べています:
は、言語からの式の意味を説明する数学的オブジェクト(表記と呼ばれる)を作成することにより、プログラミング言語の意味を形式化するアプローチです。
Hoareロジックでは、再帰を扱った覚えがありませんでしたが、このアプローチでインスタンス再帰がいくつかの関係の固定点としてどのようにモデル化されるかに関するいくつかの直観に精通しています。それでも、両方のアプローチは、数学的関係を使用して入力と出力の間の関係を記述しようとするようです。
質問
それでは、Hoareロジックと表記セマンティクスの違いは何ですか?表示セマンティクスはプログラムのいくつかの複雑さをよりよく管理しますか?その場合は、例を挙げて説明してください。
たぶん、次のミルナーの表記意味論に関する引用は、あなたの答えを導くのに興味深いです:
このロジックでプログラミング言語の構文を書き留め、ロジックでセマンティクスを記述することができました。