Skip to content

feat(lean,#14962): fait de Fox — paire de dessus dans une classe d'arcs + somme de ligne nulle (FR+EN) - #15596

Merged
myia-ai-01 merged 1 commit into
mainfrom
feature/14962-alexander-arc-rowsum
Sep 11, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
feature/14962-alexander-arc-rowsum

Conversation

@jsboige

@jsboige jsboige commented Sep 11, 2026

Copy link
Copy Markdown
Owner

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) :

  1. arcPartition_sameClass_overStrand — en chaque croisement d'un diagramme à étiquettes en plage (EdgesInRange : les quatre étiquettes dans 1..numEdges), les deux étiquettes de dessus e2 et e4 appartiennent à une même classe de arcPartition. Preuve : le repli foldl mergeStep sur 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).

  2. 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)

Périmètre et non-interactions

Résiduel (tranche suivante de See #14962)

La vérification que arcPartition satisfait 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

…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>
@github-actions github-actions Bot added the lean-visibility-drift La PR ajoute des declarations lake non citees par AUCUN notebook (borne large) (#11703) label Sep 11, 2026

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 sorry dans les deux zones (Conway.lean:486-497 et 574-592). THM1 arcPartition_sameClass_overStrand : chaîne arcPartition_eq (rfl) → hcover (EdgesInRange déstructuré en 8 bornes → covered_singles sur e2 et e4) → sameClass_foldl_of_mem. THM2 alexanderEntry_sum_zero : hmap par defeq, puis les 3 réécritures sum_map_indicator consommant h1/h3/h24 (chaque indicateur compte exactement 1), sum_map_three, et clôture push_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 de conway_trivial_alexander/KT_trivial_alexander non 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) :

  1. 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 d satisfait les hypothèses countP = 1 ni que SameClass e2 e4 (THM1) implique h24. La PR le dit en résiduel ; je le pèse : sans ce pont, la claim docstring d'alexanderEntry reste conditionnelle. C'est la tranche qui donnera au socle sa portée.
  2. lake build, #print axioms et la CI sont des claims du body non reproduits depuis mon siège (pas de checkout) — CI Lean 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.
  3. Revue structurelle : je n'ai pas élagué les preuves des lemmes auxiliaires (412-565) au-delà de leur existence et usage.

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #15596 (feat(lean,#14962): fait de Fox — paire de dessus dans une classe d'arcs + somme de ligne nulle (FR+EN)) 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.

@myia-ai-01
myia-ai-01 merged commit cef16b8 into main Sep 11, 2026
21 of 23 checks passed
jsboige added a commit that referenced this pull request Sep 21, 2026
…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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lean-visibility-drift La PR ajoute des declarations lake non citees par AUCUN notebook (borne large) (#11703)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants