You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
État mesuré au 2026-10-05 — relevé de la lane myia-ai-01:CoursIA-2 sur main.
Ce bloc est un relevé, pas une réécriture : l'historique des phases ci-dessous est conservé tel quel.
Portée : l'état du lake à cette date. Les cases déjà cochées n'ont pas été re-vérifiées.
Ce que ce body dit, et ce qui est mesuré
Ce que le body dit
Mesure sur main
lake en MyIA.AI.Notebooks/GameTheory/knot_lean/
le lake vit en MyIA.AI.Notebooks/SymbolicAI/Lean/knot_lean/ — le chemin écrit dans ce body n'existe pas
6 modules
14 modules : les 6 cités, plus ConwayPD, FigureEight, Jones, Mutation, ReidemeisterCombinatorial, ReidemeisterInvariance, ReidemeisterMoves, Slice
« 39 sorry, ~15 permanents »
8 sorry réels distincts (scripts/lean/count_code_sorry.py --json, champ distinct_code_sorry ; baseline CI lean-knot.yml = "8") : Slice.lean 4, Lidman.lean 2, Reidemeister.lean 2. Les 67 « naïfs » sont de la prose de docstring.
Phases 3 et 4 entièrement ouvertes
6 cases sont satisfaites et 1 sous réserve de modèle (table ci-dessous)
Confrontation case par case (les 13 cases non cochées)
Case
Verdict
Preuve sur main
Phase 2 — croisements du nœud de huit = 4
satisfaite, sous réserve du modèle
figureEightPlanar_crossingNumber_provisional : Knot.crossingNumber figureEightPlanar = 4 (Knots/FigureEight.lean:218, prouvé par decide) — le suffixe « provisional » qualifie le modèle crossingNumber, pas la preuve
Phase 2 — sorry → 0 sur Knots/Invariant.lean
satisfaite
0 sorry de code dans le fichier ; Knot.unknottingNumber déchargé par #15082 (redéfini via Nat.sInf)
Phase 3 — définition des tangles
ouverte
aucune déclaration Tangle dans le lake
Phase 3 — notation de Conway pour les nœuds
ouverte
Knots/Conway.lean porte le polynôme d'Alexander/Conway et Knots/ConwayPD.lean le diagramme PD du nœud de Conway — ni l'un ni l'autre n'est la notation de Conway
Phase 3 — construction de Conway et Kinoshita-Terasaka par mutation
partielle
Knots/Mutation.lean livre le mécanisme (ConwaySphere, KleinRot, mutateWindow, AreMutantDiagrams, involutivité) ; conwayKnot et kinoshitaTerasakaKnot sont définis en Knots/ConwayPD.lean par PD explicite, pas par mutation
Phase 3 — même polynôme d'Alexander par mutation
satisfaite
alexander_trefoilMutant (Knots/Conway.lean:1095)
Phase 4 — polynôme de Jones via bracket de Kauffman
satisfaite
Knots/Jones.lean : bracket (:232), kauffmanF (:563), jones (:572), jones_trefoilDiagram (:587)
Knots/ReidemeisterInvariance.lean est le domicile dédié ; l'énoncé naïf y est réfuté (reidemeister3Connected_alexanderSigned_invariance_refuted) et l'invariance n'est établie que sous une condition que le cadrage c652 n'énonçait pas
l'énoncé existe (Knots/Slice.lean:82) ; corps exact sorry (référence Piccirillo 2018)
Phase 5 — unknotting_11n102
ouverte, permanente
l'énoncé existe (Knots/Lidman.lean:100) ; corps exact sorry (référence Lidman)
Phase 5 — documentation des prérequis Mathlib manquants
partielle
Knots/MathlibPrerequisites.lean existe (théorèmes-marqueurs, is_marker: true)
Évolution depuis la rédaction de ce body
verifyMoves_sound (Knots/ReidemeisterCombinatorial.lean:235), le seul site de sorry à route bornée du lake, est prouvé (#19107, mergée le 2026-10-04) : le compte de sorry réels passe de 9 à 8. La phase qui le porte n'apparaît pas dans ce body, le fait est donc consigné ici pour que le relevé soit complet.
Livraisons mergées non inscrites (relevé scripts/epic_body_staleness.py)
Cinq PRs mergées citent cet EPIC sans que le corps les inscrive. Relues une par une :
extraction de Mutation et ConwayPD hors du monolithe Conway (#18397) — c'est cette extraction qui explique l'écart de la table knot_lean/README.md §sorries relevé ci-dessus
ré-ancrage de l'exercice 2 de Lean-17c sur la baseline CI
Sortie retenue
Le body est corrigé, l'EPIC n'est pas replié. Restent réellement ouverts : les tangles, la notation de Conway, la construction par mutation (partielle), l'invariance (à reformuler), et les trois entrées permanentes ou partielles de la Phase 5.
Non vérifié
Les cases déjà cochées (Phases 1 et 1b, début de la Phase 2) n'ont pas été re-vérifiées.
État au 2026-09-01 — la mesure du 30/08 tient, les citations de ligne avaient dérivé
Passe de curation (défaut #13906). Cet EPIC fait exception : ses en-têtes datés sont exacts, et la mesure du jour les confirme au chiffre près — python scripts/lean/count_code_sorry.py --json rend 11 déclarations distinctes
sur 22 tokens pour knot_lean, sur un total dépôt de 15 distinctes / 30 tokens,
soit les 73,33 % annoncés le 30/08. Rien à réfuter.
Deux choses ont malgré tout été corrigées ci-dessous, et ce sont celles qu'une lane
heurte en pratique :
Quatre citations de ligne avaient dérivé — le fichier a grossi depuis le 23/08. tricolorable_invariant 3489 → 3515 · Knot.unknottingNumber 2221 → 2247 · tricolorable_invariant_r2_connected 3322 → 3214 · tricolorable_invariant_r3_connected 3474 → 3500. Elles étaient justes à leur
date ; une ligne citée ne se vérifie que le jour où on la lit.
Les cases du corps historique étaient toutes vides, y compris pour du travail
livré. Un en-tête qui dit « corps conservé pour l'historique » ne se voit pas quand
on scrolle jusqu'à une liste de cases : cinq sont cochées avec leur artefact nommé,
et les deux qui restent ouvertes disent désormais pourquoi.
Ce qui reste vraiment ouvert, en clair : le nombre de croisements du nœud de huit
(aucun théorème n'existe — seul figureEight_not_tricolorable est là) et le dernier sorry d'Invariant.lean (Knot.unknottingNumber, Phase 4+).
Correction du 2026-09-02 — la phrase précédente sur la Phase 3-4 était fausse deux fois
La version du 01/09 disait : « le front de Phase 3-4 reste définitionnel
(IsSmoothlySlice, IsTopologicallySlice, conway_trivial_alexander, KT_trivial_alexander) : ce sont des def … := sorry — définir n'attend aucune
infrastructure Mathlib absente. » Relecture des sites : les deux moitiés sont fausses,
et une lane qui aurait suivi cette phrase aurait perdu son cycle. Le front se sépare en deux régimes que rien ne devrait confondre :
de l'infrastructure Mathlib absente, et le site le documente lui-même : 4-ball (not in Mathlib), properly embedded surfaces (not in Mathlib), plongements lisses D²→B⁴ absents. Définir fidèlement n'est pas à portée. C'est la moitié que la phrase du 01/09 niait
rien d'absent. Ce sont des théorèmes, pas des définitions. Cible vérifiée hors Lean (census PD spherogram 2.4.1, sonde validée sur 3_1/4_1/5_1) : mineur = −t⁶ et t⁵, deux unités. Route de preuve écrite au site : déterminant du noyau de la matrice creuse 10×10 sur ℤ[t]. Matrix.det et Polynomial sont dans Mathlib
Autrement dit, le grain tractable de cette EPIC n'est pas celui que la phrase désignait :
ce sont les deux polynômes d'Alexander, bornés, à cible connue et à route nommée. Les
deux def slice sont, eux, la seule vraie dette d'infrastructure du lake — à laisser
telle quelle et à ne pas rouvrir sans Mathlib.
La leçon de méthode est la même que celle que ce corps porte déjà : quatre sorry cités
ensemble ne forment pas une classe. Ouvrir les quatre sites aurait pris deux minutes ;
ne pas les ouvrir a produit une phrase qui inversait la portée sur la moitié d'entre eux.
État vérifié des réfutations Vibe — 2026-08-30
L'audit Vibe du 2026-08-29 a comparé des mesures courantes à des strates
historiques datées, puis a qualifié trois écarts de REFUTE. La chronologie Git
et les mesures canoniques montrent au contraire que les trois affirmations étaient
exactes à leur date et ont ensuite été dépassées par des livraisons. Les sections
historiques restent conservées ci-dessous comme snapshots datés.
Réfutation Vibe
Chronologie vérifiée
Verdict
MyIA.AI.Notebooks/GameTheory/knot_lean/
Le scaffolding a été créé sous ce chemin le 2026-06-12 (09f15936e6, puis #2875). La relocation vers MyIA.AI.Notebooks/SymbolicAI/Lean/knot_lean/ a été mergée le lendemain, le 2026-06-13, par #2893 (8164bc6d47).
RÉFUTATION REJETÉE — chemin historique exact à l'ouverture, devenu obsolète après relocation.
26 tokens sorry sur 13 déclarations distinctes
Snapshot canonique avant #12406 : code_sorry=26, distinct_code_sorry=13. #12406 a ensuite retiré AreMutants (13 → 12, merge 2026-08-23, 8dabb36f98), puis #12892 a retiré alexanderPolynomial (12 → 11, merge 2026-08-28, 883c6e9f5b). Mesure courante : 22 tokens sur 11 déclarations distinctes.
RÉFUTATION REJETÉE / SUPERSEDÉ — la mesure actuelle confirme deux décharges ultérieures ; elle ne réfute pas le snapshot daté.
13 des 17 sorry du dépôt — 76 %
Au même snapshot, 13 / 17 = 76,47 %, honnêtement arrondi à 76 %. #12406 documente le passage dépôt 17 → 16 et lake 13 → 12 ; après #12892, l'état courant est 11 / 15 = 73,33 % (équivalent tokens FR/EN : 22 / 30).
RÉFUTATION REJETÉE / SUPERSEDÉ — proportion historique arithmétiquement exacte, devenue 73,33 % après deux preuves livrées.
Instrument canonique : python scripts/lean/count_code_sorry.py --json, champ distinct_code_sorry pour la dette dédupliquée FR/EN. code_sorry compte les deux
siblings et ne doit pas être confondu avec le nombre de déclarations distinctes.
État mesuré au 2026-08-23 — lire ceci avant le corps historique
Delta du 2026-08-23 — la révision du 20/08 ci-dessous était elle-même périmée
sur son point central : elle désignait tricolorable_invariant comme « le front de
Phase 2 », alors qu'il est prouvé depuis. Corrigé dans le tableau des destins.
Le sous-grain AreMutants est provisionné (greenlight ai-01 du 23/08, lane myia-po-2024:CoursIA) : définition combinatoire au niveau PD, deux siblings FR/EN,
acceptance distinct_code_sorry 13 → 12 + lake build SUCCESS + deux lemmes de
discrimination (positif conwayKnot/kinoshitaTerasakaKnot, négatif trefoil/unknot)
— sans quoi une définition trop lâche rendrait le −1 cosmétique.
Le corps ci-dessous date du 12/06/2026 et n'a jamais été rafraîchi. Trois de
ses affirmations les plus consultées sont fausses aujourd'hui, et ce sont
précisément elles qui rendent cette Epic impiochable — c'est le mécanisme par
lequel elle est restée délaissée 68 jours, pas un manque d'intérêt du sujet :
Le corps dit
Réalité mesurée le 20/08
« PR #2875 en review », « PR #2878 en review », « Aucune des deux n'est mergée — attente review ai-01 »
Les deux sont mergées le 13/06/2026. Un lecteur qui suit cette phrase part réviser une PR vieille de deux mois, ou conclut que le coordinateur bloque l'Epic
MyIA.AI.Notebooks/GameTheory/knot_lean/
Le lake vit sous MyIA.AI.Notebooks/SymbolicAI/Lean/knot_lean/. Un ls sur le chemin du corps rend vide — un zéro qui ressemble à « rien n'existe »
Phase 2 : « sorry → 0 sur Knots/Invariant.lean »
Invariant.lean porte 2sorry, dont un seul relève de la Phase 2 (l'autre est Phase 4+)
Phase 2 très avancée, contrairement à ce que le corps laisse croire.
Dette formelle réelle — mesurée par l'outil canonique, pas par grep
python scripts/lean/count_code_sorry.py --json → 26 tokens sorry sur 13 déclarations distinctes (paires FR/EN dédoublonnées) (naive_sorry vaut 58 : la prose du lake documente abondamment ses propres sorry, d'où un facteur 4,5 si on grepe).
knot_lean porte à lui seul 13 des 17 sorry réels du dépôt entier — 76 % de toute la dette formelle. C'est la concentration la plus dense du repo, et c'est ce qui fait de cette Epic un vivier profond plutôt qu'un reliquat.
Répartition par destin, et c'est la ligne qui compte :
tricolorable_invariant est PROUVÉ (Knots/Invariant.lean:3515, induction sur ReidemeisterEquiv, consommé par trefoil_not_unknot) — livré par #11893/#11903
Autrement dit : le front de Phase 2 est CLOS. Ce qui reste est un front de Phase 3-4, et il est définitionnel : AreMutants, alexanderPolynomial, IsSmoothlySlice, IsTopologicallySlice sont des def … := sorry — des
définitions stubbées, pas des preuves manquantes. C'est une nuance décisive
pour piocher ici : définir n'attend aucune infrastructure Mathlib absente,
contrairement à prouver.
tricolorable_invariant — clos le 2026-08-23 (section conservée pour l'historique)
Les trois jambes de transfert sont désormais construites, et le théorème maître les compose :
Le transfert R3 qui manquait à la révision du 20/08 a été construit, et l'iff maître tricolorable_invariant (Invariant.lean:3515) l'obtient par induction sur ReidemeisterEquiv, chaque pas portant sa direction dans une disjonction. trefoil_not_unknot le consomme. Il ne reste qu'un seul sorry dans tout Invariant.lean : Knot.unknottingNumber (:2247), Phase 4+, bloqué sur une
infrastructure documentée au site (well-formedness de changeCrossing).
Le corps historique est conservé intégralement ci-dessous : il porte les références bibliographiques, l'inventaire d'outillage et le plan de phases, qui restent valides. Seule sa description d'état est périmée.
Summary
Scaffolding Lean 4 pour la théorie des nœuds, avec invariants de difficulté croissante, sorry stratégiques commentés (références Mathlib), notebook pédagogique Python (visualisations + preuve Piccirillo/Lidman), et notebook compagnon Python pour le calcul effectif des invariants via SageMath/SnapPy/pyknotid.
Identification automatique via invariants, Gauss/PD/DT input, catalogue jusqu'à 15 crossings
GPL
Conclusion outillage : SageMath + SnapPy + pyknotid couvrent tout ce que Mathematica + KnotTheoryfont, en open source,pip install`. Pas besoin de licence Mathematica.
Références papier
Piccirillo (2018/2020) : The Conway knot is not slice, Annals of Mathematics 191(2). arXiv:1808.02923
Lidman (2026) : The unknotting number of 11n102 is 2. arXiv:2606.12431
Reidemeister (1927) : Elementare Begründung der Knotentheorie
Fox (1962) : A quick trip through knot theory — 3-colorabilité
Conway (1970) : An enumeration of knots and links — notation Conway, nœud de Conway 11n34
README.md avec références et état scaffolding (39 sorry, ~15 permanents)
Phase 1b — Notebook compagnon Python : calcul des invariants (PR #2878, MERGÉE le 2026-06-13)
Notebook Python dédié (Lean-17-Knots-b-Invariants-Companion.ipynb) qui reproduit et vérifie tous les invariants listés sur Knot Atlas pour nos nœuds d'intérêt, en utilisant uniquement des outils Python open source. Code créé, pas encore mergé (#2878 OPEN).
Epic ouverte par po-2025, mandat user 2026-06-12. Phase 1 = PR #2875, Phase 1b = PR #2878 (compagnon Python invariants) — les deux mergées le 2026-06-13.
[RELEASED] lane myia-po-2025:CoursIA -- claim du 2026-09-15 (Jones.lean, Knots.lean et jumeaux) soldé : tranche 1 livrée par #16302, mergée le 2026-09-15. Aucun travail en cours de cette lane sur ces chemins.
[CLAIMED] lane myia-po-2025:CoursIA -- Jones tranche 2 : signe de croisement + writhe + polynome de Jones normalise + critere de planarite (Euler) ; le code PD figureEightDiagram de Knots.Basic mesure non planaire (4 faces au lieu de 6, Jones = celui du trefle droit) -- constat formalise ici, correctif de Basic en issue separee. paths: MyIA.AI.Notebooks/SymbolicAI/Lean/knot_lean/Knots/Jones.lean, MyIA.AI.Notebooks/SymbolicAI/Lean/knot_lean/Knots/Jones_en.lean
[CLAIMED] lane myia-po-2025:CoursIA -- paths: MyIA.AI.Notebooks/SymbolicAI/Lean/knot_lean/Knots/FigureEight.lean, MyIA.AI.Notebooks/SymbolicAI/Lean/knot_lean/Knots/FigureEight_en.lean, MyIA.AI.Notebooks/SymbolicAI/Lean/knot_lean/Knots.lean, MyIA.AI.Notebooks/SymbolicAI/Lean/knot_lean/Knots_en.lean -- 4_1 planar Alexander signe, determinant et nombre de croisements ; nouveau module FR/EN disjoint de Conway/Jones/Reidemeister. Grain: DEEP/lean — lane myia-po-2025:CoursIA — prev: DEEP/notebook-lean #18050
Grain: DEEP/lean — lane myia-ai-01:CoursIA-2 — prev: DEEP/guard #19021
[CLAIMED] lane myia-ai-01:CoursIA-2 -- paths: MyIA.AI.Notebooks/SymbolicAI/Lean/knot_lean/Knots/ReidemeisterCombinatorial.lean, MyIA.AI.Notebooks/SymbolicAI/Lean/knot_lean/Knots/ReidemeisterCombinatorial_en.lean
Sous-grain (EPIC, jamais claim entier) : prouver verifyMoves_sound (ReidemeisterCombinatorial.lean:222) — le sorry planifié « PR2+ » du vérificateur combinatoire, énoncé figé, route écrite au site (§4 : récurrence sur n, extraction de témoin List.any, fermeture step+trans). Un lemme-pont nommé oneStepWitnesses_sound isole le mur PR2+ (liste vide aujourd'hui, triviale par not_mem_nil) : l'induction principale restera intacte quand l'énumération des témoins atterrira.
Contexte confrontation body/réel (les 2 Alexander de la curation 09-02 sont déjà prouvés sur main — l.1266/l.2611, livraison #18944 et +18) : ce sous-grain est le seul sorry restant du lake dont le site documente lui-même une route bornée ; les 8 autres portent « decades / not in Mathlib / effectively permanent » (Slice, Reidemeister:1056, Lidman:84/:101, unknottingNumber Phase 4+).
Fix sur les deux siblings FR/EN (convention i18n #4980). Comptage canonique avant/après (count_code_sorry.py --json, distinct_code_sorry) et lake build dans le body PR.
Ce que ce body dit, et ce qui est mesuré
mainMyIA.AI.Notebooks/GameTheory/knot_lean/MyIA.AI.Notebooks/SymbolicAI/Lean/knot_lean/— le chemin écrit dans ce body n'existe pasConwayPD,FigureEight,Jones,Mutation,ReidemeisterCombinatorial,ReidemeisterInvariance,ReidemeisterMoves,Slicesorryréels distincts (scripts/lean/count_code_sorry.py --json, champdistinct_code_sorry; baseline CIlean-knot.yml="8") :Slice.lean4,Lidman.lean2,Reidemeister.lean2. Les 67 « naïfs » sont de la prose de docstring.Confrontation case par case (les 13 cases non cochées)
mainfigureEightPlanar_crossingNumber_provisional : Knot.crossingNumber figureEightPlanar = 4(Knots/FigureEight.lean:218, prouvé pardecide) — le suffixe « provisional » qualifie le modèlecrossingNumber, pas la preuvesorry→ 0 surKnots/Invariant.leansorryde code dans le fichier ;Knot.unknottingNumberdéchargé par #15082 (redéfini viaNat.sInf)Tangledans le lakeKnots/Conway.leanporte le polynôme d'Alexander/Conway etKnots/ConwayPD.leanle diagramme PD du nœud de Conway — ni l'un ni l'autre n'est la notation de ConwayKnots/Mutation.leanlivre le mécanisme (ConwaySphere,KleinRot,mutateWindow,AreMutantDiagrams, involutivité) ;conwayKnotetkinoshitaTerasakaKnotsont définis enKnots/ConwayPD.leanpar PD explicite, pas par mutationalexander_trefoilMutant(Knots/Conway.lean:1095)Knots/Jones.lean:bracket(:232),kauffmanF(:563),jones(:572),jones_trefoilDiagram(:587)alexanderPolynomial+alexander_unknot/alexander_trefoil/alexander_figureEight(Knots/Conway.lean)Knots/ReidemeisterInvariance.leanest le domicile dédié ; l'énoncé naïf y est réfuté (reidemeister3Connected_alexanderSigned_invariance_refuted) et l'invariance n'est établie que sous une condition que le cadrage c652 n'énonçait pasbracket_trefoil_ne_bracket_unknot(Knots/Jones.lean:269)conway_not_smoothly_sliceKnots/Slice.lean:82) ; corpsexact sorry(référence Piccirillo 2018)unknotting_11n102Knots/Lidman.lean:100) ; corpsexact sorry(référence Lidman)Knots/MathlibPrerequisites.leanexiste (théorèmes-marqueurs,is_marker: true)Évolution depuis la rédaction de ce body
verifyMoves_sound(Knots/ReidemeisterCombinatorial.lean:235), le seul site desorryà route bornée du lake, est prouvé (#19107, mergée le 2026-10-04) : le compte desorryréels passe de 9 à 8. La phase qui le porte n'apparaît pas dans ce body, le fait est donc consigné ici pour que le relevé soit complet.Livraisons mergées non inscrites (relevé
scripts/epic_body_staleness.py)Cinq PRs mergées citent cet EPIC sans que le corps les inscrive. Relues une par une :
def sInf+ invariance partielle) ; c'est la provenance defigureEightPlanar_crossingNumber_provisionalfigureEightDiagramsur le code planar KnotAtlasMutationetConwayPDhors du monolitheConway(#18397) — c'est cette extraction qui explique l'écart de la tableknot_lean/README.md§sorries relevé ci-dessusLean-17csur la baseline CISortie retenue
Le body est corrigé, l'EPIC n'est pas replié. Restent réellement ouverts : les tangles, la notation de Conway, la construction par mutation (partielle), l'invariance (à reformuler), et les trois entrées permanentes ou partielles de la Phase 5.
Non vérifié
sorrypar déclaration n'a pas été re-mesurée ici : elle vit dansknot_lean/README.md§sorries, dont la table attribue encore 4sorryàKnots/Conway.leanalors que la mesure les situe dansKnots/Slice.lean(extraction lean(knot,#2874): refondre Conway.lean en sous-fichiers progressifs avec commentaires de digestion #18397) — la table du README est en retard d'un cran sur ce point.Summary
Scaffolding Lean 4 pour la théorie des nœuds, avec invariants de difficulté croissante, sorry stratégiques commentés (références Mathlib), notebook pédagogique Python (visualisations + preuve Piccirillo/Lidman), et notebook compagnon Python pour le calcul effectif des invariants via SageMath/SnapPy/pyknotid.
Pattern identique aux projets existants (
social_choice_lean/,conway_cgt_lean/,cooperative_games_lean/,conway_lean/, Grothendieck 13/13b) : dépendance externe + scaffolding + sorry=0 progressif.Motivation
Ressources externes identifiées
Formalisation Lean
lean4)conway_cgt_lean/Bases de données et calcul (Python — pas de Mathematica nécessaire)
Conclusion outillage : SageMath + SnapPy + pyknotid couvrent tout ce que Mathematica + KnotTheory
font, en open source,pip install`. Pas besoin de licence Mathematica.Références papier
Phases
Phase 1 — Scaffolding + notebook pédagogique (PR #2875, MERGÉE le 2026-06-13)
Code créé et mergé (#2875, 2026-06-13).
MyIA.AI.Notebooks/GameTheory/knot_lean/aveclakefile.leanKnots/Basic.lean: définitions (Knot, Link), PD-code, nœuds nommésKnots/Reidemeister.lean: 3 mouvements de Reidemeister (sorry avec référence)Knots/Invariant.lean: 3-colorabilité, nombre de croisements, nombre de dénouageKnots/Conway.lean: nœud de Conway (11n34), Kinoshita-Terasaka (11n42), mutationKnots/Lidman.lean: 11n102, unknotting number = 2 (sorry avec référence Heegaard-Floer)Knots/MathlibPrerequisites.lean: index des prérequis Mathlib manquantsLean-17-Knots-a-Conway-and-Proofs.ipynb: visualisations Python + contexte (renommé depuisLean-14d-…, mini-arc dédié slot 17)Phase 1b — Notebook compagnon Python : calcul des invariants (PR #2878, MERGÉE le 2026-06-13)
Notebook Python dédié (
Lean-17-Knots-b-Invariants-Companion.ipynb) qui reproduit et vérifie tous les invariants listés sur Knot Atlas pour nos nœuds d'intérêt, en utilisant uniquement des outils Python open source. Code créé, pas encore mergé (#2878 OPEN).Contenu prévu :
Outils (pip install, pas de Mathematica) :
Link.alexander_polynomial()Link.jones_polynomial()Manifold.volume()Knot.identify()Phase 2 — Prouver les invariants élémentaires
trefoil_tricolorable,Knots/Invariant.lean:1274, prouvé)tricolorable_invariant,Knots/Invariant.lean:3515, induction surReidemeisterEquiv)trefoil_crossing_number,Knots/Invariant.lean:2195)figureEight; seulfigureEight_not_tricolorable(:2176) existeKnots/Invariant.lean— 1 restant,Knot.unknottingNumber(:2247), Phase 4+, bloqué sur une infrastructure documentée au sitePhase 3 — Tangles et Conway notation
shua/leanknotTangle.lean)Phase 4 — Polynômes de nœuds (Jones, Alexander)
Phase 5 — Perspectives de formalisation avancée (sorry permanents)
conway_not_smoothly_slice: prérequis = invariant s de Rasmussen, Khovanov homology, trace companion — très loin de Mathlibunknotting_11n102: prérequis = Montesinos trick, Heegaard Floer d-invariants, Ni-Wu formula — très loin de MathlibCritères de complétion
Phase 1 (PR #2875, mergée)
lake buildSUCCESS surknot_lean/(CIlean-knot.ymlsurmain: success le 2026-09-01T14:55Z,657ce776)Lean-17-Knots-aexécutable (Python visualisations)Phase 1b (PR #2878, mergée)
requirements.txtavec dépendances (snappy,numpy,matplotlib)Connexions CoursIA
conway_cgt_lean/: déjà importevihdzp/combinatorial-games— même patternsocial_choice_lean/: modèle de scaffolding avec sorry résolus progressivementVoir aussi
Epic ouverte par po-2025, mandat user 2026-06-12. Phase 1 = PR #2875, Phase 1b = PR #2878 (compagnon Python invariants) — les deux mergées le 2026-06-13.