Skip to content

[Lean] Intégrer LeanDojo-v2 : du traçage v1 de Lean-10 à la recherche de preuve (Pantograph) et au harnais prouveur #18430

Description

@myia-ai-01

Constat

La série Lean présente LeanDojo dans sa version 1 et s'arrête là.

  • Lean-10-LeanDojo.ipynb (noyau python3-wsl) épingle lean-dojo==2.2.0. Il déroule le traçage de lean4-example, l'extraction des théorèmes, l'environnement interactif Dojo et le backend lean_runner.py. Mesuré le 2026-09-29 sur main : 27 cellules de code exécutées, 0 erreur.
  • L'intégration aux modèles de langage y reste en pseudo-code (section 10). L'exercice 3, « Pipeline LeanDojo -> LLM -> Lean », est un squelette.
  • Lean-07-LLM-Integration-Lean-Python.ipynb cite LeanCopilot, LeanAgent et LeanProgress en prose seulement.
  • Tests existants : SymbolicAI/Lean/scripts/tests/test_leandojo_basic.py et test_leandojo_repos.py, tous deux sur la v1.

Aucune mention de LeanDojo-v2, de Pantograph ni de lean_dojo_v2 dans le dépôt (git grep, 2026-09-29).

Ce qu'apporte LeanDojo-v2

Source : https://github.com/lean-dojo/LeanDojo-v2, README lu le 2026-09-29.

C'est un cadre de bout en bout pour entraîner, évaluer et déployer des prouveurs Lean 4 assistés par IA :

  • traçage de dépôts Lean et base de données dynamique de théorèmes, avec curriculum par difficulté (DynamicDatabase) ;
  • entraîneurs : SFT avec LoRA, GRPO, et entraînement de retriever (SFTTrainer, GRPOTrainer, RetrievalTrainer) ;
  • prouveurs construits sur le serveur RPC Pantograph (HFProver, RetrievalProver, ExternalProver), en recherche de tactiques pas à pas ou en génération de preuve entière ;
  • agents : HFAgent, LeanAgent (apprentissage continu, retrieval) et ExternalAgent ;
  • prédiction du nombre de pas restants (LeanProgress) ;
  • une API externe (serveur LeanCopilot) pour interroger des modèles depuis l'éditeur Lean.

Prérequis déclarés :

  • Python ≥ 3.11 ;
  • GPU CUDA pour l'entraînement et l'inférence locale (testé CUDA 12.6) ;
  • elan ;
  • GITHUB_ACCESS_TOKEN obligatoire, HF_TOKEN optionnel ;
  • un répertoire de travail raid/ volumineux.

Installation : pip install lean-dojo-v2, plus PyPantograph depuis son dépôt Git.

Deux points à clarifier avant toute adoption :

  • La licence : les métadonnées du dépôt indiquent Apache-2.0 alors que le README dit MIT.
  • La maturité : environ 19 commits à la date de lecture. Il faudra épingler un commit ou une version, jamais suivre main.

Proposition — quatre volets

A. Pédagogie : prolonger Lean-10 au lieu de le réécrire

La v1 reste le bon point d'entrée pour comprendre le traçage. La v2 s'ajoute ensuite, soit dans une section du carnet, soit dans un carnet compagnon. Son nom doit suivre .claude/rules/notebook-accretion-numbering.md, avec un argument pédagogique écrit. Contenu visé :

  1. le traçage par DynamicDatabase sur le même petit dépôt, pour comparer avec la v1 ;
  2. une recherche de preuve réelle via Pantograph sur quelques théorèmes de lean4-example, en confrontant génération de preuve entière et recherche pas à pas ;
  3. LeanProgress comme lentille : que prédit le modèle sur la distance à la fin d'une preuve ?
  4. l'exercice 3 de Lean-10 rendu réalisable avec de vrais composants, en gardant un stub C.1 conforme.

B. Harnais prouveur (#1453) : une référence externe

Faire passer les mêmes paliers de calibration, avec le même budget, à un prouveur LeanDojo-v2 et à notre harnais multi-agents, puis rapporter l'écart plutôt que de le moyenner. C'est la question « organe natif » (.claude/rules/organ-first-implementation.md) transposée à un organe externe. Il faut décider par écrit ce que Pantograph pourrait remplacer dans lean_runner.py et ce qui doit rester chez nous.

C. Modèles auto-hébergés

ExternalProver vise par défaut l'API d'inférence Hugging Face (DeepSeek-Prover-V2-671B). Il faut vérifier dans le code (lean_dojo_v2/prover/) s'il accepte un point d'accès compatible OpenAI, pour le brancher sur nos moteurs auto-hébergés. Un entraînement LoRA d'un petit prouveur reste possible sur le GPU dédié aux entraînements, en second temps seulement.

D. Données : nos propres lacs Lean

Tracer un de nos lacs (par exemple knot_lean ou conway_lean) dans DynamicDatabase pour obtenir un jeu de théorèmes et de sorry classés par difficulté. C'est exactement ce que le harnais de #1453 cherche à désigner à la main.

Critères d'acceptation

  • Environnement dédié installé et mesuré sur une machine nommée (WSL), versions épinglées, test de fumée ajouté à côté des tests v1 dans SymbolicAI/Lean/scripts/tests/. Règle F : installer, jamais contourner.
  • Licence clarifiée et consignée.
  • Carnet (section ou compagnon) exécuté de bout en bout, sorties réelles committées (C.2), au moins un traçage v2 et une recherche Pantograph avec un résultat honnête, succès ou échec.
  • Un palier de calibration de [EPIC] Prover harness co-evolution — forensic-driven robustness (ai-01 ⇄ po-2026) #1453 passé par un prouveur LeanDojo-v2 et par notre harnais, résultats comparés sur [EPIC] Prover harness co-evolution — forensic-driven robustness (ai-01 ⇄ po-2026) #1453.
  • Décision écrite sur le rôle de Pantograph face à lean_runner.py.
  • Aucun jeton en clair : GITHUB_ACCESS_TOKEN et HF_TOKEN passent par .secrets/ (.claude/rules/secrets-hygiene.md).

Hors périmètre

  • Recopier du code de LeanDojo-v2 dans le dépôt : on en dépend par pip.
  • Entraîner un gros modèle.
  • Retirer la présentation v1.

See #1453 (harnais prouveur).

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions