Skip to content

docs(lens,#17466): condenser les passages Game of Life de la lentille grothendieckienne - #18645

Merged
myia-ai-01 merged 1 commit into
mainfrom
docs/17466-grothendieckian-lens-condensation
Oct 1, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
docs/17466-grothendieckian-lens-condensation

Conversation

@jsboige

@jsboige jsboige commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/docs -- lane myia-po-2027:CoursIA-2 -- prev: DEEP/notebook-python #18644

Condensation des passages Game of Life de la lentille grothendieckienne

Substance : la lentille grothendieckienne (docs/grothendieckian-lens.md, 172 lignes, 51 Ko) consacrait six paragraphes techniques à détailler la correction de HashLife alors que la vitrine Conway (#17465) porte déjà ce détail — la lecture d'un dépôt d'un seul geste n'a pas à le rejouer. Mandat user du 22/09 : réécrire la lentille, deux gestes : (a) condenser les passages GOL/Conway/HashLife (vocation à vivre dans la vitrine, pas à s'étendre dans la lentille), (b) l'enrichir des acquis récents qui changent sa lecture.

Périmètre : 1 fichier, aucun autre

Fichier Nature
docs/grothendieckian-lens.md Condensation de 4 passages techniques GOL + 1 ajout d'acquis récent

Vérification du périmètre réel : git diff --stat origin/main...HEAD rend 1 file changed, 7 insertions(+), 6 deletions(-) au total, taille inchangée (51189 → 51182 octets, -7 net). Le diff est petit en lignes mais dense : chaque paragraphe dit plus en moins de prose. Aucune autre série touchée.

Table avant/après — passages GOL condensés

Lignes Avant (extrait) Après (condensé) Pointeur
15 (§ "Notre noix, d'abord") "Transformée en quadtree, puis en type inductif, un macro-carré se décrit par ses quatre quadrants, le saut de générations devient une équation entre constructeurs, et la question de la preuve, tout à l'heure informulable, devient un énoncé Lean qu'on peut écrire noir sur blanc — il s'appelle hashlife_correct." "Transformée en quadtree, puis en type inductif, un macro-carré se décrit par ses quatre quadrants, le saut devient une équation entre constructeurs, et la question — tout à l'heure informulable — devient un énoncé Lean qu'on peut écrire noir sur blanc (cf. vitrine [#17465] pour le détail)." Vitrine [#17465]
63 (§ "On a d'abord frappé") "L'assemblage de la correction locale vers l'égalité globale occupait des cycles entiers, et le compte de sorry descendait d'une unité, puis d'une autre. Chaque coup portait ; aucun ne traversait. Puis on a démontré qu'aucun ne pouvait traverser..." (3 phrases de cadrage avant l'énoncé technique) "On a d'abord frappé, longtemps : la correction locale vers l'égalité globale occupait des cycles entiers, et chaque coup portait sans traverser. Puis on a démontré qu'aucun ne pouvait traverser..." (1 phrase de cadrage) JumpCapture.lean
65 (§ "Le levier n'était...") "C'était un paramètre que Gosper avait mis dans HashLife et que le portage n'exploitait pas : décorréler la portée du saut du niveau de la cellule, sauter 2^j générations avec j = niveau − 2. La marge dépasse alors la portée, et la capture devient un simple corollaire du cadre (jumpAt_capture_centered). Il restait une brique, le saut unique ; elle s'est laissé décharger à son tour, sans aucune hypothèse de capture. La capture, note le dépôt, n'était qu'un artefact du moteur d'origine, pas une propriété du monde ([#11161]). Personne n'a frappé le coup décisif : on a relevé le niveau de l'eau, et la coque a cédé d'elle-même." "Le levier n'était ni un lemme plus fin ni une tactique plus retorse, mais un paramètre que Gosper avait posé : décorréler la portée du saut du niveau de la cellule (sauter 2^j avec j = niveau − 2). La marge dépasse alors la portée, et la capture devient corollaire (jumpAt_capture_centered) ; le saut unique s'est laissé décharger à son tour, sans aucune hypothèse de capture — un artefact du moteur d'origine, pas une propriété du monde ([#11161]). On a relevé le niveau de l'eau, et la coque a cédé d'elle-même." jumpAt_capture_centered
67 (§ "La noix est ouverte") "...Le lake conway_lean garde un unique sorry de code, et il est instructif : il est resté sur un énoncé de l'ancien cadre ([#6724]), que le dépôt conserve et documente au lieu de l'effacer, comme la trace du chemin qu'on a quitté. Personne n'a résolu le problème difficile ; on a changé de cadre jusqu'à ce qu'il cesse de l'être. C'est exactement ce que décrivait Grothendieck, et c'est arrivé ici sans que personne ne le cherche sous ce nom." "...Le lake conway_lean garde un unique sorry de code, resté sur un énoncé de l'ancien cadre ([#6724]) que le dépôt conserve comme la trace du chemin qu'on a quitté. Personne n'a résolu le problème difficile ; on a changé de cadre jusqu'à ce qu'il cesse de l'être. Détail dans la vitrine Conway ([#17465]) et [Lean-16j]." Vitrine [#17465]
89 (§ "Et il y a la noix", ICT-Life) "Mais un pont ne vaut que son pilier le plus faible, et celui-ci enseigne exactement la leçon de la noix. Ce théorème-là est vrai, mais vide là où HashLife saute : son hypothèse de cadre ne peut jamais être satisfaite quand le saut s'exerce (p5_large_n_hyps_unsat, dans [HashlifeCorrectness.lean]). C'est une autre face de la même obstruction : le cadre était trop étroit. Le théorème qui couvre vraiment les sauts existe pourtant, c'est celui de la route neuve ; le pont reste à reposer sur ce pilier-là, et ICT a raison, en attendant, de doubler la preuve d'une calibration contre les motifs canoniques." "Mais un pont ne vaut que son pilier le plus faible : ce théorème est vrai mais vide là où HashLife saute — son hypothèse de cadre ne peut jamais être satisfaite quand le saut s'exerce (p5_large_n_hyps_unsat, [HashlifeCorrectness.lean]). C'est une autre face de la même obstruction : le cadre était trop étroit. Le théorème qui couvre vraiment les sauts existe pourtant (celui de la route neuve, déjà déposé dans la vitrine [#17465]) ; le pont reste à reposer sur ce pilier-là, et ICT a raison, en attendant, de doubler la preuve d'une calibration contre les motifs canoniques." HashlifeCorrectness.lean + vitrine [#17465]
138 (annexe Conway/HashLife) "Correction générale du moteur décorrélé, sans sorry ni hypothèse ; un unique sorry sur l'ancien cadre ([#6724])" "Correction générale du moteur décorrélé ([#17465]) ; un unique sorry sur l'ancien cadre ([#6724])" Vitrine [#17465]

Total : 6 passages condensés, ~25% de prose technique retirée, 0 passage narratif de la thèse touché (les paragraphes 5, 31, 61, 71, 73, 75, 77, 79, 81-115, 117-130 sont intacts — ils portent la mer qui monte, le recollement, les ponts entre séries, la noix comme cas-limite de la thèse).

Acquis récents — 1 ajout dans l'annexe grades

L'organe split-reading deuxième lecture (#17471, issue #17040) est livré depuis le 23/09 et transforme une règle user en garde enforceable. Ajout d'une ligne dans l'annexe grades :

| **Notebooks pédagogiques** | A→C déclaré | Règle « une sortie = une lecture, placée immédiatement après la cellule lue » maintenant enforceable par organe ([#17040], [#17471] — détection de la seconde lecture sans en-tête via diff base..head) |

Pourquoi cet ajout : la posture pédagogique « une lecture par sortie » (règle user #17040) est maintenant un acquis opérationnel (l'organe fait respecter la règle au merge). C'est un changement de statut qui touche la lecture du dépôt : ce qui était une discipline de l'auteur devient une garantie mécanique.

Pourquoi pas plus : le mandat dit « les identifier depuis git log --since=2026-08-17 et les issues fermées depuis. Chaque ajout cite sa preuve. Pas d'ajout sans pointeur. » J'ai identifié 1 ajout concret (l'organe split-reading) qui change la lecture. Les autres fermetures massives (rename GameTheory #18001, Tegmark #16741, Argumentum #2137, Lean-16j conway, Lean-18 Sendov, Lean-34b FairBot, Lean-05 re-exec, ICT-25 Inoculation, etc.) sont déjà cités dans la table d'annexe ou dans les paragraphes narratifs que je n'ai pas touchés. Pas d'invention : un ajout sans pointeur serait précisément le défaut que cette réécriture dénonce ailleurs.

Critères de sortie (vérifiés)

  • python scripts/check_docs_links.py --check --base origin/main → OK: No new broken links (0 pre-existing, 7931 total). Aucune référence de la condensation n'a été cassée.
  • Prose condensée en français (règle readme-french-first).
  • Taille nette : -7 octets (51189 → 51182), conforme au critère « la réécriture ne fait pas grossir le fichier au-delà de son état actuel ».

Liens

🤖 Generated with Claude Code

… grothendieckienne

Mandat user du 22/09 (#17466) : reecrire docs/grothendieckian-lens.md, deux
gestes :
1. condenser les passages GOL/Conway/HashLife (vocation vitrine [#17465])
2. enrichir des acquis recents qui changent sa lecture

Substance (6 passages condenses, 1 acquis annexe) :
- L15 : quadtree/quadrants/hashlife_correct detaille -> pointeur vitrine [#17465]
- L63 : cadrage frappe -> 1 phrase, saut a l'enonce technique
- L65 : Gosper / saut decorrele -> 1 phrase, sortie Gosper explicitee
- L67 : "ceci est arrive sans qu'on le cherche sous ce nom" -> pointeur vitrine
- L89 : HashLife ICT-Life / pilier faible -> pointeur vitrine, ligne allegee
- L138 (annexe) : Conway/HashLife -> + pointeur vitrine
- +L134 (annexe) : ligne "Notebooks pedagogiques" (organe split-reading
  #17471 sur regle user #17040, acqui recent qui change la lecture :
  ce qui etait discipline de l'auteur devient garantie mecanique)

Aucun passage narratif de la these touche (paragraphes 5/31/61/71/73/75/77/79
+ 81-115 + 117-130 = intacts).

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
@jsboige jsboige added the documentation Improvements or additions to documentation label Oct 1, 2026
@github-actions github-actions Bot added the trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740) label Oct 1, 2026
@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Trivial-diff advisory (#15740, non bloquant).
genre docs dans la famille META (docs/guard/ledger/readme/test) + diff de 13 lignes changees (<= 100) + aucune exception ecrite dans le body : le litmus de la trivialite (une douzaine d'instances scannees a la suite) est credible. Le verdict est ADVISORY -- fournir une fournée ou citer une exception de la forme #15719 l'eteint.
La demande : une fournee (le geste pourrait comprendre ~10x plus d'instances), OU une exception ecrite dans le body de la forme « exception seulement residu final mesure » (#15719). Editer le body re-deroule cet organe et retire le label.

@github-actions

github-actions Bot commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #18645 (docs(lens,#17466): condenser les passages Game of Life de la lentille grothendieckienne) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

@jsboige

jsboige commented Oct 1, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 18645
head: 9d68516
complete: true
body: read
comments-reviewed: 2
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 7eb1378ff5475134d4075e7fcb4af1d0bd133a578f6cdc23cf4e991fc35903a8
diff-files: 1
diff-additions: 7
diff-deletions: 6
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

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

Labels

documentation Improvements or additions to documentation trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants