Repository navigation
Conversation
…xite) Trois modules documentaient une absence de Mathlib que leur propre pin contredit, mesure a la source et non rapporte : - Riemann200/Memoire1859.lean : « aucun RiemannZeta dans l'arbre » et « l'equation fonctionnelle reste hors Mathlib ». Faux au pin db584cd6 : def riemannZeta (l.121), differentiableAt_riemannZeta (l.139), riemannZeta_one_sub (l.178), def RiemannHypothesis (l.185), et Mathlib.NumberTheory.LSeries.ZetaZeros (riemannZetaZeros l.35, ferme l.59, discret l.62, intersection finie avec tout compact l.66). - Riemann200/LiminfForme.lean : meme phrase fausse ; la partie vraie est conservee et separee -- le theoreme A d'Alpoge-Furman n'est pas dans Mathlib, qui n'enonce la RH que comme Prop. - ANALYSE/kls_lean/KLS/Defs.lean : « aucun lemme de convexite du carre au pin ». Faux au pin 520045ab14 : Even.convexOn_pow (Mathlib.Analysis.Convex.Mul:161) et convexOn_univ_norm (Mathlib.Analysis.Normed.Module.Convex:53). Diff commentaire-seul, prouve mecaniquement : le code prive de ses commentaires est byte-identique avant/apres sur les trois fichiers. Compte sorry inchange (count_code_sorry.py --json) : riemann200_lean code_sorry=0 distinct=0 ; kls_lean code_sorry=0 distinct=0. See #24634 (famille voisine, instance distincte). Part of #20403. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Avertissements consultatifsTrivial-diff advisory (#15740, non bloquant). 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 G-VAR-2 light cap reached (advisory, non bloquant). Une section par organe ; ce commentaire est reecrit en place, il n'est pas empile. |
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
Grain: MED/docs — lane myia-po-2027:CoursIA — prev: MED/docs #24642
Contexte
Trois modules Lean documentaient une absence de Mathlib que leur propre pin contredit. Le fait est mesuré dans l'arbre du pin, pas rapporté : chaque ligne citée ci-dessous a été lue à sa source.
Ces trois groundings avaient été relevés le 2026-10-07 puis consignés au registre de la lane (« à corriger par PR après merge #24477 »). C'est cette PR.
Mesures (à chaque lac, sur son propre pin)
Riemann200/Memoire1859.leanL19-20RiemannZetadans l'arbre »db584cd6d4:def riemannZeta := hurwitzZetaEven 0(NumberTheory/LSeries/RiemannZeta.lean:121)differentiableAt_riemannZeta(l.139),riemannZeta_one_sub(l.178),riemannZeta_neg_two_mul_nat_add_one(l.173),def RiemannHypothesis(l.185), etNumberTheory/LSeries/ZetaZeros.lean(riemannZetaZerosl.35, fermé l.59, discret l.62, intersection finie avec tout compact l.66)Riemann200/LiminfForme.leanL21-23PropANALYSE/kls_lean/KLS/Defs.leanL72-73520045ab14:Even.convexOn_pow(Mathlib.Analysis.Convex.Mul:161) etconvexOn_univ_norm(Mathlib.Analysis.Normed.Module.Convex:53)Le pin
520045ab14a été identifié par son message de commit (chore: bump toolchain to v4.32.1) — la prose ne certifie donc pas un tag, seulement le SHA que lelake-manifest.jsondu lake déclare.Méthode :
grep -ndans.lake/packages/mathlibpourriemann200_lean(mathlib vendorié au pin du lac) ; lecture du fichier au SHA exact via raw GitHub pourkls_lean, dont le.lake/packages/est vide sur cette machine.Diff commentaire-seul — prouvé mécaniquement
Le diff ne touche aucune ligne de code, de type ou de preuve. Preuve : comparaison, fichier par fichier, du code privé de ses commentaires (
/- … -/et--) entreHEADet l'arbre de travail.Compte
sorryréel — inchangépython scripts/lean/count_code_sorry.py --json(champdistinct_code_sorry), avant → après, par lac :code_sorrydistinct_code_sorryLean/Riemann200/riemann200_leanLean/ANALYSE/kls_lean(
naive_sorrykls = 3, prose seulement, inchangé — c'est le sur-comptage que l'instrument canonique écarte.)Build — ce qui est prouvé, et ce qui ne l'est pas
riemann200_leanest dans la matrice CI (.github/workflows/lean-ci-matrix.yml, chemins L175-178 et L395-398) : ce diff déclenche la jambe du lac, et leLake buildde cette jambe est la preuve.kls_leann'est pas couvert par la matrice Lean (aucune entréekls_leandans.github/workflows/). Je ne prétends pas unlake buildlocal : le.lake/packages/de ce lac est vide sur cette machine, donc il n'y a pas de Mathlib à compiler contre. La preuve apportée pour ce fichier est celle qui est disponible et suffisante ici : diff commentaire-seul (ci-dessus) — une ligne de commentaire ne participe pas à l'élaboration.Si un reviewer exige un build pour
kls_lean, le geste estlake exe cache get && lake buildsur une lane qui a le lac provisionné ; je le ferai sur demande plutôt que de l'annoncer sans l'avoir fait.Portée
See #24634— même famille (documentation Lean qui ment sur ce que le pin contient), instance distincte : Docs(lean): les pins Mathlib documentes contredisent les lakefiles (3 lakes mesures, cohorte GameTheory a mesurer) #24634 porte des numéros de version faux, ceci des capacités fausses. Pas dePart of, pour ne pas gonfler le périmètre de cette issue.Part of #20403(EPIC du lakeriemann200_lean).docsconsécutif après Fix(docs,#24634): README galois_lean et conway_lean alignes sur leurs lakefiles #24642, sous l'exception variation-protocol G-VAR-3 : le ban absolu des genres LIGHT et l'exception MED/DEEP-distinct se recouvrent sur guard/test/docs/readme/ledger #14357 — second grain MED, et aucun fichier partagé avec Fix(docs,#24634): README galois_lean et conway_lean alignes sur leurs lakefiles #24642 (comm -12vide sur les trois chemins).🤖 Generated with Claude Code