miniCTX-v2 is a context-rich dataset for evaluation of neural theorem proving under a more realistic scenario. miniCTX-v2 is an updated version of miniCTX with new theorems extracted after a more recent cutoff date of November 28, 2024.
See our project page for more details.
An entry in the miniCTX dataset consists of the theorem statement, preceding file contents, and metadata information. For example, given the following theorem s_eq_pow_two in context:
import Mathlib.Data.Real.Basic
/-!
# Square function
We define the squaring function `s : ℝ → ℝ` to be `s x := x * x`.
-/
def s (x : ℝ) : ℝ := x * x
lemma s_eq_pow_two {x : ℝ} : s x = x ^ 2 := by
rw [s, pow_two]
The problem is formatted in JSON as follows:
{
# Preceding file content
"srcContext": "import Mathlib.Data.Real.Basic\n\n/-!\n# Square function\nWe define the squaring function `s : ℝ → ℝ` to be `s x := x * x`.\n-/\n\ndef s (x : ℝ) : ℝ := x * x\n\n",
# Theorem statement
"theoremStatement": "lemma s_eq_pow_two {x : ℝ} : s x = x ^ 2",
# Fully qualified theorem name
"theoremName": "s_eq_pow_two",
# Temporal metadata
"fileCreated": {"commit":"(git commit)", "date":"(date the commit is updated)"},
"theoremCreated": {"commit":"(git commit)", "date":"(date the commit is updated)"},
# Source metadata
"file": "MyProject/Square.lean",
"module": "MyProject.Square",
"positionMetadata": {
# Line number the theorem is on
"lineInFile": 10,
# Number of tokens before the theorem
"tokenPositionInFile": 152,
# Number of premises (definitions, theorems) before the theorem
"theoremPositionInFile": 1
},
# Dependency metadata
"dependencyMetadata": {
# Number of definitions or lemmas defined in this file that the theorem uses
"inFilePremises": true,
"numInFilePremises": 1,
# Number of definitions or lemmas defined in this repository that the theorem uses (including in-file ones)
"repositoryPremises": true
"numRepositoryPremises": 1,
# Number of total premises (in file, repository, or otherwise)
"numPremises": 2,
},
# Proof metadata
"proofMetadata": {
"hasProof": true,
"proof": "by\n rw [s, pow_two]",
"proofType": "tactic",
"proofLengthLines": 2,
"proofLengthTokens": 20
}
}
In addition to individual entries, we also provide the link and git commit version of each split for evaluation:
miniCTX-v2 uses Lean version v4.16.0.
Please cite:
@article{hu2024minictx,
title={miniCTX: Neural Theorem Proving with (Long-) Contexts},
author={Hu, Jiewen and Zhu, Thomas and Welleck, Sean},
journal={arXiv preprint arXiv:2408.03350},
year={2024}
}
9 commits
miniCTX-v2 is a context-rich dataset for evaluation of neural theorem proving under a more realistic scenario. miniCTX-v2 is an updated version of miniCTX with new theorems extracted after a more recent cutoff date of November 28, 2024.
See our project page for more details.
An entry in the miniCTX dataset consists of the theorem statement, preceding file contents, and metadata information. For example, given the following theorem s_eq_pow_two in context:
import Mathlib.Data.Real.Basic
/-!
# Square function
We define the squaring function `s : ℝ → ℝ` to be `s x := x * x`.
-/
def s (x : ℝ) : ℝ := x * x
lemma s_eq_pow_two {x : ℝ} : s x = x ^ 2 := by
rw [s, pow_two]
The problem is formatted in JSON as follows:
{
# Preceding file content
"srcContext": "import Mathlib.Data.Real.Basic\n\n/-!\n# Square function\nWe define the squaring function `s : ℝ → ℝ` to be `s x := x * x`.\n-/\n\ndef s (x : ℝ) : ℝ := x * x\n\n",
# Theorem statement
"theoremStatement": "lemma s_eq_pow_two {x : ℝ} : s x = x ^ 2",
# Fully qualified theorem name
"theoremName": "s_eq_pow_two",
# Temporal metadata
"fileCreated": {"commit":"(git commit)", "date":"(date the commit is updated)"},
"theoremCreated": {"commit":"(git commit)", "date":"(date the commit is updated)"},
# Source metadata
"file": "MyProject/Square.lean",
"module": "MyProject.Square",
"positionMetadata": {
# Line number the theorem is on
"lineInFile": 10,
# Number of tokens before the theorem
"tokenPositionInFile": 152,
# Number of premises (definitions, theorems) before the theorem
"theoremPositionInFile": 1
},
# Dependency metadata
"dependencyMetadata": {
# Number of definitions or lemmas defined in this file that the theorem uses
"inFilePremises": true,
"numInFilePremises": 1,
# Number of definitions or lemmas defined in this repository that the theorem uses (including in-file ones)
"repositoryPremises": true
"numRepositoryPremises": 1,
# Number of total premises (in file, repository, or otherwise)
"numPremises": 2,
},
# Proof metadata
"proofMetadata": {
"hasProof": true,
"proof": "by\n rw [s, pow_two]",
"proofType": "tactic",
"proofLengthLines": 2,
"proofLengthTokens": 20
}
}
In addition to individual entries, we also provide the link and git commit version of each split for evaluation:
miniCTX-v2 uses Lean version v4.16.0.
Please cite:
@article{hu2024minictx,
title={miniCTX: Neural Theorem Proving with (Long-) Contexts},
author={Hu, Jiewen and Zhu, Thomas and Welleck, Sean},
journal={arXiv preprint arXiv:2408.03350},
year={2024}
}
9 commits