• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to previous page

Validating the type soundness of a programming language through translation into a logical system

Research Project

Project/Area Number 22K11902
Research Category

Grant-in-Aid for Scientific Research (C)

Allocation TypeMulti-year Fund
Section一般
Review Section Basic Section 60010:Theory of informatics-related
Research InstitutionNagoya University

Principal Investigator

J Garrigue  名古屋大学, 多元数理科学研究科, 教授 (80273530)

Co-Investigator(Kenkyū-buntansha) 才川 隆文  名古屋大学, 多元数理科学研究科, 研究員 (00897100)
Affeldt Reynald  国立研究開発法人産業技術総合研究所, 情報・人間工学領域, 上級主任研究員 (40415641)
Project Period (FY) 2022-04-01 – 2025-03-31
Project Status Granted (Fiscal Year 2023)
Budget Amount *help
¥4,160,000 (Direct Cost: ¥3,200,000、Indirect Cost: ¥960,000)
Fiscal Year 2024: ¥1,300,000 (Direct Cost: ¥1,000,000、Indirect Cost: ¥300,000)
Fiscal Year 2023: ¥1,430,000 (Direct Cost: ¥1,100,000、Indirect Cost: ¥330,000)
Fiscal Year 2022: ¥1,430,000 (Direct Cost: ¥1,100,000、Indirect Cost: ¥330,000)
Keywords型推論 / 型健全性 / 操作的意味論 / プログラムの証明 / 等式理論 / 型システム / コンパイラー / 依存型 / 形式的証明
Outline of Research at the Start

正しく型付けされたプログラムが実行時にエラーを起さないという型健全性はプログラミング言語の重要な性質であり,その恩恵を受けるために型検査も健全でなければならない.しかし,それを形式的に証明することが煩雑な上に,次々に追加される機能への対応が困難である.
この研究では,型健全性や型検査の健全性をプログラミング言語に対する直接的な証明ではなく,既に論理的健全性が確立されている論理体系への翻訳によって得ようとする.
機能を追加するときに翻訳を拡張すれば十分で,翻訳先の定理証明支援系における自動的な型検査が証明になる.OCamlからCoqへの埋め込みを具体例としてこの方法を実現する.

Outline of Annual Research Achievements

本年度は主にCoqに翻訳されたプログラムの証明方法について研究を行った.証明にはモナド等式理論に基いたMonaeというCoqのプログラム証明ライブラリを使っている.具体的にはプログラミング言語の様々な機能を圏論的なモナドとして表現し,その等式理論によってプログラムを証明する.昨年度は既にCoqgen (我々が開発したOCamlからCoqへのコンパイラとライブラリ) で実装された参照型を扱うモナドを直接にMonaeに埋め込むことで,MonaeによるCoqgenで翻訳されたプログラムの証明を実験的に行った.しかし,翻訳の完全性のためにCoqgenの実装はCoqの論理と矛盾する定義を可能にしており,昨年の翻訳方法ではMonaeの無矛盾性を保証することができなかった.本年度は問題を検証した上で実装を整理し,Coqの制限を解除しない,無矛盾な実装を用意した.また,OCamlから翻訳されたプログラム例を増やし,プログラムの証明に必要な公理(等式)を再構成した.参照型(ポインタ)を含むプログラムについて,通常は分離論理でしか証明できないと認識されているようなプログラムも扱えることを確認した.その結果をCoq Workshop 2023 (ビャウィストク開催) , TPP 2023 (東京工業大学開催) および APLAS NIER 2023 (台北開催) で発表し,論文「A Practical Formalization of Monadic Equational Reasoning in Dependent-type Theory」の一部としてまとめた.

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

本方法がプログラムの証明にも応用できることを確認した.また,記述できるプログラムを制限することで,Coqの無矛盾性に触らない実装法も確立した.

Strategy for Future Research Activity

今後は翻訳できるプログラムを増やし,OCamlの代替コンパイラとしての地位を高める必要がある.
また,完全な実装法について,Coqの健全性と評価戦略の関連を調べていきたい.

Report

(2 results)
  • 2023 Research-status Report
  • 2022 Research-status Report
  • Research Products

    (9 results)

All 2023 2022 Other

All Journal Article (1 results) (of which Open Access: 1 results) Presentation (7 results) (of which Int'l Joint Research: 4 results) Remarks (1 results)

  • [Journal Article] A Practical Formalization of Monadic Equational Reasoning in Dependent-type Theory2023

    • Author(s)
      Reynald Affeldt, Jacques Garrigue, Takafumi Saikawa
    • Journal Title

      arXiv

      Volume: 2312 Pages: 1-38

    • Related Report
      2023 Research-status Report
    • Open Access
  • [Presentation] Environment-Friendly Monadic Equational Reasoning for OCaml2023

    • Author(s)
      Takafumi Saikawa
    • Organizer
      Coq Workshop 2023
    • Related Report
      2023 Research-status Report
    • Int'l Joint Research
  • [Presentation] Environment-Friendly Monadic Equational Reasoning for OCaml2023

    • Author(s)
      Jacques Garrigue
    • Organizer
      Theorem Proving and Provers Meeting
    • Related Report
      2023 Research-status Report
  • [Presentation] Environment-Friendly Monadic Equational Reasoning for OCaml2023

    • Author(s)
      Jacques Garrigue
    • Organizer
      APLAS NIER Workshop 2023
    • Related Report
      2023 Research-status Report
    • Int'l Joint Research
  • [Presentation] OCaml プログラムの Coq への変換とプログラムの正しさの証明2023

    • Author(s)
      毎田詠人, 中村薫, 才川隆文, Jacques Garrigue
    • Organizer
      プログラミングおよびプログラミング言語研究会
    • Related Report
      2022 Research-status Report
  • [Presentation] Validating OCaml soundness by translation into Coq2022

    • Author(s)
      Takafumi Saikawa, Jacques Garrigue
    • Organizer
      TYPES
    • Related Report
      2022 Research-status Report
    • Int'l Joint Research
  • [Presentation] Interpreting OCaml GADTs into Coq2022

    • Author(s)
      Jacques Garrigue, Takafumi Saikawa
    • Organizer
      ML Workshop
    • Related Report
      2022 Research-status Report
    • Int'l Joint Research
  • [Presentation] OCaml から Coq へのコンパイラ及び翻訳されたプログラムの証明2022

    • Author(s)
      中村薫, 才川隆文, Jacques Garrigue, 毎田詠人
    • Organizer
      日本ソフトウェア科学会全国大会
    • Related Report
      2022 Research-status Report
  • [Remarks] Coqgen : A Coq generation backend for OCaml

    • URL

      https://www.math.nagoya-u.ac.jp/~garrigue/cocti/coqgen/

    • Related Report
      2023 Research-status Report 2022 Research-status Report

URL: 

Published: 2022-04-19   Modified: 2024-12-25  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi