English

Generating induction principles and subterm relations for inductive types using MetaCoq

Logic in Computer Science 2020-06-29 v1

Abstract

We implement three Coq plugins regarding inductive types in MetaCoq. The first plugin is a simple syntax transformation generating alternative constructors for inductive types by abstracting over concrete indices in the types of the constructors. The second plugin re-implements Coq's Scheme Induction\texttt{Scheme Induction} command in MetaCoq, and extends it to nested inductive types, e.g. types like rose trees which use list\texttt{list} in their definition, similar to the Elpi-plugin by Tassi. The third plugin implements the Derive Subterm\texttt{Derive Subterm} command provided by the Equations package in MetaCoq.

Cite

@article{arxiv.2006.15135,
  title  = {Generating induction principles and subterm relations for inductive types using MetaCoq},
  author = {Bohdan Liesnikov and Marcel Ullrich and Yannick Forster},
  journal= {arXiv preprint arXiv:2006.15135},
  year   = {2020}
}

Comments

accepted for presentation at the Coq Workshop 2020

R2 v1 2026-06-23T16:39:28.134Z