Skip to main content
QUICK REVIEW

[論文レビュー] Expressibility in the Lambda Calculus with Letrec

Clemens Grabmayer, Jan Rochel|arXiv (Cornell University)|Aug 11, 2012
Logic, programming, and type systems参考文献 9被引用数 4
ひとこと要約

この論文は、letrecを用いた無限ラムダ項が表現可能であることを特徴付けるために、2つの形式的基準、すなわち強い正則性と有限な束縛・捕捉鎖を導入する。rewriteシステムを用いて部分項の生成とスコープ構造を分析することで、ラムダ項がletrec付きラムダ計算で表現可能であるための必要十分条件を証明する。

ABSTRACT

We investigate the relationship between finite terms in lambda-letrec, the lambda calculus with letrec, and the infinite lambda terms they express. As there are easy examples of lambda-terms that, intuitively, are not unfoldings of terms in lambda-letrec, we consider the question: How can those infinite lambda terms be characterised that are lamda-letrec-expressible in the sense that they can be obtained as infinite unfoldings of terms in lambda-letrec? For 'observing' infinite lambda-terms through repeated 'experiments' carried out at the head of the term we introduce two rewrite systems (with rewrite relations) -reg-> and -reg+-> that decompose the term, and produce 'generated subterms' in two notions. Thereby the sort of the step can be observed as well as its target, a generated subterm. In both systems there are four sorts of decomposition steps: -lambda-> steps (decomposing a lambda-abstraction), -@0> and -@1> steps (decomposing an application into its function and argument), and respectively, -del-> steps (delimiting the scope of an abstraction, for -reg->), and -S-> (delimiting of scopes, for -reg+->). These steps take place on infinite lambda-terms furnished with a leading prefix of abstractions for gathering previously encountered lambda-abstractions and keeping the generated subterms closed. We call an infinite lambda-term 'regular'/'strongly regular' if its set of -reg-> -reachable / -reg-> -reachable generated subterms is finite. Furthermore, we analyse the binding structure of lambda-terms with the concept of 'binding-capturing chain'. Using these concepts, we answer the question above by providing two characterisations of lambda-letrec-expressibility. For all infinite lambda-terms M, the following statements are equivalent: (i) M is lambda-letrec-expressible; (ii) M is strongly regular; (iii) M is regular, and it only has finite binding-capturing chains.

研究の動機と目的

  • 無限ラムダ項がletrec付きラムダ計算において有限項の展開として表現可能である条件を形式的に特徴付けること。
  • 再帰的let束縛が存在する中で、特定の正則な無限項が表現不能となる構造的制約を同定すること。
  • rewriteシステムとスコープを明示する戦略に基づく形式的枠組みを構築し、無限項における部分項生成プロセスを分析すること。
  • 無限項の表現可能性とその構造的性質(特にスコープのネストと部分項生成)との対応関係を確立すること。

提案手法

  • 無限ラムダ項を生成される部分項に分解する2つのrewriteシステム →reg と →reg⁺ を導入し、分解手順(λ, @₀, @₁, del, S)を観察する。
  • →reg による到達可能な生成部分項の集合の有限性に基づいて「正則」と「強い正則」な項を定義する。
  • 無限項における抽象のネスト深さと接続性を分析するための「束縛・捕捉鎖」の概念を導入する。
  • 履歴を考慮した、能動的なスコープ明示戦略を用いて、強い正則項の共有構造を表す有限なλ遷移グラフを構築する。
  • 強い正則性のための証明系を構築し、それが健全かつ完全であることを示す。さらに、証明から対応するλletrec項を抽出可能な注釈付きバージョンを提供する。
  • 形式的枠組みを項グラフ表現に適用し、関数的双対性が展開同値性を効率的に決定できることを示す。

実験結果

リサーチクエスチョン

  • RQ1どの無限ラムダ項が、letrec付きラムダ計算における有限項の展開として表現可能であるか?
  • RQ2無限ラムダ項のどの構造的性質が、λletrecにおける表現可能性を決定づけるか?
  • RQ3無限項における部分項生成プロセスを形式的にモデル化することで、表現可能と非表現可能な項を区別できるか?
  • RQ4スコープ構造、部分項生成、およびletrecによる有限表現可能性の関係は何か?
  • RQ5正則性の証明からλletrec項を効果的に抽出できるような、強い正則性のための証明系を構築できるか?

主な発見

  • 無限ラムダ項がλletrecで表現可能であるための必要十分条件は、それが強い正則であることと、有限な束縛・捕捉鎖しか持たないことである。
  • λletrecで表現可能な項のクラスは、正則な無限ラムダ項の真部分集合である。これは、すべての正則項がletrecで表現可能ではないことを示している。
  • rewriteシステム →reg⁺ と関連する能動的スコープ明示戦略により、強い正則項に対して有限なλ遷移グラフが得られる。
  • 健全かつ完全な強い正則性の証明系が開発され、注釈付きバージョンにより証明からλletrec項を抽出可能である。
  • 形式的枠組みにより、DFA同値性アルゴリズムを用いた効率的な展開同値性の決定手続きが可能となり、一般的な共通部分式削除を一般化する。
  • 結果から、関数型言語のコンパイラにおける実用的応用、特に最大共有と効率的な項同値性チェックの可能性が示唆される。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。