Skip to content

lean(#13106): digestion de la borne quantique CHSH de Tsirelson #15700

Description

@jsboige

Contexte

Le pilote quantique de l’Epic #13106 dispose déjà de deux tranches classiques formelles :

La suite ne doit pas redériver artificiellement la borne de Tsirelson. Au pin Mathlib v4.32.1 du lake conway_lean, Mathlib.Algebra.Star.CHSH.tsirelson_inequality prouve déjà, pour un IsCHSHTuple dans une algèbre étoilée ordonnée réelle, la borne

A₀ * B₀ + A₀ * B₁ + A₁ * B₀ - A₁ * B₁ ≤ √2 ^ 3 • 1.

Le grain attendu est une digestion formelle et pédagogique de ce résultat : relier proprement le vocabulaire CoursIA aux hypothèses exactes de Mathlib, exposer la forme usuelle 2√2, et rendre explicite ce qui est prouvé, importé ou encore ouvert.

Périmètre exact

Créer :

  • MyIA.AI.Notebooks/SymbolicAI/Lean/conway_lean/Conway/CHSHQuantum.lean
  • MyIA.AI.Notebooks/SymbolicAI/Lean/conway_lean/Conway/CHSHQuantum_en.lean
  • MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-13b-CHSH-Tsirelson-Native.ipynb

Le lakefile.lean compile déjà les sous-modules Conway.* par glob : ne le modifier que si une mesure contradictoire le démontre. Ne pas modifier Lean-13-Kochen-Specker.ipynb, Conway/CHSH.lean, les catalogues générés ni les marqueurs CATALOG-STATUS.

Résultats attendus

1. Pont formel CoursIA → Mathlib

  1. Importer explicitement Conway.CHSH, Conway.CHSHRandomized et Mathlib.Algebra.Star.CHSH.
  2. Définir un nom pédagogique pour l’opérateur CHSH non commutatif sans dupliquer la structure IsCHSHTuple de Mathlib.
  3. Fournir un théorème CoursIA qui applique tsirelson_inequality sous ses hypothèses exactes.
  4. Établir formellement la réécriture scalaire √2 ^ 3 = 2 * √2, puis exposer la borne sous la forme usuelle 2√2 • 1.
  5. Prouver le gap numérique strict 2 < 2 * √2, afin de rendre la séparation classique/quantique inspectable sans fabriquer un témoin matriciel absent.

Un simple alias ou un simpa using tsirelson_inequality sans carte d’hypothèses, réécriture 2√2, gap classique/quantique et transmission notebook est insuffisant : ce serait un wrapper jouet.

2. Digestion selon la grille #13106

Les docstrings et le notebook doivent distinguer explicitement :

  • prouvé localement : la frontière classique déterministe/randomisée et les lemmes de raccord ;
  • importé avec preuve noyau : le théorème algébrique de Mathlib ;
  • non établi dans cette tranche : saturation de 2√2, construction matricielle/Pauli, interprétation probabiliste complète d’un état quantique et borne bilatérale en norme d’opérateur.

Inclure : provenance CHSH 1969 et Tsirelson 1980, dépendances/axiomes nommés, difficulté réelle de la preuve SOS Mathlib, distinction chemin de découverte/reconstruction finale, limites, et raccord à Lean-13 Kochen–Specker ainsi qu’à Lean-16f Free-Will.

3. Notebook Lean natif

Le notebook Lean-13b utilise le kernel lean4-wsl et exécute réellement les énoncés du nouveau module. Il comporte :

  • navigation vers Lean-13 et la suite de série actuelle ;
  • un tableau comparatif classique déterministe / classique randomisé / quantique ;
  • au moins un exemple guidé compilé ;
  • au moins deux exercices Lean bornés, stubbés sans erreur volontaire ;
  • outputs réels, execution_count cohérents, aucune sortie hand-éditée.

Feasibility gate — avant d’écrire le notebook

Le worker commence par un petit fichier Lean jetable hors dépôt ou une branche propre et vérifie au pin v4.32.1 :

  1. la signature exacte de Mathlib.Algebra.Star.CHSH.tsirelson_inequality ;
  2. la preuve de √2 ^ 3 = 2 * √2 ;
  3. la preuve de 2 < 2 * √2 ;
  4. la compilation d’un théorème de pont générique sans sorry.

Si l’un de ces quatre points échoue après diagnostic et trois adaptations tactiques, ne pas remplacer le résultat par un exemple scalaire trivial. Poster l’erreur exacte et proposer un split mathématiquement significatif sur cette issue.

Validation

  • lake build Conway.CHSHQuantum Conway.CHSHQuantum_en puis lake build Conway ;
  • python scripts/lean/count_code_sorry.py --json : distinct_code_sorry inchangé ;
  • aucun sorry, admit ou native_decide dans les modules créés ;
  • inspection des axiomes des théorèmes publics ;
  • python scripts/lean/check_i18n_siblings.py sur la paire : aucune dérive de preuve ;
  • exécution complète de Lean-13b avec lean4-wsl, outputs réels, puis validateurs notebook applicables ;
  • git diff --check et scope atomique ;
  • body de PR : niveau de garantie, preuves d’exécution, limites, et See #13106 (ne pas fermer l’Epic).

Revue humaine

La revue humaine nommée exigée par #13106 reste à faire par le mainteneur ou ai-01 après livraison. Un build vert ne vaut pas canonicalisation achevée.

See #13106

Activity

  1. added
    leanLean 4 formalization (proofs, ports, theorem mining)
    on Sep 12, 2026
  2. jsboige commented on Sep 12, 2026

    @jsboige
    OwnerAuthor

    Grain: MED/lean — lane myia-po-2027:CoursIA-2 — prev: DEEP/qc #15554

    [CLAIMED] lane myia-po-2027:CoursIA-2 -- paths: MyIA.AI.Notebooks/SymbolicAI/Lean/conway_lean/Conway/CHSHQuantum.lean, MyIA.AI.Notebooks/SymbolicAI/Lean/conway_lean/Conway/CHSHQuantum_en.lean, MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-13b-CHSH-Tsirelson-Native.ipynb -- digestion bornée de la borne quantique CHSH : pont explicite vers Mathlib v4.32.1, forme 2√2, gap classique/quantique et notebook Lean natif exécuté.

  3. jsboige commented on Sep 12, 2026

    @jsboige
    OwnerAuthor

    Grain: MED/lean — lane myia-po-2027:CoursIA-2 — prev: DEEP/qc #15554

    [CLAIMED-AMEND] lane myia-po-2027:CoursIA-2 -- paths: MyIA.AI.Notebooks/SymbolicAI/Lean/conway_lean/Conway/CHSH*.lean, MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-13*.ipynb -- verrou matchable pour le grain #15700 ; périmètre d’édition exact inchangé et limité aux trois fichiers neufs nommés dans le body (CHSHQuantum.lean, sibling _en, Lean-13b-CHSH-Tsirelson-Native.ipynb). Cet amend remplace le scope initial entièrement mort signalé par SCOPE_ZERO_COVERAGE.

  4. jsboige commented on Sep 12, 2026

    @jsboige
    OwnerAuthor

    [RELEASED] lane myia-po-2027:CoursIA-2 -- remplacement immédiat du claim initial à scope entièrement mort (SCOPE_ZERO_COVERAGE) par un verrou matchable ; aucun abandon du grain.

    Grain: MED/lean — lane myia-po-2027:CoursIA-2 — prev: DEEP/qc #15554

    [CLAIMED] lane myia-po-2027:CoursIA-2 -- paths: MyIA.AI.Notebooks/SymbolicAI/Lean/conway_lean/Conway/CHSH*.lean, MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-13*.ipynb -- verrou matchable du grain #15700. Le périmètre d’édition exact reste limité aux trois fichiers neufs nommés dans le body : CHSHQuantum.lean, sibling _en, Lean-13b-CHSH-Tsirelson-Native.ipynb.

  5. jsboige commented on Sep 14, 2026

    @jsboige
    OwnerAuthor

    Grain: DEEP/lean — lane myia-po-2027:CoursIA — prev: DEEP/lean #16047

    [CLAIMED] lane myia-po-2027:CoursIA -- paths: MyIA.AI.Notebooks/SymbolicAI/Lean/conway_lean/Conway/CHSH*.lean, MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-13*.ipynb -- reprise du grain #15700 (digestion formelle de la borne CHSH de Tsirelson).

    Pourquoi une reprise, et non un doublon. Le claim pose par myia-po-2027:CoursIA-2 le 2026-09-12T03:14:05Z est perime. Mesure de l'organe, pas estimation :

    $ python scripts/check_lane_claim.py --lane myia-po-2027:CoursIA 15700
    STALE_CLAIM myia-po-2027:CoursIA-2 (58.7h >= 48h threshold) -- reprise autorisee, poster un nouveau [CLAIMED].
    blocking_lanes: []
    

    Aucun produit en 58.7 h : ses trois globs de scope ne matchent rien sur le disque (WARN: glob sans correspondance x3 sur CHSHQuantum.lean, CHSHQuantum_en.lean, Lean-13b-CHSH-Tsirelson-Native.ipynb) et le champ pr_ref de son claim est null. La sœur a donc ouvert un verrou matchable sans jamais ouvrir de fichier.

    Garde de collision (L898, avant d'ecrire). Aucune PR ouverte ne couvre ce perimetre :

    Sonde Resultat
    gh pr list --state open --search CHSHQuantum 0
    gh pr list --state open --search Lean-13b 0
    fichiers CHSH* / Lean-13* dans les PRs ouvertes 0
    PR ouverte la plus proche sur conway_lean #16102, sur Conway/Life/HashlifeMarginFragment.lean (scope #13483, lane po-2024) — hors de ce perimetre

    Perimetre d'edition : inchange, et limite aux trois fichiers neufs nommes dans le body — Conway/CHSHQuantum.lean, son sibling _en, et Lean-13b-CHSH-Tsirelson-Native.ipynb.

    Premier geste : le feasibility gate a 4 points exige par le body (signature exacte de Mathlib.Algebra.Star.CHSH.tsirelson_inequality au pin v4.32.1, √2 ^ 3 = 2 * √2, 2 < 2 * √2, compilation d'un theoreme de pont sans sorry), dans un fichier jetable hors depot. Si l'un des quatre echoue apres diagnostic et trois adaptations tactiques, je poste l'erreur exacte et propose un split — je ne substitue pas un exemple scalaire trivial.

  6. jsboige commented on Sep 14, 2026

    @jsboige
    OwnerAuthor

    Grain: DEEP/lean — lane myia-po-2027:CoursIA — prev: DEEP/lean #16047

    [DELIVERED] lane myia-po-2027:CoursIA -- PR #16167 (tranche 3, partielle)

    Livré : les deux modules Lean du périmètre — Conway/CHSHQuantum.lean et son sibling _en (2 fichiers, +319/−0). Le feasibility gate à 4 points exigé par le body a été passé avant toute rédaction, dans un fichier jetable hors dépôt, au pin v4.32.1.

    Preuve Résultat
    lake build Conway.CHSHQuantum Conway.CHSHQuantum_en OK (1.1 s chacun)
    lake build Conway RC=0
    distinct_code_sorry (conway_lean) 1 → 1
    distinct_code_sorry (total dépôt) 14 → 14
    code_sorry (conway_lean) 2 → 2
    #print axioms, 4 théorèmes FR et EN [propext, Classical.choice, Quot.sound] — sorryAx absent
    Périmètre exactement 2 fichiers, +319/−0

    Ce que le module contient : chshOperator (nom pédagogique, sans dupliquer IsCHSHTuple), sqrt_two_cubed ((√2)^3 = 2 * √2), classical_quantum_gap (2 < 2 * √2), le transport des deux bornes classiques dans ℝ (ce qui rend les imports de Conway.CHSH et Conway.CHSHRandomized porteurs), et tsirelson_bound sous forme usuelle 2√2 • 1 avec les hypothèses exactes de Mathlib reproduites sans élargissement.

    Honnêteté de la mesure : le premier passage du gate a échoué (Unknown identifier sq_sqrt — l'identifiant au pin est Real.sq_sqrt) et son #print axioms affichait sorryAx : l'échec d'élaboration contaminait la mesure, qui aurait pu passer pour un théorème « prouvé mais dépendant de sorry ». Corrigé, puis remesuré propre.

    Fichiers NON touchés, et pourquoi : lakefile.lean (le glob de lean_lib «Conway» compile déjà le module — aucune mesure contradictoire, donc pas de modification) ; Conway.lean / Conway_en.lean (leur liste d'imports est un sous-ensemble curé — 27 imports pour 41 modules — qui omet déjà Conway.CHSHRandomized, la dépendance directe de ce module ; y ajouter CHSHQuantum seul aurait été incohérent) ; Conway/CHSH.lean, Lean-13-Kochen-Specker.ipynb, catalogues générés et marqueurs CATALOG-STATUS (exigé par le body).

    Résiduel nommé — le troisième fichier du périmètre, le notebook natif Lean-13b-CHSH-Tsirelson-Native.ipynb (navigation, tableau comparatif classique déterministe / classique randomisé / quantique, au moins un exemple guidé compilé, au moins deux exercices Lean bornés stubbés sans erreur volontaire, outputs réels sous le kernel lean4-wsl) n'est pas livré. La PR référence donc See #15700, jamais Closes : le critère de résolution complet n'est pas atteint, et je ne présente pas les deux modules comme l'ayant été.

    Reprise de claim : le claim de myia-po-2027:CoursIA-2 (2026-09-12T03:14:05Z) était périmé à 58.7 h sans aucun produit — check_lane_claim.py rendait STALE_CLAIM … reprise autorisee, blocking_lanes: [], pr_ref: null, ses trois globs de scope ne matchant rien. Reprise posée sous myia-po-2027:CoursIA (issuecomment-5665124615) après garde L898 (0 PR ouverte sur CHSH* / Lean-13*). Aucune réserve de lane à lever.

  7. added a commit that references this issue on Sep 14, 2026
  8. jsboige commented on Sep 14, 2026

    @jsboige
    OwnerAuthor

    [INFO] Périmètre #15700 : 3/3 fichiers livrés. Le notebook arrive dans PR #16177, empilée sur #16167.

    Fichier PR État
    conway_lean/Conway/CHSHQuantum.lean #16167 open, mergeable=true, blocked (review + DWELL)
    conway_lean/Conway/CHSHQuantum_en.lean #16167 idem (sibling i18n)
    Lean-13b-CHSH-Tsirelson-Native.ipynb #16177 open, base = branche de #16167

    L'empilement n'est pas un choix esthétique : le notebook importe Conway.CHSHQuantum, qui n'existe pas sur main (git ls-tree origin/main conway_lean/Conway/ ne rend que CHSH*). La dépendance est donc encodée dans la métadonnée de la PR. Après le squash de #16167 → gh pr edit --base main ; la branche parente n'est jamais supprimée.

    Preuves du notebook : validate_pr_notebooks.py origin/main → 1/1 passed (8 cellules, lean4-wsl-conway) · wsl_papermill --mode native → OK: 8/8, 0 errors · 0 occurrence de "severity": "error" (mesure directe) · execution_count 1..8 sans null · provenance 3/3 SHA-256 identiques entre worktree et lake WSL au pin v4.32.1.

    Je ne ferme pas cette issue. La livraison des 3 fichiers est faite, mais #15700 demande aussi la revue humaine nommée par #13106 — pas du ressort d'une lane. See #13106.

    Deux défauts d'organe découverts en la livrant, hors périmètre, signalés en #16176 :

    1. wsl_papermill.py:431-433 est aveugle aux erreurs Lean — il ne compte que output_type == "error" (niveau Jupyter), jamais "severity": "error" du display_data. Mesuré par contrôle négatif exprès : une sonde qui rend Unknown identifier Nat sur un kernel retombé sur le lake-stub est rapportée OK: 3/3 cells executed, 0 errors. Le chiffre cité comme preuve d'exécution (H.1) sur tout notebook Lean natif ne porte pas ce qu'il annonce.
    2. check_lean4_wsl_repl.py meurt en traceback (subprocess.TimeoutExpired non attrapé sur sa sonde /tmp inconditionnelle, l.163) exactement sur l'état qu'il sait nommer (REPL_LAKE_ONLY) — inutilisable là où il servirait le plus.

    Note de kernel, pour la série : SymbolicAI/Lean/ n'est pas un lake, donc lean4-wsl lancé de là retombe sur le stub et répond muet (imports REPL paresseux → {"env": 0} sans message, cf #11874). Le notebook déclare pour cette raison lean4-wsl-conway (wsl.exe --cd vers le lake), et le documente dans sa cellule d'environnement — sinon un lecteur faisant « Run All » obtiendrait un notebook plein d'Unknown identifier comptés « 0 errors ». Les 7 autres *-Native.ipynb déclarent lean4-wsl alors que leurs sorties committées sont authentiques (0 severity: error dans les 7, vérifié) : la série mériterait une forme de kernelspec par lake, ou un find_lake_root partant du répertoire du notebook.

    — lane myia-po-2027:CoursIA

  9. added a commit that references this issue on Sep 14, 2026
  10. added a commit that references this issue on Sep 14, 2026
  11. added a commit that references this issue on Sep 14, 2026
  12. jsboige commented on Sep 17, 2026

    @jsboige
    OwnerAuthor

    [INFO] candidate-delivered — #15700 : vérification firsthand 2026-09-17T05:30Z (lane myia-po-2024:CoursIA, tirage du cycle qui a resservi ce grain), le périmètre 3/3 est sur main :

    Fichier PR Commit
    conway_lean/Conway/CHSHQuantum.lean #16167 MERGED dffa54f
    conway_lean/Conway/CHSHQuantum_en.lean #16167 MERGED dffa54f
    Lean-13b-CHSH-Tsirelson-Native.ipynb #16177 MERGED 50e8365

    Preuves : git log origin/main --oneline sur les trois paths (worktree frais 5215cbd) ; [DELIVERED] lane myia-po-2027:CoursIA -- PR #16167 (tranche 3, partielle) du 2026-09-14T14:15Z + [INFO] 3/3 fichiers livrés du 09-14T15:10Z déjà postés par la lane livrante. Le label candidate-delivered n'est pas posé (le picker ressert ce grain à chaque cycle) — pose de label/fermeture au coordinateur (G.9). Aucune réimplémentation, aucun fichier édité.

  13. added a commit that references this issue on Sep 17, 2026
  14. jsboige commented on Sep 18, 2026

    @jsboige
    OwnerAuthor

    [INFO] candidate-delivered — census po-2024 (sweep #16589), vérification firsthand 2026-09-18

    Le périmètre du body exigeait trois fichiers. Les trois sont sur origin/main :

    1. Conway/CHSHQuantum.lean + Conway/CHSHQuantum_en.lean — PR feat(lean,#15700): CHSHQuantum -- carte d'hypotheses de la borne de Tsirelson #16167 (MERGED 2026-09-14T17:26Z) : pont formel sous hypothèses exactes de Mathlib, sqrt_two_cubed, classical_quantum_gap, bornes classiques transportées dans ℝ, 0 sorry, axiomes inspectés (pas de sorryAx, FR et EN).
    2. Lean-13b-CHSH-Tsirelson-Native.ipynb — PR feat(lean,#15700): Lean-13b — le notebook natif de la borne de Tsirelson (tranche 3, empilée sur #16167) #16177 (commit 50e8365747, « tranche 3, empilée sur feat(lean,#15700): CHSHQuantum -- carte d'hypotheses de la borne de Tsirelson #16167 ») : vérifié sur main à l'instant — Exercices 1/2/3 présents, 0 execution_count: null (outputs réels sous kernel lean4-wsl).

    #16167 s'arrêtait volontairement avant le notebook (See, pas Closes) ; #16177 a livré la tranche manquante. Acceptance du body couverte (feasibility gate passé, digestion prouvé/importé/ouvert, notebook natif ≥2 exercices stubbés sans erreur volontaire). La revue humaine nommée (#13106) reste un geste mainteneur, pas un grain de lane. Lecture G.9 et fermeture restent au coordinateur.

  15. jsboige commented on Sep 21, 2026

    @jsboige
    OwnerAuthor

    [INFO] candidate-delivered — lane myia-po-2024:CoursIA, mesure firsthand au 2026-09-21T17:50Z.

    Les trois artefacts du perimetre exact de cette issue existent sur main, et les deux PR de livraison sont MERGED :

    Artefact demande par l'issue Etat mesure
    MyIA.AI.Notebooks/SymbolicAI/Lean/conway_lean/Conway/CHSHQuantum.lean PRESENT sur main
    MyIA.AI.Notebooks/SymbolicAI/Lean/conway_lean/Conway/CHSHQuantum_en.lean PRESENT sur main (jumeau i18n)
    MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-13b-CHSH-Tsirelson-Native.ipynb PRESENT sur main

    PRs trouvees par recherche sur ce numero : #16167 MERGED (« CHSHQuantum -- carte d'hypotheses de la borne de Tsirelson ») et #16177 MERGED (« Lean-13b — le notebook natif de la borne de Tsirelson »).

    Ce que je n'ai pas verifie et que je ne claime donc pas : la conformite du contenu livre aux six points de l'acceptance (cartes d'hypotheses, reecriture 2√2, gap 2 < 2√2, digestion selon la grille #13106, exercices stubbes du notebook), ni le resultat de lake build / count_code_sorry sur le pin courant. Ces verifications sont la lecture de fermeture.

    Un worker ne ferme pas d'issue : je poste la preuve et rends la main. La fermeture est un geste coordinateur — G.9 exige de confronter le verdict au body complet, pas au seul label.

  16. jsboige commented on Sep 25, 2026

    @jsboige
    OwnerAuthor

    [INFO candidate-delivered] myia-po-2023:CoursIA-2 c.847

    PR #16167 (MERGED 2026-09-14T17:26:59Z par myia-po-2027:CoursIA) a livre la digestion de la borne Tsirelson 2*sqrt(2) via + (sibling-pair EPIC #4980). Le body detaille :

    • chshOperator : nom pedagogique non duplique avec IsCHSHTuple Mathlib
    • sqrt_two_cubed : pont (sqrt 2)^3 = 2*sqrt 2
    • classical_quantum_gap : separation classique/quantique rendue inspectable
    • classiques bound (deterministe + randomise) bornes 2

    Build first-hand : lake build OK sur main a c.847 (HEAD main porte les deux fichiers). Issue #15700 reste OPEN par oubli de Closes #15700 -- la fermeture reste signee coordinateur/adjoint (#15069). Je rends la main.

    Grain precedent : REPAIR/MED/notebook-python c.846.

  17. myia-ai-01 commented on Oct 4, 2026

    @myia-ai-01
    Collaborator

    Cloture coordinateur ai-01 : chaque critere du body a ete confronte a main, le marqueur candidate-delivered tient. Preuve : #16167 et #16177 mergees ; Conway/CHSHQuantum.lean, son jumeau _en et Lean-13b-CHSH-Tsirelson-Native.ipynb sont sur main, sans sorry, carnet execute. La revue humaine demandee par l'epic reste portee par #13106, ouverte.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    leanLean 4 formalization (proofs, ports, theorem mining)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions