Skip to main content

coqgym

Machine learning environment for automated theorem proving with Coq.

Quellinformationen

Repository
plurigrid/asi
Letzte Quellaktivität
10. Juni 2026 um 11:55
Erkannte Sprache von SKILL.md
Englisch
Sterne
67
Forks
12

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
2 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
coqgym
description
Machine learning environment for automated theorem proving with Coq.
# CoqGym Machine learning environment for automated theorem proving with Coq. ## Overview [CoqGym](https://github.com/princeton-vl/CoqGym) is a learning environment for theorem proving with the Coq proof assistant. It provides: - **71K human-written proofs** from 123 Coq projects - **ASTactic** - neural theorem prover using proof state ASTs - **CoqHammer integration** for automated reasoning - **Benchmark** for evaluating ML-based provers Paper: [arXiv:1905.09381](https://arxiv.org/abs/1905.09381) ## Installation ```bash # Clone repository git clone https://github.com/princeton-vl/CoqGym cd CoqGym # Install dependencies pip install -r requirements.txt # Install Coq 8.9.1 opam switch create coq891 4.07.1 opam install coq.8.9.1 # Build CoqGym python setup.py build ``` ## Dataset Structure ``` CoqGym/ ├── coq_projects/ # 123 Coq projects ├── data/ # Extracted proof data │ ├── *.json # Proof states and tactics │ └── sexp_cache/ # S-expression cache ├── ASTactic/ # Neural prover └── coqhammer/ # Hammer integration ``` ## Proof State Representation Each proof state contains: - **Goals**: Current proof obligations - **Local context**: Hypotheses in scope - **Global context**: Available lemmas/definitions - **Tactic history**: Previous tactics applied ```python { "goals": [...], "local_context": [...], "tactic": "intros n.", "proof_tree": {...} } ``` ## ASTactic Model Neural network that predicts tactics from proof state ASTs: ```python from astactic import ASTactic model = ASTactic.load("models/astactic.pt") tactic = model.predict(proof_state) ``` Architecture: - TreeLSTM encoder for AST structure - Attention over local/global context - Tactic decoder with copy mechanism ## Training ```bash # Extract proofs python extract_proofs.py --project mathcomp # Train ASTactic python train.py \ --data data/train.json \ --model astactic \ --epochs 100 ``` ## Evaluation ```bash # Evaluate on test set python evaluate.py \ --model models/astactic.pt \ --data data/test.json \ --timeout 600 ``` Metrics: - **Proof success rate**: % of theorems proved - **Tactic accuracy**: Top-k tactic prediction - **Proof length**: Steps vs human proofs ## CoqHammer Integration Combines ML predictions with automated reasoning: ```coq (* In Coq *) Require Import Hammer. Lemma example : forall n, n + 0 = n. Proof. hammer. (* Calls external ATPs *) Qed. ``` ## Integration with Gay.jl Verification Use CoqGym to learn proof strategies for Gay.jl properties: 1. **Extract** proofs from similar PRNG verification projects 2. **Train** on SplitMix64-style proofs 3. **Apply** learned tactics to new Gay.jl lemmas ```python # Find similar proofs similar = coqgym.search( query="deterministic hash function", projects=["compcert", "flocq"] ) ``` ## GF(3) Trit | Role | Trit | Description | |------|------|-------------| | Learner | -1 | Extract patterns from proofs | | Predictor | 0 | Tactic prediction (ergodic) | | Prover | +1 | Generate complete proofs | ## Key Papers - [Learning to Prove Theorems via Interacting with Proof Assistants](https://arxiv.org/abs/1905.09381) - [Graph Neural Networks for Theorem Proving](https://arxiv.org/abs/2003.04883) - [Automated Theorem Proving with GNNs](https://medium.com/stanford-cs224w/automated-theorem-proving-with-graph-neural-networks-49c091024f81) ## Resources - [GitHub](https://github.com/princeton-vl/CoqGym) - [Princeton Vision Lab](https://www.cs.princeton.edu/~kaiyang/) - [Coq Documentation](https://coq.inria.fr/documentation) ## Related Skills - `coq-of-rust` - Rust to Coq translation - `narya-proofs` - Higher observational type theory - `proofgeneral-narya` - Proof assistant integration - `forward-forward-learning` - Local learning without backprop --- ## Autopoietic Marginalia > **The interaction IS the skill improving itself.** Every use of this skill is an opportunity for worlding: - **MEMORY** (-1): Record what was learned - **REMEMBERING** (0): Connect patterns to other skills - **WORLDING** (+1): Evolve the skill based on use *Add Interaction Exemplars here as the skill is used.*
Auf GitHub ansehen