Repository navigation
Conversation
…an sur le canonique FR (8 HARD -> 0) Le lac `asymmetric_information_lean` portait 8 findings HARD de l'organe de fidelite des jetons i18n. Les 8 ont ete relus FIRSTHAND : ce sont de divergences de contenu reelles, reparties dans les deux sens. (1) Le canonicien FR ne portait pas l'index des modules du lac, que le miroir EN, lui, portait (« Modules: » + 5 descriptions). L'ecart portait 4 nombres vus comme « extras EN » (1970, 1973, 1976, 4). L'index est desormais dans le canonique FR, traduit, et le miroir EN le conserve tel quel : rien n'est supprime, les deux cotes portent le meme contenu. (2) `Screening_en.lean` perdait le paragraphe FR sur le domaine lineaire de `omega` (« les 2 types », « division par 2 ») : le docstring EN est desormais la traduction fidele du docstring FR. (3) `Screening_en.lean` avait fusionne deux lignes de commentaire FR en une seule : le span `simpa [globalExpectedProfit, expectedProfit] using` se retrouvait coupe en fin de ligne, ce qui cassait l'apparimage par rang ET produisait des spans parasites (« and », « transformation unfolds both sides of »). Les 6 lignes EN reproduisent maintenant les 6 lignes FR une a une, le span intact. (4) `Screening_en.lean` avait supprime le commentaire de 2 lignes sur l'instance `hNash` (borne superieure de Nash sur la deviation profitable) : il est restitue, traduit. Les 2 commentaires FR non apparies de la lake sont donc apparies. (5) `BayesianLink_en.lean` ecrivait « first-tranche » la ou le FR porte « 1ere tranche » : le miroir porte desormais « 1st tranche ». (6) `Screening.lean` (canonique FR) ne precisait pas le facteur d'encodage que le miroir EN portait (« x100 ») : le canonicique le precise desormais. Mesures sur le lac (6 paires, 128 paires de commentaires) : - organe de `main` : 8 -> 0 HARD, 71 -> 50 ADVISORY ; - organe compose (#24584 + #24591) : 8 -> 0 HARD, 71 -> 50 ADVISORY ; - meme verdict avec les quatre variantes d'organe (main, #24584, #24591, compose) : le resultat est INDEPENDANT de l'organe. Preuves : - `python scripts/lean/check_i18n_siblings.py ...` -> 6/6 paires byte-identiques | 0 drift | 0 orphan | 0 unbuilt : le CODE n'est pas touche, la construction et le resultat de build sont ceux de `main` par construction. - `python scripts/lean/count_code_sorry.py --json` -> lake `asymmetric_information_lean` : `distinct_code_sorry` = 0 avant, 0 apres ; depot : 12. - `lake build SUCCESS` / `Proof integrity SUCCESS` : inchanges par construction (code byte-identique, 6/6 paires) ; les runs CI de cette PR en sont la preuve. Perimetre : 4 fichiers, 32 insertions / 10 suppressions, commentaires uniquement. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Contributor
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
This was referenced Nov 4, 2026
Open
Contributor
Path-collision (organ #13359/#13615)Cette PR #24594 (
|
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Grain: DEEP/notebook-lean — lane myia-po-2024:CoursIA-2 — prev: DEEP/notebook-lean #24593
Ce que cette PR corrige
Le lac
asymmetric_information_leanportait 8 findings HARD de l'organe de fidelite des jetons i18n (scripts/lean/check_i18n_token_fidelity.py). Les 8 ont ete relus FIRSTHAND : ce sont des divergences de contenu reelles, et non des artefacts d'appariement. Elles se repartissent dans les deux sens — un miroir EN plus riche que son canonique, et un miroir EN plus pauvre.1. Le canonique FR ne portait pas l'index des modules du lac
Le miroir EN
AsymmetricInformation_en.leanportait une section « Modules: » listant les 5 modules du lac avec une description chacun ; le canonique FR ne l'avait pas. L'ecart se lisait comme 4 nombres « extras EN » (1970,1973,1976,4).Alignement choisi : l'index est ajoute au canonique FR, traduit, et le miroir EN le conserve tel quel. Rien n'est supprime — les deux cotes portent desormais le meme contenu. C'est le seul endroit ou cette PR touche un fichier FR canonique, et la raison en est la : supprimer la section du miroir aurait detruit un contenu utile sans contrepartie.
2.
Screening_en.lean— un paragraphe du canonique FR avait disparuLe docstring FR de
globalExpectedProfitexplique que la somme (sur les 2 types) reste dans le domaine lineaire deomega, et qu'une variante moyennee (divisionIntpar 2) en sortrait. Le miroir EN n'en gardait qu'une phrase : « sum (not average) ». Le docstring EN est desormais la traduction fidele du docstring FR.3.
Screening_en.lean— deux lignes de commentaire FR fusionnees en uneLe commentaire FR sur la contradiction de Nash compte 6 lignes ; le miroir EN en comptait 5, la troisieme ayant fusionne « contradiction
0 < ... ≤ ... ≤ -1. » et « Thesimpa [...] using... ».Deux consequences, toutes deux mesurees :
`simpa [globalExpectedProfit, expectedProfit] using`se retrouve coupe en fin de ligne par le retour a la ligne, ce qui produit des spans parasites (and,transformation unfolds both sides of,hPosOff).Les 6 lignes EN reproduisent desormais les 6 lignes FR une a une, span intact.
4.
Screening_en.lean— un commentaire de 2 lignes avait ete supprimeLe canonique FR porte, avant
have hle := hNash c hMemC c' hNotMem, un commentaire de 2 lignes sur la borne superieure de Nash sur la deviation profitable. Le miroir EN ne l'avait pas : il etait signale comme commentaire FR non apparie. Il est desormais restitue, traduit.Apres ce geste, la lake ne porte plus aucun commentaire non apparie (2 -> 0).
5.
BayesianLink_en.lean— un nombre ecrit en mots d'un coteLe canonique FR ecrit « simplification 1ere tranche » ; le miroir EN ecrivait « first-tranche ». Le miroir porte desormais « simplification of the 1st tranche ».
6.
Screening.lean(canonique FR) — le facteur d'encodage n'etait precise que dans le miroirLe miroir EN ecrivait « premium in cents (x100) to stay integer » ; le canonique FR ecrivait seulement « prime en centimes ». Le canonique porte desormais « prime en centimes (x100) » — la precision que le code porte (
c.premium * 100).Mesures
Sur le lac (
check_i18n_token_fidelity.py, 6 paires) :Le verdict est independant de l'organe : les quatre variantes donnent le meme chiffre apres (0 HARD / 50 ADVISORY) — l'organe de
main, celui de #24584, celui de #24591, et le compose #24584 + #24591. Les mesures « avant » sont faites avec le meme organe que les mesures « apres » (les deux lignes « avant » : 8 / 71, quel que soit l'organe).Preuves
python scripts/lean/check_i18n_siblings.py MyIA.AI.Notebooks/GameTheory/asymmetric_information_lean→ 6/6 paires byte-identiques | 0 consumer-pattern | 0 drift | 0 orphan | 0 unbuilt — le code n'est pas touche : la construction et le resultat de build sont ceux demainpar construction.python scripts/lean/count_code_sorry.py --json→ lakeasymmetric_information_lean:distinct_code_sorry= 0 avant, 0 apres ; depot : 12.lake build SUCCESS/Proof integrity SUCCESS: inchanges par construction (code byte-identique, 6/6 paires) ; les runs CI de cette PR en sont la preuve.Perimetre
Screening.leanetAsymmetricInformation.leansont les deux fichiers FR canoniques touches, pour les points 1 et 6 ci-dessus).Compression_lean), Fix(lean,#24143): Folk_en.lean -- commentaire EN re-cadre aux zeros du canonique FR #24526 (RepeatedGames), Fix(lean,#24143): Containment_en.lean -- en-tete EN fidele au canonique FR #24566 (Komlos), Fix(lean,#24143): i18n token-fidelity ReidemeisterAny_en — 11 HARD -> 0 #24567 (KNOTS/ReidemeisterAny), Fix(lean,#24143): check_i18n_token_fidelity - les blocs fence cassaient l appariement des backticks #24584, Fix(lean,#24143): les miroirs EN de la famille SocialChoice sont fideles au canonique FR (35 HARD -> 0) #24585, Fix(lean,#24143): reconnaitre la declaration de jumeau « EN sibling of X » (check_i18n_token_fidelity) #24591, Fix(lean,#24143): les miroirs EN de social_choice_lean_peters sont fideles au canonique FR (10 HARD -> 0) #24593 — ce lac n'est pas touché.See #24143
🤖 Generated with Claude Code