Lambda Calculus-情報の定理
2049 ワード
https://jurogrammer.tistory.com/133?category=959000を学習し、作成を参照します.
形式システムで、計算の数学論理を表す. 機能の抽象形式. 変数を接続/置換することによって、関数に適用します. lambda演算における有効マーキング法
Value:変数.パラメータまたは数学、論理値.(数学:1,2,3/論理学:真,偽) 抽象:関数を定義します. (λx.M)記号:関数(λ)を選択し、xを挿入するとM(または置換、変換)を返します.
(ex)f(x)=x^2+2を抽象記号として?->xはfx(x)のxに相当する.Mはx^2+2に相当する. Application 関数にLambdaを挿入します.
(ex)f(x)=x^2+2に2->(λx.x^2+2) (2) lambda演算に変数宣言X->が存在するλx.x+y:input入力x,xに未知のy, を加える
は変数名のみを変更します.同じ意味 f(x)=x^2+2で表し、f(t)=t^2+2で表しますが、関数の動作方式に差はありません. λx.x^2+2のxとλx.x+2のxは異なるxであり,操作時に混同する可能性がある.したがって,name競合を回避するために別の変数(α-conversion)
簡単に言えば、f(x)=x^2+2関数に2を代入する式f(2)=2^2+2β-還元と呼ぶ. ((λx.M)E)このように書くと(M[x:=E])となります.すなわち,MにEを加えたのは である. (λx.x^2+2という2つのlambda項λx.x^2+2[x:=2]または6はlambda項に減少した.(β-reduction) その他の注意事項 λx.x^2+2->xはx^2+2バインドに関するものといえる.これに対してfree変数も存在する. Free変数の定義
変数xのみを見るとx自体がfree変数 λx.tのfree変数セットは、tのfree変数セットである.ただしxは を除く tsの自由変数セットは、tの自由変数セットとsの自由変数セットの合計である. ex 1) λx.x
1. λx.xでは、右側のxは1を定義するfree変数です.
2.lambda用語λx.xを確認します.2番が適用されている場合、tに対応するxのfree変数はxであり、左側ramdaの隣の変数xは除外される.したがって,{x}-{x}にはfree変数はありません!そう言ってもいいです.
ex 2) λx.yx
->yはfree変数
を置換して、同じ意味の取得を回避します(α-変換関連) を使用してぼかしを除去
lambda演算では、関数は1級値とみなされる.したがって、関数は入力でも出力でもよい.
Lambda Calculus
Notation
Lambda terms
(ex)f(x)=x^2+2を抽象記号として?->xはfx(x)のxに相当する.Mはx^2+2に相当する.
(ex)f(x)=x^2+2に2->(λx.x^2+2) (2)
# x=2 대입
function (x):
return x^2+2
Operation
1. α-conversion
2. β-reduction
簡単に言えば、f(x)=x^2+2関数に2を代入する式f(2)=2^2+2β-還元と呼ぶ.
Free variables
変数xのみを見るとx自体がfree変数
1. λx.xでは、右側のxは1を定義するfree変数です.
2.lambda用語λx.xを確認します.2番が適用されている場合、tに対応するxのfree変数はxであり、左側ramdaの隣の変数xは除外される.したがって,{x}-{x}にはfree変数はありません!そう言ってもいいです.
ex 2) λx.yx
->yはfree変数
Capture-avoiding substitutions
brancket(カッコ)の使用
functions that operate on functions
Reference
この問題について(Lambda Calculus-情報の定理), 我々は、より多くの情報をここで見つけました https://velog.io/@csy9604/Lambda-Calculus-Informal-정리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol