English

A certifying extraction with time bounds from Coq to call-by-value $\lambda$-calculus

Logic in Computer Science 2022-12-09 v2 Programming Languages

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.

Keywords

Cite

@article{arxiv.1904.11818,
  title  = {A certifying extraction with time bounds from Coq to call-by-value $\lambda$-calculus},
  author = {Yannick Forster and Fabian Kunze},
  journal= {arXiv preprint arXiv:1904.11818},
  year   = {2022}
}
R2 v1 2026-06-23T08:50:26.065Z