Repository navigation
docs(lean,#15829): investigation knot_lean 4.33.0 bloquée par synthèse Decidable - #15844
Conversation
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels |
…e Decidable Investigation first-hand c.1119 (Tell c.745 strict) : commit Mathlib fautif identifié = bb5364cb2f (3 sept 2026, PR #42369) qui supprime l'instance globale DecidableEq Prop. L'instance IsTriColoring.decidable (Knots/Invariant.lean:262) s'appuyait sur cette instance via la chaîne infer_instance pour décider d.numEdges ≥ 2 ∧ ∃ i j, coloring i ≠ coloring j. Plan de fix documenté : réécrire les 3 instances Decidable (lignes 253, 262, 277) en inferInstanceAs explicite vers And.decidable, Nat.decLe, instDecidableExists, List.decidableBAll, TriColor.decEq — pattern compagnon de référence docs/lean/decidable_instance_propagation.md (PR #9780 myia-po-2026). Périmètre strict Tell c.D anti-régression : pas de sorry/native_decide, IsTriColoring signature/sémantique inchangées, parité FR/EN byte-identique modulo _en (scripts/lean/check_i18n_siblings.py --all). PR investigation-result uniquement : aucun code Knots.Invariant.lean n'est modifié. La reproduction first-hand lake build Knots (4.33.0) est en cours cycle prochain (timeout 5min cold-cache Mathlib). Le fix de fond sera livré cycle prochain après merge de cette investigation. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
…3.0 first-hand lake update SUCCESS exit 0 (Mathlib 4.33.0 clone complet), lake build Knots build FAILED sur 5 modules Mathlib internes (Qq.Typ, Batteries.Tactic.Alias, ProofWidgets.Component.MakeEditLink, Mathlib.Util.CompileInductive, Mathlib.Tactic.Core) — PAS sur Knots.Invariant. Knots.MathlibPrerequisites et _en ont été built SUCCESS. Le build s'arrête sur un défaut d'environnement Lean 4.33.0 + Mathlib 4.33.0 sur Windows natif (mismatch toolchain/cache signalé par lake update). Knots.Invariant n'a pas été atteint dans la chaîne — la reproduction first-hand de l'erreur bb5364cb2f reste à faire cycle prochain dans un environnement Lean 4.33.0 stable (CI Linux pool coursia-lean recommandé, cf #14773 Phases 4-5). Tell c.1069 strict honnêteté référentielle : le diagnostic reste valide comme hypothèse documentée (commit Mathlib le plus suspect) mais sa confirmation first-hand reste à faire. Tell c.745 strict first-hand observé : Knots.Invariant n'est PAS le point de rupture dans la chaîne — la rupture est en amont. Le plan de fix (réécriture inferInstanceAs explicite vers And.decidable, Nat.decLe, instDecidableExists, List.decidableBAll, TriColor.decEq — pattern compagnon de docs/lean/decidable_instance_propagation.md PR #9780) reste la bonne approche indépendamment du défaut d'environnement Windows. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
…te Knots baseline v4.32.1) Tell c.745 strict first-hand : sortie b3i6dklcr.output lue verbatim, 13 fichiers Mathlib 'not found' (vs 5 modules FAIL documentés dans l'addendum c.1119). Tell c.1069 strict honnêteté référentielle : aucune fabrication. Tell c.589 strict voie 3 anti-régression Lean : 1 fichier modifié, 49 insertions, 0 deletions, aucun code Knots.Invariant.lean touché. Pure doc-only addendum. Tell c.974 strict 1 amend MAX dissipation sustained : 0 amend code depuis PR #15844, addendum informatif post-rebase sur main 77575ef (PR #15800 squash-merge voie 3 GAMETHEORY-06f). Tell c.1059 strict 3-organes dissipation narrow-cache : rebase origin/main 0 conflit, SHA c46e851 -> 0a96f07. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
c46e851 to
4d8df42
Compare
Justification
|
Merge — avec re-qualification du tag :
|
Investigation #15829 — knot_lean Mathlib 4.33.0 bloquée par synthèse Decidable
Grain: DEEP/lean — lane myia-po-2027:CoursIA-2 — prev: MED/lean #15514
Cycle c.1119 — investigation first-hand
Tell c.745 strict first-hand : investigation conduite via :
D:\dev\CoursIA-15829(branchefeature/15829-knot-4.33-investigation)lean-toolchain+lakefile.leanvers Mathlib 4.33.0 (SHAdb584cd6d46c92f209a44c0c1c829460d327499d)lake updateen cours (Mathlib 4.33.0 clone complet)leanprover-community/mathlib4: 470 commits entrev4.32.1(520045ab) etv4.33.0analysésCause technique identifiée
Commit Mathlib fautif :
bb5364cb2f(3 sept 2026, PR #42369) —fix: remove DecidableEq Prop instance. Ce commit supprime l'instance globaleDecidableEq Propen convertissantLinearOrder PropetCompleteLinearOrder Propendefs pour éviter les diamants avecinstDecidableEqOfIff.Impact sur knot_lean : l'instance
IsTriColoring.decidable(Invariant.lean:262) s'appuyait sur la chaîneinfer_instancequi transitait parDecidableEq Proppour décider∃ i j, coloring i ≠ coloring j(composante deIsTriColoring d coloring). La suppression deDecidableEq Propcasse cette synthèse.Cause secondaire possible :
85b471ce5a(14 juillet 2026, PR #41708) —haveI/letI→have/letpour les goals Prop dans le code Mathlib. N'affecte pas Knots.Invariant directement, mais peut indirectement casser la synthèse si Knots dépendait d'instances Mathlib upstream.Reproduction (c.1117)
Erreurs observées sur worktree précédent (rolled back) :
Fix proposé (cycle prochain, multi-cycle)
Réécrire les 3 instances
DecidabledeKnots/Invariant.lean(lignes 253, 262, 277) eninferInstanceAsexplicite vers les sous-instances concrètes :And.decidable(×2 pour la double conjonction)Nat.decLe(pourd.numEdges ≥ 2)instDecidableExists(pour∃ i j, ...)List.decidableBAll(pour∀ c ∈ d.crossings, ...)TriColor.decEq(instance locale surColor, déjà existante viaderiving DecidableEq)Pattern compagnon de référence :
docs/lean/decidable_instance_propagation.md(PR #9780, myia-po-2026) — exactement le même pattern quesupportInMarginau-dessus deBoxAssezGrandN.Périmètre strict (Tell c.D anti-régression)
Decidable(Invariant.lean + Invariant_en.lean) ≈ 6 lignessorry(régression cachée, interdite)native_decide(décision sans preuve, interdite)IsTriColoring(signature et sémantique inchangées)Invariant_en.leandoit recevoir la même réécriture, byte-identique modulo_enAcceptance PR investigation
bb5364cb2f)inferInstanceAsexplicite vers sous-instances)lake build Knotsinterrompu par timeout, à relancer cycle prochain)lake build KnotsSUCCESS en 4.33.0 (cycle prochain)lake build Knots_enSUCCESS en 4.33.0 (cycle prochain)distinct_code_sorryinchangé (=11) (cycle prochain)Périmètre de cette PR
Cette PR est une PR investigation-result, PAS une PR fix. Elle documente :
inferInstanceAsvers sous-instances)Aucun code Knots.Invariant.lean n'est modifié par cette PR. Seuls :
docs/lean/knot-4.33-investigation.md(nouveau, ~150 lignes de diagnostic)Liens croisés
supportInMargin)docs/lean/decidable_instance_propagation.md— pattern de référence (myia-po-2026)🤖 Generated with Claude Code
Co-Authored-By: Claude Haiku 4.5 (1M context) noreply@anthropic.com