# Une coupure fixe et trois catégories de rubans ## Résultat exhaustif sur les 633 patchs Les arguments par intervalles couvrent 491 874 des 492 394 déductions encore hors du catalogue des règles à un ruban et à marques fixes. Le catalogue cumulé couvre donc 29 990 669 des 29 991 189 déductions, soit 99.998266 %. Il reste 520 états hors catalogue. Ces états conservent le certificat général et la borne de trois rubans par étape. | Règles | Déductions | | --- | --- | | Un ruban ou marques fixes : couverture antérieure | 29 498 795 | | Rubans traversants uniquement : ajout | 0 | | Rubans d'une même catégorie par rapport à une coupure fixe : ajout | 491 874 | | Hors catalogue après cette étape | 520 | 510 configurations ont toutes leurs déductions couvertes par le catalogue cumulé. Cela ne transforme pas leurs certificats en preuves intégralement vérifiées à la main : les conditions de rang restent calculées. Le pourcentage mesure les états éliminés après remplissage direct, cumulés sur les patchs, à permutation des couleurs près. Il ne mesure ni une proportion de pages de preuve, ni une proportion du théorème démontré. Le test précédent à deux rubans et la mesure de couverture des marques fixes sont des indicateurs distincts. ## La règle de la coupure fixe Pour un mot de bord w, on choisit une couleur d'arête θ et un intervalle cyclique I de positions actives. Une position active porte l'une des deux couleurs autres que θ. Les positions θ ne sont pas des extrémités de rubans et sont ignorées dans l'ordre cyclique utilisé ici. Dans tout appariement extérieur, chaque ruban appartient à une des trois catégories : traversant, s'il a une extrémité dans I et une hors de I ; intérieur, si ses deux extrémités sont dans I ; extérieur, si aucune n'est dans I. La condition est la suivante : pour chaque appariement extérieur, il existe une catégorie et un sous-ensemble non vide d'au plus trois rubans de cette catégorie dont l'inversion donne un mot de rang inférieur. θ et I sont fixés avant de connaître l'appariement. La catégorie et les rubans choisis peuvent ensuite dépendre de l'appariement. Les inversions d'une même étape appartiennent toutes à une même catégorie et au même appariement réel. ## Pourquoi cette règle suffit La connexion extérieure réelle est l'un des appariements compatibles. L'hypothèse lui fournit un sous-ensemble utile de rubans effectivement présents. On les inverse ensemble et on rejoint un état déjà résolu, puisque son rang est inférieur. L'argument est valable quelle que soit cette connexion réelle. La restriction à une seule catégorie est le contenu nouveau de la règle. Le moteur général peut mélanger les trois catégories ; la présente règle le lui interdit pour une même inversion. Elle permet au lecteur de raisonner par position relative à une coupure du bord. Cette formulation fournit un schéma commun, mais son hypothèse universelle reste vérifiée par énumération. Elle n'élimine pas, à elle seule, les 429 appariements possibles dans le plus grand cas. Contrairement à la réduction par marques fixes, aucun gain uniforme sur leur nombre n'est revendiqué ici. ## Un lemme qui élimine la piste des traversants seuls Une règle qui n'autorise que les rubans traversants ne peut ajouter aucun cas à la garantie générale à un ruban. Ce constat est ici justifié mathématiquement, au-delà du résultat nul de l'expérience. Si I contient un nombre pair de positions actives, son complément aussi. Il existe alors un appariement qui apparie séparément les positions de chaque côté, sans ruban traversant. Aucun échange non vide de traversants ne peut être garanti. Supposons maintenant les deux côtés impairs. Dans un appariement quelconque, il y a un nombre impair, donc non nul, de rubans traversants. Prenons celui dont l'extrémité dans I apparaît en premier dans l'ordre de I. L'absence de croisement impose que son autre extrémité soit la dernière extrémité traversante dans le complément. Les positions précédant cette première extrémité dans I sont appariées entre elles : un arc qui les relierait au-delà de l'extrémité couperait le ruban choisi. Elles sont donc en nombre pair. De même, les positions suivant la dernière extrémité traversante dans le complément sont en nombre pair. Puisque chaque côté a une taille impaire, les deux autres intervalles laissés par ces extrémités ont aussi une taille paire. On peut donc conserver ce ruban et apparier séparément chacun des quatre intervalles pairs, par paires consécutives. Cela produit un autre appariement où le ruban choisi est le seul traversant. Si une garantie par traversants seuls est valable pour tous les appariements, elle doit fonctionner dans ce dernier appariement. Son unique échange non vide est l'inversion de ce ruban seul ; il est donc utile. L'utilité dépend de ses extrémités et du mot de bord, pas du reste de l'appariement. Il est ainsi utile dans l'appariement initial. Tout appariement contient donc un ruban utile : la garantie à un ruban était déjà satisfaite. Le lemme vaut pour toute taille paire de l'ensemble actif, indépendamment du corpus. Un contrôle combinatoire complémentaire vérifie sa construction sur 4 081 cas à rotation près, jusqu'à 14 positions actives. ## Comment le test exhaustif est construit Les coupures cycliques sont générées à complément près, y compris les intervalles d'une seule position. Pour chaque coupure, on énumère les appariements non croisés et les sous-ensembles non vides d'au plus trois rubans appartenant à une même catégorie. Chaque sous-ensemble est codé par ses extrémités. Des appariements offrant exactement la même liste d'échanges candidats donnent la même contrainte et sont regroupés. Le programme cherche sur les trois couleurs θ et toutes les coupures ainsi générées. La première règle testée, traversants seuls, ne sert que de contrôle et n'ajoute aucun cas. La règle à catégorie unique est appliquée aux états laissés par les règles antérieures. Les comptes antérieurs sont conservés exactement. Les 520 échecs signifient qu'aucune couleur et aucune coupure de ce catalogue ne garantissent une baisse de rang par un échange d'au plus trois rubans d'une même catégorie. Ce n'est pas une impossibilité pour un autre ordre de preuve, une autre règle géométrique ou un parcours autorisant une hausse intermédiaire de rang. ## Contrôles et exemples Les calculs finis ont été reconstruits sur les 633 configurations. Tous les comptes précédents sont comparés, configuration par configuration : remplissage direct, résidu, contractions, dépendances, un ruban et marques fixes. Les nouvelles catégories partitionnent exactement les 492 394 états ciblés. Un vérificateur Python distinct reconstruit les cibles et contrôle 587 exemples sur 89 841 appariements, ainsi que 9 436 cibles inscrites. Il vérifie la continuité cyclique de l'intervalle, la catégorie commune des rubans choisis, leur nombre au plus trois et la baisse de rang. Les rangs proviennent du certificat C contrôlé ; le vérificateur d'exemples ne les reconstruit pas indépendamment. Dans l'atlas, l'intervalle orangé reste fixe pendant qu'on fait varier la connexion extérieure. Les rubans choisis sont verts ; le texte indique s'ils sont traversants, intérieurs ou extérieurs. Les cibles et les rangs sont affichés pour chaque connexion. Exécuter `python3 run_interval_rules.py` pour reconstruire les résultats. Le bilan complet est `interval_results.csv` ; les exemples contrôlés sont dans `interval_examples_verified.json`. Le programme `check_crossing_lemma.py` contrôle séparément la construction du lemme. ## Les 520 états restants sont explicitement extraits Ils se répartissent sur 123 configurations. Leurs mots de bord, rangs et trois choix de couleur sont enregistrés. Le programme a extrait tous les échanges utiles d'au plus trois rubans, codés par leurs extrémités ; certains ensembles d'extrémités ne sont utilisables que dans les appariements qui les réalisent effectivement comme union de rubans. Le vérificateur Python contrôle 397 939 cibles utiles et 71 173 échecs de coupures. Pour chaque couleur et chaque coupure, il fournit l'indice d'un appariement sans échange utile d'une même catégorie. Les indices, à partir de zéro, suivent l'ordre récursif documenté par la fonction `matchings` du vérificateur. Pour la couleur du certificat général, il vérifie au contraire que tout appariement dispose d'un échange utile d'au plus trois rubans lorsque les mélanges de catégories sont permis. Sur ces 520 états, sept disposent encore d'une garantie à deux rubans ; les 513 autres exigent trois dans l'ordre de preuve fixé. Ces sept états illustrent que le nombre minimal de rubans et l'appartenance au catalogue géométrique sont deux propriétés distinctes. La complétude de la liste des échanges utiles repose sur leur extraction exhaustive par le programme C ; le contrôle Python recalcule les cibles présentes et vérifie les couvertures et les échecs à partir de cette liste. Les rangs restent ceux du certificat C. La recherche suivante peut travailler directement sur ces 520 objets plutôt que reconstruire tous les millions d'états. ## Forme lisible ### Pourquoi la règle d'intervalle ne se rédige pas telle quelle La règle d'intervalle demande, pour chaque appariement complet, un échange d'au plus trois rubans d'une même catégorie. Ces rubans peuvent se trouver n'importe où sur le bord. Contrairement aux marques fixes, rien ne ramène les appariements à une courte liste de cas : écrite telle quelle, la règle exigerait d'énumérer jusqu'à 429 appariements. La coupure elle-même n'aide pas : les 303 règles d'intervalle des configurations de bord ≤ 11, retrouvées indépendamment par `experiments/interval_readable.py`, ont toutes une coupure réduite à une seule arête X (« le ruban de X seul, ou au plus trois rubans qui ne touchent pas X »), qui ne découpe rien. ### Ce qui se rédige : une règle à quatre marques Chaque déduction couverte par une règle d'intervalle admet, en revanche, une règle à marques fixes, avec quatre marques le plus souvent. Elle se rédige exactement comme les règles à deux ou trois marques (`4CT_marques_fixes.md`, section « Forme lisible ») : quelques conditions « si ces rubans existent, les échanger », puis la liste des façons dont les quatre marques peuvent être reliées à leurs partenaires, chacune contenant une condition. On ne réécrit donc pas la règle d'intervalle : on la remplace, pour chaque déduction, par une autre règle valide, lisible de la même façon que les précédentes. **Exemple** (`3.1324806`, mot `12123413234`, rang 773). θ = 2 (1↔3 et 2↔4) ; arêtes actives 1 à 6 et 8 à 11 ; marques : arêtes 1, 2, 8 et 10. - si 10–11 : échanger → `12123413232` (rang 0) ; - si 9–10 : échanger → `12123413214` (rang 101) ; - si 6–10 et 8–9 : échanger → `12123431214` (rang 121) ; - si 1–11 et 2–10 : échanger → `12134214343` (rang 0) ; - si 1–2 et 4–10 : échanger → `12131341212` (rang 0) ; - si 1–11, 2–3 et 4–10 : échanger → `12123213434` (rang 0). Les quatre marques peuvent être reliées de 33 façons sans croisement ; la liste complète figure dans `experiments/interval_readable_summary.json`, et chacune contient l'une des six conditions. ### Bilan `experiments/interval_readable.py` (environ 10 min) rejoue la chaîne des règles d'échange pour obtenir les rangs, retrouve des règles à au plus cinq marques et vérifie chaque rédaction : couverture de toutes les connexions, cible recalculée pour chaque condition, rang strictement inférieur. | Ensemble | Rédigées | Marques | Conditions (min / méd. / max) | Connexions (min / méd. / max) | | --- | ---: | --- | --- | --- | | Bords ≤ 11, exhaustif | 303 / 303 | 4 | 5 / 10 / 19 | 25 / 33 / 42 | | Bords 12 à 14, échantillon | 336 / 337 | 4 (324), 5 (12) | 5 / 11 / 36 | 25 / 71 / 297 | | 520 états hors catalogue | 379 / 520 | 4 (42), 5 (337) | 11 / 25 / 68 | 64 / 297 / 359 | L'échantillon compte 150 mots tirés au hasard (graine fixée) par taille de bord, parmi les déductions d'intervalle des 123 configurations qui contiennent aussi des états hors catalogue. Le bord 12 n'en compte que 37, tous pris. Ce n'est pas un parcours exhaustif des 491 874 déductions d'intervalle : à environ 0,08 s par mot mesuré sur l'échantillon, la recherche Python demanderait une dizaine d'heures (estimation). Ce que ces chiffres disent, honnêtement : - **sur les bords ≤ 11, la rédaction est complète et compacte** : 4 marques, une dizaine de conditions et au plus 42 connexions à vérifier ; - **sur les grands bords, la forme tient mais s'allonge** : le nombre de conditions reste modéré (11 en médiane), mais la liste des connexions des marques dépasse souvent 70 cas et atteint 297. C'est vérifiable à la main, mais ce n'est plus court ; - **les états hors catalogue sont les plus coûteux** : 141 des 520 n'ont aucune règle à au plus cinq marques. Parmi eux se trouve `128.25876`, qui en demande six, et six marques en alternance distinguent déjà les 429 appariements : on retombe sur le certificat général. Les 379 autres se rédigent, mais avec une médiane de 297 connexions. **Mise à jour :** les listes de connexions se regroupent en arbres de cas (`4CT_arbres_de_cas.md`) : 9 à 10 feuilles en médiane pour les déductions d'intervalle des bords 12 à 14, 24 pour les états hors catalogue, et un arbre pour chacun des 520 — `128.25876` compris. ## Prochaine étape Examiner les 520 états hors catalogue pour identifier les mélanges de catégories indispensables dans l'ordre fixé. Il faudra chercher une règle supplémentaire qui apporte une contrainte réelle, et éviter de simplement reformuler la garantie générale en autorisant tous les mélanges. Les conditions de rang, l'inévitabilité et l'admissibilité globale des contractions restent des obligations distinctes. ### Mise à jour : une règle à deux catégories ferme 519 des 520 états **Correctif :** une première version de ce test autorisait des coupures d'une seule position active. Or avec |I|=1, la catégorie « intérieur » est vide par construction (il faut deux positions dans I pour qu'un ruban ait ses deux extrémités dedans) : le test « extérieur + traversant » dégénère alors en « n'importe quel ruban », c'est-à-dire le certificat général déjà connu, pas une contrainte géométrique nouvelle. Ce test a été refait en imposant |I| ≥ 2. Avec cette condition, une coupure fixe autorisant un échange d'au plus trois rubans puisés dans l'union de **deux** catégories — exclusivement la paire **extérieur + traversant**, jamais intérieur — couvre **519 des 520 états**. Le catalogue combinatoire atteint 29 991 188 / 29 991 189 déductions (99,999997 %). **Un état résiste** : le patch 128.25876, mot 12323212343232. Sa coupure candidate la plus proche (deux positions consécutives, appariement θ=3) laisse un unique appariement extérieur non couvert — celui où les deux positions marquées se trouvent appariées *entre elles* — et il est démontré que *tout* échange utile pour cet appariement doit inclure ce ruban « intérieur » précis : aucune combinaison des 6 autres rubans (tous extérieurs) n'atteint un rang inférieur. Cet état restait donc couvert uniquement par le certificat général. **Mise à jour :** il a désormais un argument de cas lisible en 50 cas, vérifié sur les 429 appariements (`4CT_arbres_de_cas.md`, `dossiers/128.25876_12323212343232.md`). Voir `experiments/README.md` pour la preuve complète (pourquoi les 519 autres n'ont jamais besoin d'« intérieur », et pourquoi ce cas y échappe). Les sections suivantes conservent les résultats et les limites des étapes antérieures. --- # Des échanges aux règles : marquer deux ou trois extrémités ## Résultat du test sur les 633 configurations Les règles de cette étape couvrent 5 752 626 des 6 245 020 déductions laissées par les arguments à un ruban. En conservant les 23 746 169 cas déjà classés à un ruban, on obtient 29 498 795 déductions décrites par les schémas proposés, soit 98.3582 % des 29 991 189 déductions. Il reste 492 394 cas hors de ces schémas. Ils gardent leur certificat général et la borne locale de trois rubans. | Règle supplémentaire retenue | Déductions | | --- | --- | | Deux marques, inversion de tous leurs rubans | 300 661 | | Deux oreilles, inversion imposée | 0 | | Trois marques, inversion de tous leurs rubans | 35 787 | | Deux marques, choix parmi leurs rubans | 2 950 509 | | Trois marques, choix parmi leurs rubans | 2 465 669 | | Hors de ces nouvelles règles | 492 394 | Les catégories sont disjointes par priorité : deux marques imposées, deux oreilles, trois marques imposées, deux marques avec choix, trois marques avec choix. Le programme cherche sur les trois couleurs et retient la première catégorie applicable dans cette priorité. Les règles ne sont donc pas comparées par leur couverture totale prise séparément. En particulier, une catégorie à trois marques n'implique pas que le mot exige trois rubans au sens du test précédent. 46 patchs ont toutes leurs déductions couvertes par les règles à un ruban et celles de cette étape. Ce sont des couvertures de schémas dont les conditions sont calculées ; elles ne constituent pas des preuves intégralement vérifiées à la main. Le pourcentage précédent de 98,95 % répondait à une autre question : combien de déductions disposent d'une garantie à deux rubans, sans imposer de marques fixes ? Le pourcentage présent mesure la couverture de règles structurées, pouvant utiliser trois rubans. Les deux indicateurs ne doivent pas être confondus. ## L'idée : fixer les marques avant de connaître les connexions On choisit une couleur d'arête θ et deux ou trois positions actives du bord, les marques. Ces positions restent fixées pendant tout l'argument, indépendamment de la connexion extérieure réelle. Dans une connexion donnée, chaque marque appartient à un seul ruban. Deux marques peuvent appartenir au même ruban : on le compte une seule fois. Il y a donc au plus deux ou trois rubans concernés. Tous les autres rubans sont laissés de côté. La règle imposée inverse tous les rubans qui touchent au moins une marque. La règle avec choix inverse un sous-ensemble non vide de ces rubans. Avec deux rubans distincts, il y a trois choix ; avec trois, sept choix. Si les marques partagent des rubans, ce nombre diminue. ## Lemme des marques fixes Supposons qu'il existe θ et un ensemble A d'au plus k marques tels que, pour chaque appariement partiel possible des marques avec leurs partenaires, on puisse choisir parmi les rubans incidents à A un sous-ensemble non vide conduisant à un mot de rang inférieur. Alors tout appariement extérieur complet permet un échange utile d'au plus k rubans. Preuve. Tout appariement extérieur complet induit un des appariements partiels testés : on ne garde que les rubans qui touchent A. L'hypothèse fournit un sous-ensemble utile de ces rubans. Ceux-ci appartiennent tous au même appariement réel et peuvent être inversés ensemble. Leur nombre est au plus k. La cible a un rang inférieur. Le reste de l'appariement n'intervient pas dans le calcul du mot cible. Cela établit la garantie cherchée. L'ordre des choix est essentiel : θ et A dépendent du mot initial mais sont fixés avant l'appariement extérieur ; le choix des rubans inversés peut dépendre de l'appariement partiel observé. Autoriser A à changer pour chaque connexion reviendrait au test général et perdrait le contenu de la règle. ## Combien de connexions faut-il encore contrôler ? Pour au plus 14 positions actives, il existe jusqu'à 429 appariements parfaits non croisés. En ne retenant que les connexions de deux marques fixes, le catalogue calculé contient au plus 33 appariements partiels distincts. Avec trois marques, il en contient au plus 105. Ces nombres sont des maxima finis établis par génération exhaustive du catalogue pour 2, 4, 6, 8, 10, 12 et 14 positions. Les partenaires des marques sont les seules données conservées. Les prolongements différents d'une même connexion partielle sont regroupés, car ils produisent exactement les mêmes choix de modifications sur le bord. Cette réduction donne une consigne géométrique commune. Elle ne transforme pas automatiquement 105 vérifications de rang en une preuve courte. Les marques, les couleurs et les cibles restent choisies par le programme. La suite du travail doit expliquer les inégalités de rang ou regrouper encore les connexions partielles. ## La piste des deux oreilles Un appariement parfait non croisé sur un cercle, comportant au moins deux arcs, contient au moins deux arcs disjoints entre positions cycliquement consécutives. Pour le voir, choisissons un arc. S'il sépare deux régions contenant chacune des positions, un arc d'intervalle minimal dans chaque région est une oreille. Si un côté est vide, l'arc choisi est déjà une oreille et un arc d'intervalle minimal du côté non vide fournit la seconde. Il suffirait donc que toute paire de telles oreilles donne une cible de rang inférieur lorsqu'on les inverse ensemble. Le test n'apporte ici aucun cas supplémentaire après les deux marques imposées et avant les trois marques imposées. Cette absence de gain concerne cette règle précise et cette priorité ; elle n'exclut pas d'autres arguments utilisant les oreilles. ## Vérifications réalisées Les deux programmes reconstruisent les certificats finis sur les 633 patchs. Leurs comptes directs, résidus, frontières de contractions, profils à un ruban et nombres de contrôles de dépendance sont comparés aux résultats précédents. La partition des 6 245 020 états testés est vérifiée. Le second programme conserve exactement la classification des règles imposées du premier. Un vérificateur Python distinct contrôle 2 471 exemples, 216 270 appariements complets et 275 893 cibles inscrites. Il recalcule les mots après inversion, vérifie les rangs inscrits, puis contrôle que les marques restent fixes et que la règle fournit un choix utile pour chaque appariement. Les rangs eux-mêmes proviennent du certificat C contrôlé, ils ne sont pas reconstruits par ce vérificateur d'exemples. L'atlas expose les exemples disponibles pour le patch sélectionné. Les marques sont cerclées d'orange ; les rubans effectivement inversés sont verts. Changer la connexion extérieure change éventuellement les rubans choisis, jamais les marques. ## Reproduire et poursuivre Exécuter `python3 run_anchor_rules.py` dans le dossier reproductible après les étapes antérieures. Le bilan complet est dans `adaptive_results.csv`, le bilan des règles imposées dans `anchor_results.csv`, les exemples contrôlés dans `anchor_examples_verified.json`. La prochaine étape cible les 492 394 états non couverts : déterminer si leurs témoins utiles peuvent se regrouper par séparation du cercle en intervalles. L'objectif est aussi de réduire les 33 ou 105 connexions partielles à des lemmes de familles. L'inévitabilité et l'admissibilité globale des contractions restent des obligations distinctes. --- # Un, deux ou trois rubans : une borne locale sur les 633 patchs ## Résultat complet, et portée exacte Les 633 configurations ont toutes été traitées. Dans l'ordre de preuve certifié, 29 991 189 frontières sont éliminées après les 4 806 391 remplissages directs. La classification suivante porte sur ces déductions, cumulées sur les patchs, à permutation des couleurs près. | Nombre maximal de rubans nécessaire pour garantir une baisse de rang | Déductions | Justification | | --- | --- | --- | | Un | 23 746 169 | Classification géométrique exhaustive précédente | | Deux, mais pas un | 5 930 669 | Nouveau test exhaustif sur les trois choix de couleur | | Trois, mais pas deux | 314 351 | Échec exhaustif à deux ; borne supérieure par complément et certificat général | | Total | 29 991 189 | Tous les états éliminés du corpus | Un ou deux rubans couvrent 29 676 838 déductions, soit 98,951855 %. 127 patchs n'ont aucune déduction exigeant trois rubans dans cet ordre ; les 506 autres en ont au moins une. Tous restent certifiés par le moteur général. Il ne s'agit ni d'une preuve du théorème des quatre couleurs sans ordinateur, ni d'une borne de trois échanges au total. ## Le lemme du complément Fixons un mot de bord w, une couleur d'arête θ, et un appariement extérieur M. Les positions dont la couleur diffère de θ sont les extrémités des rubans ; elles sont au nombre de 2m. Inverser un ruban échange les deux autres couleurs sur ses deux extrémités. Si inverser un ensemble S de rubans donne w′, inverser les rubans complémentaires M privé de S donne le même mot à une permutation globale des deux couleurs non θ près. En effet, inverser tous les rubans échange ces deux couleurs sur toutes leurs positions et laisse θ fixe. Notre codage identifie les permutations globales des couleurs. Les deux résultats ont donc le même identifiant et le même rang. On peut toujours choisir le plus petit des deux ensembles S et son complément : il contient au plus la partie entière de m/2 rubans. Le bord a au plus 14 arêtes, donc m est au plus 7 et ce nombre est au plus 3. Plus généralement la borne locale est la partie entière de r/4, où r est la longueur du bord. Le certificat général fournit, pour chaque mot éliminé, une couleur θ telle que tout appariement compatible contient un choix S menant à un mot de rang strictement inférieur. Appliquer le lemme du complément à ce S prouve la borne de trois. La cible ne peut être le mot initial puisque son rang est inférieur ; le choix utile réduit n'est donc pas vide. Cette borne est une conséquence de la symétrie des familles RSST et du certificat existant. Elle n'est pas présentée comme une découverte historique nouvelle. Elle ne supprime pas le calcul des rangs ni l'énumération des appariements. Elle rend toutefois uniforme la taille de l'échange à expliquer à chaque étape. ## Ce que teste exactement le nouveau calcul Pour chaque état non couvert à un ruban, le programme essaie les trois couleurs θ. Pour chaque θ, il énumère tous les appariements parfaits non croisés des positions actives, au plus 429. Un appariement passe si l'inversion d'un de ses arcs, ou de deux de ses arcs ensemble, rejoint un état de rang strictement inférieur. La couleur passe seulement si tous ses appariements passent. Il suffit qu'une couleur passe. Les deux arcs doivent appartenir au même appariement. Les prendre dans deux appariements possibles différents ne prouverait rien sur leur réalisation simultanée. Le code utilise la somme des modifications sur les quatre extrémités distinctes, puis retrouve le mot canonique cible. L'ordre de preuve est fixé. Un échec à deux signifie : pour chaque θ, il existe un appariement sans échange utile d'un ou deux rubans. Cela ne prouve pas qu'un autre ordre, ou un chemin autorisant une hausse provisoire de rang, échouerait. Il ne s'agit pas non plus de deux échanges sur des composantes bicolores de sommets : les rubans sont définis dans le langage des couleurs d'arêtes. ## Les contractions Sur les 2 200 962 frontières compatibles avec les contractions, 794 925 sont directes ; 899 670 relèvent d'une étape à un ruban ; 473 019 nécessitent deux rubans dans la classification ; 33 348 nécessitent trois. Aucune ne rencontre le résidu bloqué. Ces nombres décrivent les étapes de départ ; leurs dépendances se déroulent dans le même ordre de preuve certifié. ## Contrôles et reproductibilité Le nouveau calcul vérifie à nouveau les comptes directs, les résidus, les contractions et les 1 521 833 472 relations de dépendance du moteur indépendant. Les profils à un ruban sont comparés exactement aux résultats précédents pour chacun des 633 patchs. Les deux nouvelles catégories partitionnent exactement les 6 245 020 cas restants. Un vérificateur Python indépendant reconstruit les mots de bord après échange et réénumère les appariements de 24 exemples : 12 succès à deux et 12 échecs à deux. Il contrôle 1 752 appariements d'exemples, les cibles et les inégalités de rang inscrites dans le certificat. Dans les 12 échecs exposés, le θ choisi est celui du certificat général ; une cible à trois rubans est vérifiée pour chaque appariement. Ce contrôle d'exemples complète le calcul C exhaustif ; il ne le remplace pas et ne reconstruit pas indépendamment tous les rangs. Le fichier two_results.csv donne le bilan complet. Le script run_two.py recompile et exécute le calcul complet puis les exemples et leur vérification. La preuve générale de la borne trois est le lemme ci-dessus ; le calcul exhaustif nouveau mesure la couverture à deux. Les exemples graphiques permettent d'observer des échanges à deux et à trois sur une connexion extérieure choisie. ## Prochaine réduction du travail humain La borne locale trois est maintenant uniforme. Le prochain objectif utile est de remplacer les centaines d'appariements possibles par quelques schémas géométriques couvrants pour les échanges à deux ou trois, et de réduire les dépendances de rang à des arguments lisibles. L'inévitabilité et l'admissibilité globale des contractions demeurent des obligations séparées. --- # Compression géométrique des déductions de recoloration ## Résultat exact Nous avons repris toutes les 29 991 189 frontières non directement remplissables que le moteur indépendant élimine dans les 633 configurations. Pour chacune, nous avons testé si un seul échange de ruban peut être garanti par la géométrie, tout en rejoignant une frontière de rang inférieur dans le certificat déjà vérifié. Le test réussit pour **23 746 169 frontières, soit 79,18 % des déductions examinées**. Le corpus entier a été parcouru. Les 6 245 020 autres frontières conservent leur justification par le moteur général ; ce ne sont pas des échecs de la réductibilité. La proportion porte sur les déductions de recoloration, pas sur les patchs. Des déductions simplifiées peuvent mener à des cibles qui utilisent encore la règle générale. Dans l’ordre de preuve utilisé, seuls les patchs 0.7322 et 2.122 ont toutes leurs déductions couvertes par les règles à un ruban ci-dessous. ## 1. Les objets que nous recolorions Les quatre couleurs des sommets sont représentées par les deux bits 00, 01, 10, 11. La couleur d’une arête est la différence binaire, ou XOR, de celles de ses extrémités ; elle appartient aux trois vecteurs non nuls. Sur le bord, on normalise ces trois couleurs d’arêtes par ordre de première apparition. Fixons une couleur d’arête θ. Retirons de la liste circulaire les positions de couleur θ. Il reste 2m positions actives, avec m ≤ 7 pour le corpus. Tout extérieur réel fournit un appariement sans croisement de ces positions, par les rubans bicolores du lemme de consistance. Les signes sont déterminés par la coloration : deux extrémités d’une paire portent soit la même couleur, soit des couleurs différentes. Pour une frontière et un choix de θ fixés, il y a au plus Cₘ appariements, où Cₘ est le nombre de Catalan. Pour m=1,…,7, cela donne 1, 2, 5, 14, 42, 132, 429. Ce décompte concerne les appariements d’une frontière fixée ; il ne faut pas le confondre avec les 1 485 004 familles signées de toute la bibliothèque à bord 14, ni avec les partitions de plages comptées précédemment en 1/3/12/55/… Un arc est une paire possible dans cet appariement. Inverser les deux couleurs autres que θ sur le ruban correspondant change les couleurs de ses deux extrémités sur le bord. L’inversion porte sur **le ruban entier de l’extérieur**. Nous ne recolorions pas arbitrairement deux arêtes isolées. Ces rubans sont définis dans le langage des couleurs d’arêtes. « Un échange de ruban » n’est pas ici une revendication d’un échange unique sur une composante bicolore des sommets. ## 2. Définir un arc utile Le moteur précédent fournit un ordre de preuve : les remplissages directs ont rang zéro ; chaque frontière éliminée a un rang positif et une justification ne faisant intervenir que des rangs inférieurs. Ce rang est un outil de certification, pas une quantité géométrique intrinsèque. Pour un mot w et une couleur θ, nous appelons un arc **utile** lorsque l’inversion de ses deux couleurs d’extrémités produit un mot dont le rang est strictement inférieur à celui de w. Les deux positions de l’arc doivent avoir des parités opposées dans la liste active ; c’est exactement la condition pour pouvoir appartenir à un appariement sans croisement du cercle. Le test à un ruban est le suivant : Existe-t-il un choix de θ tel que tout appariement compatible contienne au moins un arc utile ? S’il réussit, quel que soit l’extérieur réel, son appariement contient un arc utile. On inverse le ruban associé et on poursuit avec une frontière de rang inférieur. La même récurrence que dans le certificat général justifie cette déduction. Le programme teste les trois choix de θ. Il préfère les arguments les plus courts ci-dessous. Quand aucun choix ne réussit, cela signifie seulement que cette propriété de progression stricte échoue dans l’ordre de preuve fixé. Un autre ordre ou une stratégie conservant davantage d’informations pourrait réussir. ## 3. Premier lemme : un partenaire quelconque suffit **Hypothèse.** Il existe une position active p telle que tous ses partenaires possibles soient utiles. **Conclusion.** Tout appariement contient un arc utile. **Preuve.** Dans l’appariement réel, p a un partenaire. Un arc d’appariement sépare deux intervalles comportant chacun un nombre pair de positions restantes : son partenaire est donc de parité opposée à p dans la liste active. Par hypothèse, tous ces partenaires donnent un arc utile. ∎ C’est la règle dite « étoile » dans l’atlas. Il suffit de contrôler au plus sept partenaires ; on n’a pas à parcourir jusqu’à 429 appariements. **Couverture mesurée : 19 593 637 frontières.** ## 4. Deuxième lemme : une paire consécutive existe toujours **Hypothèse.** Tous les arcs joignant deux positions consécutives de la liste active circulaire sont utiles. **Conclusion.** Tout appariement contient un arc utile. **Preuve.** Tout appariement parfait sans croisement contient une paire de positions consécutives. On peut le voir en choisissant un arc ayant un nombre minimal de positions entre ses extrémités sur l’un des deux côtés. Si cet intervalle n’était pas vide, les positions qu’il contient devraient être appariées entre elles, ce qui donnerait un arc enfermant un intervalle plus petit. Contradiction. La paire consécutive ainsi obtenue est utile par hypothèse. ∎ « Consécutives » se rapporte aux positions actives, après retrait des positions de couleur θ. Elles ne sont pas forcément consécutives sur le bord initial. **Couverture mesurée supplémentaire : 1 426 frontières.** Le programme privilégie le lemme précédent lorsqu’il s’applique aussi ; cette colonne n’est donc pas le nombre total de frontières satisfaisant l’hypothèse du deuxième lemme. ## 5. Troisième lemme : séparer récursivement le cercle Quand les deux arguments précédents ne suffisent pas, demandons si un appariement peut éviter tous les arcs utiles. Appelons « non utile » un arc qui ne diminue pas strictement le rang. Numérotons linéairement les positions actives de 0 à 2m−1 en coupant le cercle entre deux positions. Pour un intervalle [i,j), notons P(i,j) la possibilité de l’apparier sans croisement en n’utilisant que des arcs non utiles. L’intervalle vide est possible : P(i,i) est vrai. Dans tout appariement d’un intervalle non vide, i est apparié à une position k de parité opposée. L’arc i–k laisse deux intervalles indépendants. On a donc exactement : P(i,j) = OU, pour k=i+1,i+3,…,j−1, de [arc i–k non utile ET P(i+1,k) ET P(k+1,j)]. **Conclusion.** Si P(0,2m) est faux, tout appariement contient un arc utile. **Preuve.** La récurrence décrit toutes les possibilités pour le partenaire de la première position. Un arc non utile et deux appariements non croisés de ses intervalles constituent un appariement évitant les arcs utiles ; inversement, tout appariement qui les évite se décompose ainsi. ∎ Cette vérification par intervalles utilise une table de taille quadratique et un nombre cubique d’opérations en 2m. Elle peut donc remplacer l’énumération explicite des 429 appariements du cas maximal. Pour chaque intervalle, il y a au plus sept partenaires à examiner dans notre corpus. **Couverture mesurée supplémentaire : 4 151 106 frontières.** ## 6. Tableau de couverture | Justification retenue | Nombre de frontières | |---|---:| | Partenaire quelconque d’une position : règle de l’étoile | 19 593 637 | | Existence d’une paire consécutive utile | 1 426 | | Séparation récursive excluant tout appariement non utile | 4 151 106 | | Total justifié par un seul ruban de rang décroissant | 23 746 169 | | Non couvert par ce test dans l’ordre fixé | 6 245 020 | | Total des frontières éliminées après les remplissages directs | 29 991 189 | Le calcul général de réductibilité a été revérifié pendant cette analyse : mêmes nombres de remplissages et de résidus, mêmes 1 521 833 472 contrôles de dépendance, mêmes contrats compatibles et aucune intersection avec les résidus. Les frontières directement remplissables, au nombre cumulé de 4 806 391, ne figurent pas dans le tableau : elles n’ont besoin d’aucune recoloration. ## 7. Le sous-ensemble fourni par les contrats Parmi les 2 200 962 frontières que les 384 contractions peuvent fournir : | Situation | Nombre | |---|---:| | Directement remplissables | 794 925 | | Étoile utile | 632 185 | | Paire consécutive utile | 173 | | Séparation récursive | 267 312 | | Test à un ruban non concluant dans l’ordre fixé | 506 367 | Une frontière de contrat couverte par un lemme peut avoir pour cible une frontière auxiliaire qui utilise encore le certificat général. Ce tableau ne démontre donc pas, à lui seul, que les contractions concernées possèdent une preuve entièrement à un ruban. ## 8. Contrôle distinct des exemples Nous avons extrait, pour chaque patch et chaque catégorie non vide, un exemple : 2 325 exemples au total, couvrant les 633 patchs. Un second programme Python vérifie les changements de couleurs et leurs cibles, puis énumère explicitement tous les appariements du cercle actif. Pour les catégories réussies, il vérifie que chaque appariement possède un arc utile. Pour une catégorie non concluante, il exhibe un appariement qui évite tous les arcs utiles pour la couleur montrée. Le moteur C a testé les trois couleurs ; l’exemple affiché illustre l’une d’elles. Ces exemples ne remplacent pas le calcul sur les 29 991 189 frontières. Ils offrent une contre-vérification de la traduction des règles et des supports, et donnent au lecteur des instances inspectables dans l’atlas. ## 9. Lecture du visualiseur Le mot indiqué dans la section de compression donne les couleurs des sommets du bord. Le dessin de connexions porte sur ses positions d’arêtes actives : eᵢ relie les sommets i et i+1, avec retour au sommet 1. Le curseur parcourt tous les appariements abstraits compatibles avec la disposition des positions. Un arc vert est utile : le tableau donne le mot cible et son rang inférieur. Un arc gris ne satisfait pas ce test de rang ; cela ne prouve pas qu’il serait inutile dans une autre stratégie. Dans un exemple non concluant, le visualiseur commence par un appariement sans arc vert. Le dessin ne représente pas un extérieur particulier. Il permet d’inspecter les possibilités que tout argument de recoloration doit couvrir. ## 10. Ce que cette étape apporte et ce qui reste Nous avons remplacé une grande partie des tests de familles par trois arguments géométriques démontrés, avec une mesure exhaustive de leur couverture sur tout le corpus. La règle de l’étoile suffit à elle seule pour près de vingt millions de déductions. Ce n’est pas encore une preuve que l’on peut entièrement lire à la main : les couleurs utiles et les rangs de leurs cibles proviennent toujours du certificat calculé. Le prochain travail est de traiter les 6 245 020 cas restants, notamment par des arguments garantissant l’existence de deux rubans utiles ensemble, puis de compresser les tests de rang eux-mêmes. L’inévitabilité demeure distincte et n’a pas été réexécutée. Aucune borne universelle de huit échanges ni aucune nouveauté sur le théorème des quatre couleurs n’est revendiquée. ## Reproduction et source mathématique Le dossier contient `geometric_compression.c`, `geometric_results.csv`, les exemples, leur vérificateur Python et `run_geometric.py`. Ce dernier reconstruit le calcul fini et l’analyse géométrique sur les 633 patchs. La génération des rubans et des appariements repose sur le lemme de consistance de RSST, §3 : https://thomas.math.gatech.edu/PAP/fc.pdf Les trois arguments géométriques de cette note sont démontrés ci-dessus ; les décomptes proviennent de notre exécution du programme.