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

2013 Fiscal Year Final Research Report

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

Research Project

  • PDF
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
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.

  • Research Products

    (14 results)

All 2013 2012 2011 2010 Other

All Journal Article (2 results) Presentation (11 results) Remarks (1 results)

  • [Journal Article] Path resolution for recursive nested modules2012

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

      Higher-Order and Symbolic Computation

      Volume: 24 Pages: 207-237

    • DOI

      10.1007/s10990-012-9083-6

  • [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)

  • [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)
    • Year and Date
      20131200
  • [Presentation] On variance, injectivity, and abstraction2013

    • Author(s)
      Jacques Garrigue
    • Organizer
      OCaml Workshop
    • Place of Presentation
      Boston (査読無)
    • Year and Date
      20130000
  • [Presentation] Runtime types in Ocaml2013

    • Author(s)
      Jacques Garrigue and Gregoire Henry
    • Organizer
      OCaml Workshop
    • Place of Presentation
      Boston (査読無)
    • Year and Date
      20130000
  • [Presentation] Tracing ambiguity in GADT type inference2012

    • Author(s)
      Jacques Garrigue and Didier Remy
    • Organizer
      ACM SIGPLAN Workshop on ML
    • Place of Presentation
      Copenhagen (査読無)
    • Year and Date
      20120000
  • [Presentation] More Logic More Types2012

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

    • Author(s)
      Jacques Garrigue and Thomas Leventis
    • Organizer
      第8回定理証明および定理証明系に関する研究集会
    • Place of Presentation
      千葉大学 (査読無)
    • Year and Date
      20120000
  • [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)
    • Year and Date
      20111000
  • [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 (査読無)
    • Year and Date
      20110000
  • [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)
    • Year and Date
      20101100
  • [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 (査読無)
    • Year and Date
      20100000
  • [Presentation] an attempt at proving environmental bisimulations in Coq2010

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

    • URL

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

URL: 

Published: 2015-06-25  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi