タグ付けされた質問 「lambda-calculus」

効果的な関数、プログラムとその計算、および証明を表すために、計算可能性、プログラミング言語、および証明理論で使用される教会の正式なシステム。

2
ユニバース階層による遺伝的代替
Simple Lambda CalculusおよびLogical Frameworkの明確な用語とタイプを使用した遺伝的代替について読みました。 私は疑問に思っています、宇宙階層を持つ従属的に型付けされたシステムに遺伝的代替の例はありますか?すなわち、など。Tr u e :SEのトン0:SEのトン1:SEのトン2True:Set0:Set1:Set2 True : Set_0 : Set_1:Set_2 私は特に、そのようなシステムで誘導対策を確立する方法を疑問に思っています。単純に型付けされたバージョンでは、置換される変数の型が構造的に減少しています。これは依存型では機能しません。LFでは、私がリンクした論文は単純に型付けされた用語の消去を使用して、型の形状の帰納を行います。 ただし、次のようなものがある場合、ユニバース階層では単純型への消去は機能しません。 f:(x :SEのトン1)→ x → TR U Ef:(x:Set1)→x→True f : (x : Set_1)\to x \to True、 f ((y:Tr u e )→ TR U E → Tr u e ): Tr u e →Tr u e →TR …

5
使用からバインダーまでの関数でバインドされた変数を表現する
バインドされた変数を構文で表す問題、特にキャプチャ回避置換の問題はよく知られており、いくつかの解決策があります。 しかし、別のかなり明白なアプローチがあるようです。それにもかかわらず、私はどこでも使用されていません。つまり、基本構文では、「」と書かれた「変数」という用語が1つだけあり、その後、各変数をスコープ内のバインダーにマッピングする関数を個別に指定します。だから、λのような-termは、∙∙\bulletλλ\lambda λx.(λy.xy)λx.(λy.xy) \lambda x. (\lambda y. x y) と書かれます。(λ 。∙ ∙ )、および機能は、最初のマップになる∙を最初にλ及び第∙第二のλ。したがって、de Bruijnインデックスのようなもので、対応するバインダーを見つけるために用語を終了するときに「λsをカウントする」だけでなく、関数を評価するだけです。(これを実装のデータ構造として表す場合、各変数用語オブジェクトに、対応するバインダー用語オブジェクトへの単純なポインター/参照を装備することを考えます。)λ.(λ.∙∙)λ.(λ.∙∙)\lambda. (\lambda. \bullet\bullet)∙∙\bulletλλ\lambda∙∙\bulletλλ\lambdaλλ\lambda 明らかに、これは人間が読むためのページに構文を書くのには賢明ではありませんが、どちらもde Bruijnインデックスではありません。数学的には完全に理にかなっているように思えます。特に、キャプチャ回避の置換は非常に簡単になります。置換する用語をドロップするだけで、バインディング関数を結合できます。それは「自由変数」の概念を持っていないのは事実ですが、それから(再び)de Bruijnインデックスも実際にはありません。どちらの場合でも、自由変数を含む用語は、「コンテキスト」バインダーのリストが前にある用語で表されます。 私は何かを見逃していますか、この表現が機能しない理由はありますか?他の問題よりもさらに悪化させ、検討する価値がない問題はありますか?(私が今考えることができる唯一の問題は、用語のセットが(それらの結合機能と一緒に)帰納的に定義されていないということですが、それは乗り越えられないようではありません。)または実際に使用されている場所はありますか?

3
構造の計算:式を最小の形式に圧縮する
Calculus of Constructionsが強く正規化されていることを知っています。つまり、すべての式は、ベータ、η削減された正規表現を持つことができません。実際、これは元の式と同じ値を計算する最も効率的な式です。 ただし、場合によっては、正規化によって小さな式が(サイズに関して)巨大な式に縮小される場合があります。 最小形式の式はありますか?最小サイズで同じ値を計算するフォーム。 言い換えれば、時間効率の良い正規形の代わりに、スペース効率の良いものです。

1
排除された中間の法則は、マーティン・ロフの内包型理論における公理Kを暗示していますか?
だから、除外された中間の法則(LEM)がMartin-LöfのIntensional Type Theoryのいわゆる公理Kを暗示しているかどうか疑問に思っていました。公理Kは、 実際、私はいうより一般的なステートメントを証明しようとしました が、等値帰納によってをに減らした後、最初の問題にこだわっています。私も矛盾で進めようとしましたが、うまくいかないようです。Π A :T Y P E Π X 、Y :A ΠのP 、Q :Idを(X 、y )、Id (p 、q )qΠA :Typ個の電子Πバツ:AΠp :Id (x、x )、ID ( p 、reflバツ)ΠA:TypeΠx:AΠp:Id(x,x),Id(p,reflx)\Pi_{A : Type} \Pi_{x : A} \Pi_{p : \text{Id}(x,x)}, \text{Id}(p,\text{refl}_x)ΠA :Typ個の電子Πバツ、y:AΠp、q:Id (x、y)、Id (p、q)ΠA:TypeΠx,y:AΠp,q:Id(x,y),Id(p,q)\Pi_{A : Type} \Pi_{x, y : A} \Pi_{p,q : \text{Id}(x,y)}, …


1
ラムダ計算モデルの拡張性
私はLISPに関する本を翻訳していますが、当然 -calculusのいくつかの要素に触れています。だから、extensionalityの概念は、一部のモデルのと一緒にそこに言及されているλ -calculus、すなわち:P ωとD ∞(はい、上部に無限大で)。そして、と言われたP ωは一方で伸びているDが∞ではありません。λλ\lambdaλλ\lambdaPωPω\mathcal{P}_\omegaD∞D∞D^\inftyPωPω\mathcal{P}_\omegaD∞D∞D^\infty しかし...私はBarendregtのを見たラムダ計算、それは構文とセマンティクスだ、と(うまくいけば、正しく)が正反対を読む:伸びないが、D ∞です。PωPω\mathcal{P}_\omegaD∞D∞D_\infty その奇妙なモデルについて誰でも知っている?それはのようにちょうど同じモデルのだろうD ∞が、誤って書かれましたか?モデルの拡張性については正しいですか?D∞D∞D^\inftyD∞D∞D_\infty ありがとう。


2
ペアを持つSystem Fには、強力な正規化およびサブジェクト削減のプロパティがありますか?
多くの教科書では、System Fの主題の削減と強力な正規化の証明を見るのは簡単です。また、System Fのペアの定義もあります。ここで、(t、r)はエンコードだけでなく用語です。問題は、このシステムのリファレンスは何でしょうか?

3
ラムダ計算における複雑性理論の同等の定式化?
複雑さの理論では、時間と空間の複雑さの定義はどちらも普遍的なチューリングマシンを参照しています。停止するまでのステップ数、およびテープ上の接触したセルの数。 Church-Turingの論文を考えると、ラムダ計算の観点からも複雑さを定義できるはずです。 私の直感的な概念は、時間の複雑さはβ削減の数として表すことができ(De Brujinインデックスを使用してα変換を定義することができ、いずれにしてもηはほとんど削減ではない)、空間の複雑さは最大の削減におけるシンボル(λ、DBインデックス、「適用」シンボル)。 これは正しいです?もしそうなら、どこでリファレンスを入手できますか?そうでない場合、どのように私は間違っていますか?

1
高次プログラムのプログラム反転アルゴリズム
プログラム反転という用語に は複数の意味がありますが、おそらく、J。マッカーシーの1956年の著作「 AIのコンテキストでチューリングマシンによって定義された関数の反転」から始まりました。これまでに、プログラムの反転と他のフィールドとの間の多くの関係が発見されました。たとえば、可逆プログラミング(物理的および論理的)、部分評価、検証、双方向プログラミング、論理プログラミング、機械学習などです。 プログラム反転とは何ですか?最初の近似では、のようなもの:プログラムを考えると型の引数を取る し、型の結果を返す、プログラム生成「何とか」の逆である。概念はさまざまな方法で明確にできるため(そして現在もそうです)、ここでは意図的にあいまいにしています。たとえば、は単射である必要がありますか?SHOULD 、すべてを返すか、単にいくつかのように?P:A → BP:A→BP : A \rightarrow BあAABBBP− 1P−1P^{-1}PPPPPPP− 1(b )P−1(b)P^{-1}(b)aaaP(a )= bP(a)=bP(a) = b プログラムを逆にする一般的な方法があります。たとえば、すでにマッカーシーによって指摘されている対角化を使用したり、部分評価を使用したりしますが、効率的ではない傾向があります。また、私が精通しているプログラムの反転に関するほとんどの作業は、完全な高次のプログラミング言語(つまり -calculi)を扱っていないようです。λλ\lambda 参照リクエスト。 -calculiのプログラム反転のための明示的なアルゴリズムの最先端技術とは何ですか(高次数に制限はありません)?λλ\lambda

1
最適な評価者は実際に最適ですか?
次の用語(bruijn-indexesを使用): BADTERM = λ((0 λλλλ((((3 λλ(((0 3) 4) (1 λλ0))) λλ(((0 4) 3) (1 0))) λ1) λλ1)) λλλ(2 (2 (2 (2 (2 (2 (2 (2 0))))))))) 教会に適用すると、数Nは、単純なものを含むいくつかの既存のエバリュエーターで通常の形式にすぐに評価されます。しかし、その用語を相互作用ネットにエンコードし、Lampingの抽象アルゴリズムを使用して評価すると、に関連して指数関数的にベータ削減が行われNます。Optlamでは、具体的には次のとおりです。 N interactions(betas) (BADTERM N) 1 129(72) λλλ(1 (2 (2 (2 (2 (2 (2 (2 0)))))))) 2 437(205) λλλ(2 (1 (2 (2 (2 (2 …

1
基本的なアフィンロジックで「並べ替え」を入力できますか?
次のλ項、ここでは通常の形式: sort = (λabc.(a(λdefg.(f(d(λhij.(j(λkl.(k(λmn.(mhi))l)) (h(λkl.l)i)))(λhi.(i(λjk.(bd(jhk)))(bd(h(λjk.(j (λlm.m)k))c)))))e))(λde.e)(λde.(d(λfg.g)e))c)) 教会でエンコードされたリストのソートアルゴリズムを実装します。つまり、次の結果です。 sort (λ c n . (c 3 (c 1 (c 2 n)))) β→ (λ c n . (c 1 (c 2 (c 3 n)))) 同様に、 sort_below = λabcd.a(λef.f(λghi.g(λj.h(λkl.kj(ikl)))(hi))e(λgh.h)) (λe.d)(λe.b(λf.e(f(λghi.hg)(λgh.cfh)))) また、上記と同じリストのソートを実装します。ただし、考慮される数の制限がある追加の引数を指定する必要があります。 sort_below 4 [5,1,3,2,4] → [1,2,3] これらの用語が基本的なアフィンロジックで入力可能かどうかを判断しようとしています。公開されているEAL型チェッカーを知らないので、これは予想よりも難しい作業であることがわかります。sort基本的なアフィンロジックのタイプはありますか?

1
インタラクションコンビネーターを使用して、Lampingの抽象的なアルゴリズムをどのようにエンコードしますか?
相互作用コンビネータは、以前にλ計算のコンパイルターゲットとして提案されています。その論文は完全なλ計算を実装しています。また、 EALタイプ可能であるλ項のサブセットについて、λ 計算の相互作用ネットエンコーディングを最適化することが可能であることも知られています。その論文は、EALタイプ可能なλ項を相互作用コンビネーターよりも間違いなく複雑な相互作用ネットに変換することにより、λ計算のサブセットを実装します。これは、ラベルの無限アルファベットを使用して複製子をグループ化するためです。 両方の提案を組み合わせることができるのでしょうか。つまり、相互作用の組み合わせとして、抽象アルゴリズム(つまり、EALで型付け可能なλ項)のエンコーディングはありますか?

3
確率論的なパワードメイン操作の下でクローズされた既知のCCCはありますか?
同様に、確率論的高次関数型プログラミング言語の既知の意味論的意味論はありますか?具体的には、対称ランダムバイナリ選択演算によって拡張された、純粋な型なしの -calculusのドメインモデルがあります。λλ\lambda 動機 デカルト閉じたカテゴリは、高次の -calculiにセマンティクスを提供します。確率論的パワードメインは、確率的プログラムに意味論を提供します。確率論的パワードメイン操作の下で閉じられたCCCは、確率論的高次関数型プログラミング言語に意味論を提供します。λλ\lambda 関連作業 Tix、Keimel、およびPlotkin(2004)[1]は、lower-、upper-、およびconvex-powerdomain演算の最新の構造を示していますが、 確率論的パワードメインの構築の下で閉じられる連続ドメインのデカルト閉じたカテゴリーがあるかどうかは、未解決の問題です。 Mislove(2013)[2,3]は、1次言語の連続確率変数のセマンティクスを示していますが、 確率論的パワードメインは有向完全ポーズ(略してdcpos)およびスコット連続マップのCCCを不変のままにしますが、通常の近似の仮定を満たすdcposのドメインのデカルト閉じたカテゴリーはありません。この構成。知られている最高のものは、コヒーレントドメインのカテゴリが確率的選択モナド[4]の下で不変であるということですが、このカテゴリはデカルト閉じていません。 参考文献 Regina Tix、Klaus Keimel、およびGordon Plotkin(2004)「確率と非決定 性を組み合わせるためのセマンティックドメイン」。 マイケル・ミスラブ(2013) 「連続確率変数のドメインの構造I」 マイケル・ミスラブ(2013)「連続確率変数の領域の分析 II」 Jung、A. and R. Tix(1998) 「厄介な確率論的パワードメイン」

1
PCFでの連続性関数の係数の定義不可能性に関するリファレンス?
誰かが、PCFの連続性関数の係数の定義不可能性についての参照を私に指摘できますか?\newcommand{\N}{\mathbb{N}} \newcommand{\bool}{\mathsf{bool}} Andrej Bauerがいくつかの問題をより詳細に探求している非常に素晴らしいブログ投稿を書いていますが、この質問にいくつかのコンテキストを与えるために彼の投稿のほんの一部を要約します。ベイル空間BBBは、自然数列のセット、または同等に、自然数から自然数\ N \ to \ Nまでの関数のセットですN → NN→N\N \to \N。この質問では、計算可能なストリームにのみ注意を限定します。 さて、関数f:B → b o o lf:B→boolf : B \to \boolすべてのためならば連続しているX S ∈ Bバツs∈Bxs \in B、の値f(xs)f(xs)f(xs)の要素の唯一の有限数によって異なりxsxsxs、私たちは実際に上位を計算することができれば、それはcomputably連続です必要なxsの要素数に制限されますxsxsxs。いくつかの計算モデルでは、実際にプログラム\ mathsf {modulus}を書くことが可能 です:(B \ to \ bool)\ to B \ to \ Nm o d u l u s:(B → b o …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.