five

MathComp Corpus

收藏
github2024-01-27 更新2024-05-31 收录
下载链接:
https://github.com/EngineeringSoftware/math-comp-corpus
下载链接
链接失效反馈
官方服务:
资源简介:
MathComp Corpus是一个包含Coq证明助手代码的数据集,以及多个独立的机器可读表示形式,这些数据来源于与Mathematical Components库相关的验证项目。该数据集可用于机器学习和数据挖掘应用,提供了多种机器可读的表示形式,如S-expressions,并详细描述了数据集的结构和内容。

The MathComp Corpus is a dataset comprising Coq proof assistant code, along with multiple independent machine-readable representations, sourced from verification projects associated with the Mathematical Components library. This dataset is suitable for machine learning and data mining applications, offering various machine-readable formats such as S-expressions, and provides a detailed description of the dataset's structure and content.
创建时间:
2020-04-19
原始信息汇总

数据集概述

名称: MathComp Corpus

描述: MathComp Corpus 是一个包含与 Mathematical Components (MathComp) 库相关的验证项目代码的语料库。该语料库包含 Coq 证明助手中的代码及其多种机器可读表示形式,适用于机器学习和数据挖掘应用。

内容:

  • 版本: 基于 Coq 8.10.2 和 MathComp 1.9.0。
  • 文件数量: 包含来自 21 个 Coq 项目的 449 个源文件,总计超过 297k 行代码。
  • 机器可读表示: 每个源文件对应两个 S-expression 文件,分别用于标记 (theory.tok.sexp) 和抽象语法树 (theory.ast.sexp)。此外,每个 Coq 引理声明提供三种 S-expression 表示:标记、抽象语法树和详细项。

项目详情:

  • 项目数量: 21 个。
  • 项目分级: 根据项目与 MathComp 约定的符合程度分为三个级别。
  • 示例项目:
    • finmap: 4 个文件,6451 行代码,级别 1。
    • fourcolor: 60 个文件,37138 行代码,级别 1。
    • math-comp: 89 个文件,84713 行代码,级别 1。
    • odd-order: 34 个文件,36125 行代码,级别 1。
    • analysis: 17 个文件,11739 行代码,级别 2。
    • infotheo: 81 个文件,42295 行代码,级别 2。
    • bits: 10 个文件,4041 行代码,级别 3。
    • comp-dec-pdl: 16 个文件,4419 行代码,级别 3。
    • disel: 20 个文件,4473 行代码,级别 3。

数据集结构:

  • projects.yml: 包含项目列表及其详细信息。
  • raw-files: 包含项目源文件及其机器可读表示。
  • lemmas: 包含所有项目的引理及其机器可读声明。
  • lemmas-filtered: 包含遵守详细项大小限制的引理子集。
  • definitions: 从语料库中提取的定义。

应用: 该语料库用于训练和评估工具 Roosterize,该工具使用神经网络在 Coq 代码中建议引理名称。

许可证: 语料库元数据根据 MIT 许可证授权,而所有 Coq 源文件及其对应的 S-expression 文件根据其各自的原始开源许可证授权。

搜集汇总
数据集介绍
main_image_url
构建方式
MathComp Corpus数据集的构建基于Coq证明助手的代码库,并结合了多个独立可机器读取的表示形式。这些表示形式源自与Mathematical Components(MathComp)库相关的验证项目。数据集通过SerAPI库生成S-expression(sexps)格式的机器可读表示,涵盖了Coq源代码文件及其对应的抽象语法树和标记化表示。数据集的构建过程严格遵循Coq 8.10.2和MathComp 1.9.0的版本要求,确保了数据的兼容性和一致性。
特点
MathComp Corpus数据集包含了来自21个Coq项目的449个源文件,总计超过297,000行代码。每个源文件都配备了对应的标记化表示和抽象语法树的S-expression文件。此外,数据集中每个Coq引理语句提供了三种S-expression表示:标记、抽象语法树和精化项。数据集还根据项目对MathComp规范的遵循程度划分为三个层级,进一步增强了数据的结构化和可分析性。
使用方法
MathComp Corpus数据集适用于机器学习和数据挖掘应用,特别是在Coq代码的自动化处理和分析领域。用户可以通过GitHub下载最新版本的数据集,其中包含了Coq源文件及其对应的机器可读表示。数据集的结构清晰,用户可以根据项目、引理或定义进行灵活查询和分析。此外,数据集已被用于训练和评估Roosterize工具,该工具利用神经网络为Coq代码中的引理生成建议名称。
背景与挑战
背景概述
MathComp Corpus 是一个专为 Coq 证明助手设计的代码语料库,包含了多个独立可机器读取的表示形式,源自与 Mathematical Components (MathComp) 库相关的验证项目。该语料库由 Pengyu Nie、Karl Palmskog、Emilio Jesús Gallego Arias、Junyi Jessy Li 和 Milos Gligoric 等研究人员于2020年创建,旨在为机器学习和数据挖掘应用提供支持。语料库基于 Coq 8.10.2 和 MathComp 1.9.0,包含来自21个 Coq 项目的449个源文件,总计超过297,000行代码。其核心研究问题在于如何通过机器可读的形式(如 S-表达式)来促进形式化验证和自动化工具的开发,特别是在 Coq 环境中的应用。该语料库的发布为形式化方法领域的研究提供了重要的数据资源,推动了自动化工具如 Roosterize 的开发,后者利用神经网络为 Coq 代码中的引理命名提供建议。
当前挑战
MathComp Corpus 在构建和应用过程中面临多重挑战。首先,语料库的构建需要将 Coq 源代码转换为多种机器可读的表示形式(如 S-表达式),这一过程不仅需要高度的技术精确性,还需确保转换后的数据能够准确反映原始代码的语义。其次,由于 Coq 项目的多样性和复杂性,语料库的整合和标准化工作面临较大难度,特别是在处理不同项目的代码风格和结构差异时。此外,语料库的应用场景主要集中在形式化验证和自动化工具的开发,这对数据的质量和完整性提出了更高要求。最后,尽管语料库为机器学习模型提供了丰富的训练数据,但如何有效利用这些数据来提升自动化工具的准确性和效率,仍是一个亟待解决的问题。
常用场景
经典使用场景
MathComp Corpus 数据集在形式化验证和自动化推理领域具有广泛的应用。该数据集包含了基于 Coq 证明助手的代码库,特别是与 Mathematical Components (MathComp) 库相关的验证项目。通过提供多种机器可读的表示形式,如 S-表达式(sexps),该数据集为机器学习和数据挖掘应用提供了丰富的资源。研究人员可以利用这些数据训练模型,以自动化生成 Coq 代码中的引理名称,或进行其他形式化验证任务。
衍生相关工作
MathComp Corpus 数据集衍生了一系列经典研究工作,其中最著名的是 Roosterize 工具的开发。该工具利用数据集中的 Coq 代码和机器可读表示形式,通过深度学习技术自动生成引理名称。此外,该数据集还促进了形式化验证与机器学习交叉领域的研究,如代码自动补全、错误检测和形式化证明生成等。这些研究不仅扩展了数据集的应用范围,还为形式化验证领域带来了新的技术突破。
数据集最近研究
最新研究方向
在形式化验证与机器学习交叉领域,MathComp Corpus数据集正成为研究的热点。该数据集基于Coq证明助手和Mathematical Components库,提供了丰富的代码语料及其机器可读的表示形式,如S-表达式。这些数据为机器学习模型在形式化验证中的应用提供了基础,特别是在自动生成Coq引理名称的神经网络训练中展现了显著效果。Roosterize工具的成功应用,进一步推动了该数据集在自动化推理和代码生成领域的研究。随着形式化验证技术的普及,MathComp Corpus在提升代码验证效率、降低人工干预方面的潜力日益凸显,成为该领域不可或缺的研究资源。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作