• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2011 年度 実績報告書

進んだ型システムを持ったプログラミング言語における型検証器の機械的な証明

研究課題

研究課題/領域番号 22700028
研究機関名古屋大学

研究代表者

GARRIGUE Jacques  名古屋大学, 多元数理科学研究科, 准教授 (80273530)

キーワードプログラミング言語論 / プログラムパラダイム / 定理証明支援系
研究概要

この一年では、データ型および可変なデータ型の実装方法を検討し、実装を始めた。そこで特に問題になったのは、今まで作って来た証明の全ての補題を拡張する必要があり、場合によって補題の命題自体も変える必要があった。このため、もっとモジュラリティの高い証明の構築方法を検討し始めた。来年度はこれを用いて拡張を完成させたい。
また、今回のインタープリターに含まれないものの、再帰モジュールにおける参照関係の判定可能性に関する研究をタリン大学の中田景子さんと一緒に行っており、そのアルゴリズムの正しさをCoqで証明した。その際、扱っている対象が高階関数を含めないことを利用して、束縛変数を相対的ではなく絶対的に扱うことができた。それによって、様々な証明がやりやすくなったので、こういう方法が高階関数を含む体系にも応用できないか、検討し始めた。
少し趣きが違うが、この研究の対象でもあるOCamlの開発にも遂行しており、昨年Jacques Le Normandと一緒に手がけた一般化代数データ型(GADT)の実装を完成させた。そこで今回の研究でも対象になっている主要性が問題になり、フランスのINRIAのDidier Remyと一緒に検討した結果、曖昧性の問題を解決する方法が見つかった。曖昧性のなさは主要性より弱い性質だが、GADTに関して本当の意味での主要性は完全な型注釈がなければ得られないので、曖昧性の解決がより重要な性質になる。将来的に当検証された型検証器についても、主要性と曖昧性のなさを区別する必要が出てくると思われる。

現在までの達成度 (区分)
現在までの達成度 (区分)

3: やや遅れている

理由

もとの方針では、機能を次々とコア言語に追加する予定であったが、これでは相乗効果で証明が複雑になり、新たに機能を追加する際の壁が段々高くなる。そのために、そういうことの起きない証明の構造を考えなければならない。

今後の研究の推進方策

研究実績の概要や現在までの達成度に書いたように、今までの方法で次々と新しい機能を追加して行くのはかなりの労力を必要とする。モジュラリティの高いやり方を考えながら、各機能を別々で証明して行く形で進めるつもりである。最終的には全ての部分をまとめて一つの型検証器を作らなければならないが、それぞれの部分に対して新しい試みができ、より良い方法が見つかる可能性がある。

  • 研究成果

    (3件)

すべて 2011 その他

すべて 雑誌論文 (1件) (うち査読あり 1件) 学会発表 (1件) 備考 (1件)

  • [雑誌論文] A Syntactic Type System for Recursive Modules2011

    • 著者名/発表者名
      H.Im, K.Nakata, J.Garrigue, S.Park
    • 雑誌名

      ACM SIGPLAN Notices-OOPSLA'11

      巻: (46)10 ページ: 993-1012

    • DOI

      10.1145/2076021.2048141

    • 査読あり
  • [学会発表] Adding GADTs to OCaml : a direct approach2011

    • 著者名/発表者名
      J.Garrigue, J.Le Normand
    • 学会等名
      ACM-SIGPLAN Workshop on ML
    • 発表場所
      学術総合センター(東京都)
    • 年月日
      2011-09-18
  • [備考]

    • URL

      http://www.math.nagoya-u.ac.jp/~garrigue/papers/index.html

URL: 

公開日: 2013-06-26  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi