なぜ計算可能な関数は継続的ですか?
私はラムダ計算の意味論的意味について読みやすい文書を書いているところです。そのために、CPO、単調性、連続性を紹介します。CPOはセットですMMM 半順序で ≤≤\leqおよび下部要素必要、における最小要素であると上限以上の存在(毎鎖用)で。関数 2のCPOの間に、すべてのための場合は、単調である以下が成り立ちます。⊥⊥\bot⊥⊥\botMMM⨆⨆\bigsqcupd0≤d1≤d2≤...d0≤d1≤d2≤...d_0 \leq d_1 \leq d_2 \leq ...MMMfffMMMNNNa,b∈Ma,b∈Ma, b \in M a≤b⟹f(a)≤f(b)a≤b⟹f(a)≤f(b)a \leq b \implies f(a) \leq f(b) 関数 2のCPOの間で、それが単調であり、すべてのチェーンのためならば、連続している、我々が持っていますfffMMMNNNd0≤d1≤d2≤…d0≤d1≤d2≤…d_0 \leq d_1 \leq d_2 \leq \dots f(⨆i∈Ndi)=⨆i∈Nf(di).f(⨆i∈Ndi)=⨆i∈Nf(di).f(\bigsqcup_{i \in \mathbb{N}} d_i) = \bigsqcup_{i \in \mathbb{N}} f(d_i). これらの定義の意味について読者に良い直感を与えたいと思います。ただし、書き留めることができるものはありません。彼の本»言語«(1993)プログラミングの正式な意味でのグリン・ウィンスケルに続き、として読まれなければなら近いを意味し、(ページ72)できるだけ多くの情報として、少なくとも持っています。これにより、出力に関する詳細情報(122ページ)に入力に関する詳細情報を反映する単調関数になります。これは私には幾分理解できます。ただし、継続性の説明は私には明確ではありません。a≤ba≤ba \leq baaabbbbbbaaa 後で説明するように、計算可能な関数は、計算可能な関数の出力における情報の単位の出現は、入力における有限数の情報の単位の存在にのみ依存するべきであるという考えに従って、連続でなければなりません。 (73ページ) これは、セクション8.2(121〜123ページ)のストリームの例、またはこの回答を読んだ後でも、まだわかりません。 だから私の最後の質問は、計算可能な関数が連続的であることを読者にどのように納得させるのですか?なぜありません何で計算機能ではない連続は? 計算能力や固定小数点理論の厳密な導入を必要としない答え/例を提供していただければ幸いです。私はそれらに集中したくないからです。また、ラムダ計算とその意味論的な意味論を事前に知る必要がない場合は、それらの前に単調性と連続性を導入する必要があるので(そうしなければならないので)、すばらしいでしょう。 編集:計算可能というのは、チューリング計算可能という意味です。Winskelsの計算可能ページ337ページの定義を誤解している場合は、訂正してください。これは、チューリング計算可能として明示的に定義されているわけではなく、同等の方法で(少なくとも私の目では)です。 また、私の問題を説明しようとしている別の情報源を指摘したいと思います。しかし、それでもWinskelからのストリームの例と基本的に同じであるため、その例はわかりません。 編集2:それはまた、すべての計算可能な関数が単調であること、つまり非単調な計算可能な関数が存在しないことを示すために私が問題を理解するのを助けるのに良いスタートです。