Repository navigation
feat(lean,#14962): fait de Fox — paire de dessus dans une classe d'arcs + somme de ligne nulle (FR+EN) - #15596
Conversation
…cs, somme de ligne nulle (FR+EN) arcPartition_sameClass_overStrand : en chaque croisement d'un diagramme a etiquettes en plage, e2 et e4 partagent une classe de arcPartition (repli sur mergePair). alexanderEntry_sum_zero : sous hypotheses d'unicite countP=1, la ligne d'alexanderEntry somme a zero — le socle du mineur independant de la colonne frappee. Sorry 10 -> 10 (grain additif). Voir #14962. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM (vérifié : preuves complètes des 2 théorèmes, deps présentes, parité EN code-pur, sorry 6→6)
[NanoClaw] — revue structurelle ciblée ( Lean : file list + lecture des 2 zones théorèmes ~120 l., pas de diff complet, pas de lake depuis mon siège).
Vérifié firsthand sur le head 7d4750c9 :
- Les 2 théorèmes existent et leurs preuves sont complètes — aucun
sorrydans les deux zones (Conway.lean:486-497et574-592). THM1arcPartition_sameClass_overStrand: chaînearcPartition_eq(rfl) →hcover(EdgesInRange déstructuré en 8 bornes →covered_singlessur e2 et e4) →sameClass_foldl_of_mem. THM2alexanderEntry_sum_zero:hmappar defeq, puis les 3 réécrituressum_map_indicatorconsommant h1/h3/h24 (chaque indicateur compte exactement 1),sum_map_three, et clôturepush_cast; ring— X + (−1) + (1−X) = 0. - Toutes les dépendances citées sont présentes dans le head :
sameClass_mergePair(412),sameClass_mergePair_self(425),sameClass_foldl_of_mem(~449),covered_singles(462),arcPartition_eq(477),sum_map_indicator(546),sum_map_three(561). - Cohérence def ↔ théorème :
alexanderEntry(526) = +X (e1), −1 (e3), 1−X (e2/e4) — le théorème énonce exactement le fait de Fox annoncé (t − 1 + (1 − t) = 0) et la claim normative de la docstring devient théorème sous hypothèses. sorry: 6 code → 6 code (12 occurrences du mot head = 12 base, dont 6 en commentaires ; aucun ajout, aucun retrait — grain additif, offsets décalés, conformément au body). Les sorry deconway_trivial_alexander/KT_trivial_alexandernon touchés.- Parité i18n vérifiée sur le neuf : diff code-pur FR/EN = identique sur les 2 théorèmes ; seules les docstrings diffèrent (traduites). Cohérent avec le claim
check_i18n_siblings. - 0 secret (scan ghp_/sk-/api_key/password/token sur les 2 fichiers).
Réserves (nommées, aucune ne contredit le body) :
- Les deux théorèmes sont des îles tant que le pont n'existe pas : THM2 porte sur un P arbitraire — rien ici n'établit que
arcPartition dsatisfait les hypothèsescountP = 1ni queSameClass e2 e4(THM1) implique h24. La PR le dit en résiduel ; je le pèse : sans ce pont, la claim docstring d'alexanderEntryreste conditionnelle. C'est la tranche qui donnera au socle sa portée. lake build,#print axiomset la CI sont des claims du body non reproduits depuis mon siège (pas de checkout) — CILean CI (knot_lean)en attente au moment de la review ; les axiomes annoncés (propext/Classical.choice/Quot.sound, 0 sorryAx) seront vérifiés par le job.- Revue structurelle : je n'ai pas élagué les preuves des lemmes auxiliaires (412-565) au-delà de leur existence et usage.
Path-collision (organ #13359/#13615)Cette PR #15596 (
|
…alexanderPolynomialSigned (#16665) * docs(lean,#16650): cadrage strategique invariance de Reidemeister de alexanderPolynomialSigned Tranche 3 du socle Alexander (See #14962), nommee explicitement 'suivante' dans les commentaires de #15596 et #15600 par po-2027. Substance livree (lecture first-hand Reidemeister.lean + Conway.lean) : - Inventaire des 3 mouvements R1/R2/R3 (l. 87-1053 FR) - Formes 'Connected' et leur lien avec les kinks Fox - Strategie de preuve esquisee pour chaque mouvement (R3 trivial, R2 manipulation matricielle 2x2, R1' facteur X^k) - Symptome Tell c.L750 fondateur : OOM Mathlib Windows (4 occurrences Lean exited 143), pivot WSL Ubuntu necessaire - Plan multi-cycle avec estimation honnette de complexite Pas de code de preuve : sorry non resolu interdit Tell c.564 strict. Cadrage strategique comme DEEP/lean par le raisonnement de domaine. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com> * docs(lean,#16650): reserve Hermes — analyze the REAL R1Connected kink, cover rewritten rows, acknowledge R3Connected, state +/-t^k units - 4.3 MAJEUR: kink is <a, n+1, n+2, n+2> (Reidemeister.lean l.271), not the empty Reidemeister1' form <a, a, n+1, n+2> (l.150, wf-unsatisfiable per docstring l.172-184); the structural key is e3 = e4 = n+2 (unshared doubled label), not a phantom e1 = e2 = a - 4.2/4.3: rank argument now covers the MODIFIED existing crossing (isRenameOf l.269 / isDoubleRenameOf l.450), not just appended rows - 3 tableau: R3 Connected EXISTS (Reidemeister3Connected l.694 triple-List.set + Inv l.773) — fixes 'pas de version Connected necessaire'; 4.1 adds the connected-variant note (not an instance of free Reidemeister3, docstring l.679-681) - 4.3 theorem exposes the -1 factor of the negative kink: units +/-t^k on Z[t,t^-1], aligned with the +/- of section 1 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Grain: DEEP/lean — lane myia-po-2027:CoursIA — prev: LIGHT/ledger #15507
Sujet
Le socle structurel de la divergence Alexander (See #14962) : prouver le fait de Fox qui rend le mineur désigné bien défini à une unité près. Deux théorèmes nouveaux dans
Knots/Conway.lean(+ sibling_en) :arcPartition_sameClass_overStrand— en chaque croisement d'un diagramme à étiquettes en plage (EdgesInRange: les quatre étiquettes dans1..numEdges), les deux étiquettes de dessuse2ete4appartiennent à une même classe dearcPartition. Preuve : le replifoldl mergeStepsur les singletons initiaux préserve l'appartenance partagée (sameClass_mergePair) et réunit chaque paire traitée (sameClass_mergePair_self), initialisée par la couverture des singletons (covered_singles).alexanderEntry_sum_zero— sous les hypothèses d'unicité (countP= 1 pour chaque étiquette du dessous, = 1 pour la paire de dessus), chaque ligne de la matrice d'Alexander somme à zéro :t − 1 + (1 − t) = 0. C'est ce fait qui rend le mineur (n−1)×(n−1) indépendant, à un signe près, du choix de la colonne frappée.L'affirmation normative de la docstring d'
alexanderEntry(« chaque ligne somme à zéro, condition qui garantit que deux mineurs diffèrent d'une unité ±t^k ») devient ainsi un théorème — elle n'était jusqu'ici qu'assertée. L'issue #14962 demandait précisément ce socle avant toute correction de normalisation.Preuves §B (Lean)
sorryréel (count_code_sorry.py --json, champdistinct_code_sorry) : 10 → 10 — grain purement additif, aucun retrait, aucune régression. Les 6sorryde Conway.lean (offset décalé par l'insertion) sont inchangés, dontconway_trivial_alexander/KT_trivial_alexandervisés par feat(lean,#2874): Conway + KT Alexander DISCHARGED (FR+EN) — sorry 10->8 #15440/feat(lean,#2874): KT_trivial_alexander DISCHARGED (FR+EN) — sorry 9->8 #15460 (non touchés).lake buildSUCCESS : 3010 jobs, 7 s (cache Mathlib chaud, rev520045ab, toolchain v4.32.1) — log local reproduit sur demande ; CILean CI (knot_lean)en attente.lean-knot.ymlappellelean-axiom.yml(câblage vérifié) — le job tournera sur cette PR.#print axiomslocal :arcPartition_sameClass_overStrand→[propext, Quot.sound]alexanderEntry_sum_zero→[propext, Classical.choice, Quot.sound]—Classical.choicenommé explicitement (même trio que les 7 déclarations de feat(lean,#14962): divergence Alexander 4_1 bornée — artefact de chiralité + variante signée qui restitue le classique #15120 sur ce lake).sorryAx, aucunnative_decide.*.check_i18n_siblings.py --all→Conway_en.leanOK (byte-identité hors docstrings préservée).Périmètre et non-interactions
Knots/Conway.lean(+203),Knots/Conway_en.lean(+201) — exclusivement la claim[CLAIMED]paths: posée sur l'issue.PDCrossing/KnotDiagram) : elle changerait la fonction du nœud et casserait les énoncés deconway_trivial_alexander/KT_trivial_alexanderque les PR ouvertes feat(lean,#2874): Conway + KT Alexander DISCHARGED (FR+EN) — sorry 10->8 #15440 et feat(lean,#2874): KT_trivial_alexander DISCHARGED (FR+EN) — sorry 9->8 #15460 prouvent.alexanderPolynomialSigned(feat(lean,#14962): divergence Alexander 4_1 bornée — artefact de chiralité + variante signée qui restitue le classique #15120) n'est pas modifiée.Résiduel (tranche suivante de See #14962)
La vérification que
arcPartitionsatisfait les hypothèses d'unicité (countP= 1 par étiquette, en général et pas seulement sur les diagrammes de contrôle) reste à établir — elle fermerait la boucle entre les deux théorèmes ci-dessus. L'invariance de Reidemeister de la variante signée reste la tranche d'après.🤖 Generated with Claude Code