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

Mechanically certified proof of a type checker for an advanced type system

Research Project

Project/Area Number 22700028
Research Category

Grant-in-Aid for Young Scientists (B)

Allocation TypeSingle-year Grants
Research Field Software
Research InstitutionNagoya University

Principal Investigator

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

Project Period (FY) 2010-04-01 – 2014-03-31
Project Status Completed (Fiscal Year 2013)
Budget Amount *help
¥3,250,000 (Direct Cost: ¥2,500,000、Indirect Cost: ¥750,000)
Fiscal Year 2013: ¥780,000 (Direct Cost: ¥600,000、Indirect Cost: ¥180,000)
Fiscal Year 2012: ¥780,000 (Direct Cost: ¥600,000、Indirect Cost: ¥180,000)
Fiscal Year 2011: ¥780,000 (Direct Cost: ¥600,000、Indirect Cost: ¥180,000)
Fiscal Year 2010: ¥910,000 (Direct Cost: ¥700,000、Indirect Cost: ¥210,000)
Keywords型推論 / アルゴリズムの証明 / モジュールの証明 / 国際情報交換 / モジュール / 交際情報交換 / プログラミング言語論 / プログラムパラダイム / 定理証明支援系
Research Abstract

The only way to be completely certain of the correctness of a program is to prove it formally using a mechanical theorem prover. In this research, I aimed at formally proving the correctness of a type checker for a part of the OCaml functional programming language, to include it in a fully certified interpreter.
Concretely, based on the Engineering Metatheory approach, I formalized a small language including structural polymorphism, which allows to type OCaml objects and polymorphic variants, and proved its type soundness, the soundness and completeness of its type inference, and the correctness of its evaluation through a stack-based interpreter. Moreover, we obtained some concrete proofs concerning the so-called "relaxed value restriction" required for the typing of side-effects, and the coherence check for structural recursive type definitions.

Report

(5 results)
  • 2013 Annual Research Report   Final Research Report ( PDF )
  • 2012 Annual Research Report
  • 2011 Annual Research Report
  • 2010 Annual Research Report
  • Research Products

    (28 results)

All 2014 2013 2012 2011 2010 Other

All Journal Article (6 results) (of which Peer Reviewed: 4 results) Presentation (17 results) Remarks (5 results)

  • [Journal Article] A Certified Implementation of ML with Structural Polymorphism and Recursive Types2014

    • Author(s)
      Jacques Garrigue
    • Journal Title

      Mathematical Structures in Computer Science

      Volume: to appear

    • Related Report
      2013 Annual Research Report
    • Peer Reviewed
  • [Journal Article] Ambivalent types for principal type inference with GADTs2013

    • Author(s)
      Jacques Garrigue, Didier Remy
    • Journal Title

      APLAS 2013, Springer Verlag LNCS

      Volume: 2301 Pages: 257-272

    • DOI

      10.1007/978-3-319-03542-0_19

    • ISBN
      9783319035413, 9783319035420
    • Related Report
      2013 Annual Research Report
    • Peer Reviewed
  • [Journal Article] Path resolution for recursive nested modules2012

    • Author(s)
      Jacques Garrigue, Keiko Nakata
    • Journal Title

      Higher-Order and Symbolic Computation

      Volume: 24 Issue: 3 Pages: 207-237

    • DOI

      10.1007/s10990-012-9083-6

    • Related Report
      2013 Final Research Report 2012 Annual Research Report
  • [Journal Article] A Syntactic Type System for Recursive Modules2011

    • Author(s)
      H.Im, K.Nakata, J.Garrigue, S.Park
    • Journal Title

      ACM SIGPLAN Notices-OOPSLA'11

      Volume: (46)10 Issue: 10 Pages: 993-1012

    • DOI

      10.1145/2076021.2048141

    • Related Report
      2011 Annual Research Report
    • Peer Reviewed
  • [Journal Article] A Certified Implementation of ML with Structural Polymorphism2010

    • Author(s)
      Jacques Garrigue
    • Journal Title

      APLAS 2010, Shanghai, Springer-Verlag LNCS

      Volume: 6461 Pages: 360-375

    • Related Report
      2010 Annual Research Report
    • Peer Reviewed
  • [Journal Article] A certified implementation of ML with structural polymorphism and recursive types

    • Author(s)
      Jacques Garrigue
    • Journal Title

      Mathematical Structures in Computer Science

      Volume: (to appear)

    • Related Report
      2013 Final Research Report
  • [Presentation] Ambivalent types for principal type inference with GADTs2013

    • Author(s)
      Jacques Garrigue and Didier Remy
    • Organizer
      ¥em 11th Asian Symposium on Programming Languages and Systems
    • Place of Presentation
      Melbourne (Springer-Verlag LNCS 8301, 257-272 DOI:10.1007/978-3-319-03542-0_19)
    • Related Report
      2013 Final Research Report
  • [Presentation] On variance, injectivity, and abstraction2013

    • Author(s)
      Jacques Garrigue
    • Organizer
      OCaml Workshop
    • Place of Presentation
      Boston (査読無)
    • Related Report
      2013 Final Research Report
  • [Presentation] Runtime types in Ocaml2013

    • Author(s)
      Jacques Garrigue and Gregoire Henry
    • Organizer
      OCaml Workshop
    • Place of Presentation
      Boston (査読無)
    • Related Report
      2013 Final Research Report
  • [Presentation] On variance, injectivity, and abstraction2013

    • Author(s)
      Jacques Garrigue
    • Organizer
      OCaml Workshop
    • Place of Presentation
      Boston, USA
    • Related Report
      2013 Annual Research Report
  • [Presentation] Runtime types in OCaml2013

    • Author(s)
      Jacques Garrigue and Gregoire Henry
    • Organizer
      OCaml Workshop
    • Place of Presentation
      Boston, USA
    • Related Report
      2013 Annual Research Report
  • [Presentation] Path resolution for recursive nested modules2013

    • Author(s)
      Jacques Garrigue
    • Organizer
      プログラミングおよびプログラミング言語研究会
    • Place of Presentation
      会津若松
    • Related Report
      2012 Annual Research Report
  • [Presentation] Tracing ambiguity in GADT type inference2012

    • Author(s)
      Jacques Garrigue and Didier Remy
    • Organizer
      ACM SIGPLAN Workshop on ML
    • Place of Presentation
      Copenhagen (査読無)
    • Related Report
      2013 Final Research Report
  • [Presentation] More Logic More Types2012

    • Author(s)
      Jacques Garrigue
    • Organizer
      ML Nagoya
    • Place of Presentation
      名古屋ルーセントタワー (査読無)
    • Related Report
      2013 Final Research Report
  • [Presentation] Avoiding binders : rooted recursive modules and semantic polymorphism2012

    • Author(s)
      Jacques Garrigue and Thomas Leventis
    • Organizer
      第8回定理証明および定理証明系に関する研究集会
    • Place of Presentation
      千葉大学 (査読無)
    • Related Report
      2013 Final Research Report
  • [Presentation] Tracing ambiguity in GADT type inference2012

    • Author(s)
      Jacques Garrigue
    • Organizer
      ACM SIGPLAN Workshop on ML
    • Place of Presentation
      Copenhagen, Denmark
    • Related Report
      2012 Annual Research Report
  • [Presentation] Adding GADTs to OCaml : a direct approach2011

    • Author(s)
      J.Garrigue, J.Le Normand
    • Organizer
      ACM-SIGPLAN Workshop on ML
    • Place of Presentation
      学術総合センター(東京都)
    • Year and Date
      2011-09-18
    • Related Report
      2011 Annual Research Report
  • [Presentation] Objective CamlへのGADTの導入2011

    • Author(s)
      J.Garrigue, J.Le Normand
    • Organizer
      日本ソフトウェア科学会PPL2011
    • Place of Presentation
      定山渓
    • Year and Date
      2011-03-10
    • Related Report
      2010 Annual Research Report
  • [Presentation] A syntactic type system for recursive modules2011

    • Author(s)
      Hyonseung Im, Keiko Nakata, Jacques Garrigue and Sungwoo Park
    • Organizer
      ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications
    • Place of Presentation
      Portland, Oregon (査読有 DOI 10.1145/2048066.2048141)
    • Related Report
      2013 Final Research Report
  • [Presentation] Adding GADTs to OCaml : a direct approach2011

    • Author(s)
      Jacques Garrigue and Jacques Le Normand
    • Organizer
      ACM SIGPLAN Workshop on ML}
    • Place of Presentation
      Tokyo (査読無)
    • Related Report
      2013 Final Research Report
  • [Presentation] A certified implementation of ML with structural polymorphism2010

    • Author(s)
      Jacques Garrigue
    • Organizer
      8th Asian Symposium on Programming Languages and Systems
    • Place of Presentation
      Shanghai (Springer-Verlag LNCS 6461, 360-375 査読有 DOI:10.1007/978-3-642-17164-2_25)
    • Related Report
      2013 Final Research Report
  • [Presentation] First-class modules and composable signatures in Objective Caml 3.12.2010

    • Author(s)
      Jacques Garrigue and Alain Frisch
    • Organizer
      ACM SIGPLAN Workshop on ML
    • Place of Presentation
      Baltimore (査読無)
    • Related Report
      2013 Final Research Report
  • [Presentation] an attempt at proving environmental bisimulations in Coq2010

    • Author(s)
      Jacques Garrigue and Pierre-Marie Pedrot, Simpoule
    • Organizer
      第6回定理証明および定理証明系に関する研究集会
    • Place of Presentation
      名古屋大学 (査読無)
    • Related Report
      2013 Final Research Report
  • [Remarks]

    • URL

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

    • Related Report
      2013 Final Research Report
  • [Remarks] A Certified Implementation of ML

    • URL

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

    • Related Report
      2013 Annual Research Report
  • [Remarks] Publications of Jacques Garrigue

    • URL

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

    • Related Report
      2012 Annual Research Report
  • [Remarks]

    • URL

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

    • Related Report
      2011 Annual Research Report
  • [Remarks]

    • URL

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

    • Related Report
      2010 Annual Research Report

URL: 

Published: 2010-08-23   Modified: 2019-07-29  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi