License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ITP.2019.17
URN: urn:nbn:de:0030-drops-110724
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2019/11072/
Go to the corresponding LIPIcs Volume Portal


Forster, Yannick ; Kunze, Fabian

A Certifying Extraction with Time Bounds from Coq to Call-By-Value Lambda Calculus

pdf-format:
LIPIcs-ITP-2019-17.pdf (0.6 MB)


Abstract

We provide a plugin extracting Coq functions of simple polymorphic types to the (untyped) call-by-value lambda calculus L. The plugin is implemented in the MetaCoq framework and entirely written in Coq. We provide Ltac tactics to automatically verify the extracted terms w.r.t a logical relation connecting Coq functions with correct extractions and time bounds, essentially performing a certifying translation and running time validation. We provide three case studies: A universal L-term obtained as extraction from the Coq definition of a step-indexed self-interpreter for L, a many-reduction from solvability of Diophantine equations to the halting problem of L, and a polynomial-time simulation of Turing machines in L.

BibTeX - Entry

@InProceedings{forster_et_al:LIPIcs:2019:11072,
  author =	{Yannick Forster and Fabian Kunze},
  title =	{{A Certifying Extraction with Time Bounds from Coq to Call-By-Value Lambda Calculus}},
  booktitle =	{10th International Conference on Interactive Theorem Proving (ITP 2019)},
  pages =	{17:1--17:19},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-122-1},
  ISSN =	{1868-8969},
  year =	{2019},
  volume =	{141},
  editor =	{John Harrison and John O'Leary and Andrew Tolmach},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2019/11072},
  URN =		{urn:nbn:de:0030-drops-110724},
  doi =		{10.4230/LIPIcs.ITP.2019.17},
  annote =	{Keywords: call-by-value, lambda calculus, Coq, constructive type theory, extraction, computability}
}

Keywords: call-by-value, lambda calculus, Coq, constructive type theory, extraction, computability
Collection: 10th International Conference on Interactive Theorem Proving (ITP 2019)
Issue Date: 2019
Date of publication: 05.09.2019
Supplementary Material: The Coq development is accessible at https://github.com/uds-psl/certifying-extraction-with-time-bounds.


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI