Deep Generation of Coq Lemma Names Using Elaborated Terms
Not on the map. Why?
Abstract (arXiv)
Coding conventions for naming, spacing, and other essentially stylistic properties are necessary for developers to effectively understand, review, and modify source code in large software projects. Consistent conventions in verification projects based on proof assistants, such as Coq, increase in importance as projects grow in size and scope. While conventions can be documented and enforced manually at high cost, emerging approaches automatically learn and suggest idiomatic names in Java-like languages by applying statistical language models on large code corpora. However, due to its powerful language extension facilities and fusion of type checking and computation, Coq is a challenging target for automated learning techniques. We present novel generation models for learning and suggesting lemma names for Coq projects. Our models, based on multi-input neural networks, are the first to leverage syntactic and semantic information from Coq's lexer (tokens in lemma statements), parser (syntax trees), and kernel (elaborated terms) for naming; the key insight is that learning from elaborated terms can substantially boost model performance. We implemented our models in a toolchain, dubbed Roosterize, and applied it on a large corpus of code derived from the Mathematical Components family of projects, known for its stringent coding conventions. Our results show that Roosterize substantially outperforms baselines for suggesting lemma names, highlighting the importance of using multi-input models and elaborated terms.
Key facts. Cited by 6 papers in the map (data through 14 Oct 2026). First posted on arXiv 16 Apr 2020.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2021: 2; 2022: 0; 2023: 2; 2024: 2.
6 papers.
- 2021Proof Artifact Co-training for Theorem Proving with Language Modelscited by 132
- 2023Baldur: Whole-Proof Generation and Repair with Large Language Modelscited by 119
- 2023Learning Deep Semantics for Test Completioncited by 31
- 2024Application of AI to formal methods - an analysis of current trendscited by 2
- 2021Roosterize: Suggesting Lemma Names for Coq Verification Projects Using Deep Learningcited by 1
- 2024Enhancing Formal Theorem Proving: A Comprehensive Dataset for Training AI Models on Coq Codecited by 1
- 2024Application of AI to formal methods - an analysis of current trends22 Nov 2024
- 2024Enhancing Formal Theorem Proving: A Comprehensive Dataset for Training AI Models on Coq Code19 Mar 2024
- 2023Baldur: Whole-Proof Generation and Repair with Large Language Models8 Mar 2023
- 2023Learning Deep Semantics for Test Completion20 Feb 2023
- 2021Roosterize: Suggesting Lemma Names for Coq Verification Projects Using Deep Learning1 Mar 2021
- 2021Proof Artifact Co-training for Theorem Proving with Language Models11 Feb 2021