algo/docs/features/collatz_grammar_extensions_implementation_plan.md
ncantu c71cd4475a collatz: update scripts, conjoncture, hensel_b bundle and certs_shifted
**Motivations:**
- Sync refinement bundle script, hensel chain shifted, conjoncture and artefacts.

**Root causes:** N/A
**Correctifs:** N/A
**Evolutions:**
- collatz_build_hensel_chain_leaves_shifted.py
- collatz_build_refinement_bundle_over_Sm_multilevel.py
- README.md, conjoncture_collatz.md
- bundle_mod2p15_to2p24_hensel_b, certs_shifted

**Pages affectées:**
- applications/collatz/collatz_k_scripts/
- applications/collatz/conjoncture_collatz.md
- docs/artefacts/collatz/refinement_K/
2026-03-10 16:52:28 +01:00

134 lines
8.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

**Auteur** : Équipe 4NK
# Plan d'implémentation — Extensions de grammaire (cas no/no)
## Alignement avec la thèse (livre_jeune_adulte.md)
Le plan respecte les principes du manuscrit :
- **Définir avant usage** : chaque notion (observable, projection, raffinement) est introduite avec ses hypothèses explicites.
- **Indexer les conclusions** : tout résultat est indexé par les choix (projection \(\Pi\), palier \(M\), grammaire \(\mathcal{K}\), paramètres \(k_{\max}\), \(M_{\max}\)).
- **Dette d'observabilité** : la thèse (Ch. 2, ligne 495) pose que « toute théorie qui prétend exclure la répétition dans un système itératif sur un espace d'états fini ne peut le faire sans introduire une hypothèse supplémentaire (… ou raffinement infini de l'observabilité). Le modèle impose une dette d'hypothèse. » Les extensions de grammaire visent à réduire cette dette par raffinement contrôlé (projection étendue, paliers plus profonds, règles de compression).
- **Stabilité sous raffinement/coarsening** (Ch. 16, Fermeture) : toute extension doit être testée sous variation de granularité (protocoles R1, R2, R3 de conjoncture_collatz.md).
- **Neutralité sémantique** : pas d'auto-évaluation ; formulations factuelles (« On définit… », « On montre… »).
## Objectif
Réduire `tracked.max` et `tracked.p99` sur la liste fixe `tracked_roots_lb_any_top200_mod2p15_to2p18.txt` en introduisant des règles de grammaire capables de fermer les racines où les deux enfants à \(m=16\) n'ont pas de clause immédiatement décidable (cas « no/no »).
## Phases du plan
### Phase 1 : Extension mécanique (Piste 2) — priorité immédiate
**Hypothèses.**
- Les racines extrêmes ont \(lb\in[19,136]\). Une partie peut être fermée par des clauses \(D_{\underline{}}\) à des paliers \(m\in\{19,\ldots,M_{\max}\}\) avec \(k\) plus grand.
- La génération et la vérification sont déjà en place ; seuls les paramètres changent.
**Étapes.**
1. Générer des clauses \(D_{\underline{}}\) pour \(m\in\{19,20,21\}\) et \(k\in\{12,\ldots,16\}\) (ou jusqu'à \(u_{\min}(k)\le m\)).
2. Générer des clauses terminales \(D/F\) pour \(m\in\{19,20,21\}\) via `collatz_generate_terminal_clauses_over_Sm.py` (si \(k_{\max}/t_{\max}\) suffisants).
3. Étendre le bundle de fermeture : `collatz_build_refinement_bundle_over_Sm_multilevel.py` avec `--max-palier 21` et les nouveaux leaf JSON.
4. Relancer `collatz_analyze_open_roots_refinement.py` et comparer `tracked.max`, `tracked.p99` sur la liste fixe.
5. Documenter dans `docs/artefacts/collatz/refinement_K/palier2p15/` les artefacts produits et les métriques.
**Indexation.** Résultats indexés par \(M_{\max}=21\), \(k_{\max}\) des clauses terminales, familles \((k,\underline A)\) des \(D_{\underline{}}\).
**Critère de succès.** \(\Delta\)(tracked.max) ou \(\Delta\)(tracked.p99) strictement négatif.
---
### Phase 2 : Raffinement multi-modulus (Piste 1) — conclue (négatif)
**Hypothèses.**
- La non-décidabilité de F à \(m=16\) peut venir de \(y\bmod 3\) non constant sur la classe. Une projection \(\Pi_{(M,s)}: n\mapsto (n\bmod 2^M, n\bmod 3^s)\) pourrait stabiliser le choix de fusion.
**Étapes exécutées.**
1. Analyse de la distribution de \(y=U^{(t)}(n)\bmod 3\) sur 400 résidus no/no (\(n\equiv r\pmod{2^{16}}\), \(t\le 16\)).
2. Test de partition par \(n\bmod 3^s\) pour \(s=1,2\).
**Résultat.** La partition par \(n\bmod 3^s\) ne stabilise pas \(y\bmod 3\) : 0 résidu constant, 0 partition_constant pour s=1 et s=2. L'arbre de raffinement mixte n'est pas applicable. Rapport : `docs/artefacts/collatz/refinement_K/palier2p15/phase2_y_mod3_analysis_report.md`.
**Critère de succès.** Non atteint.
---
### Phase 3 : Chaîne Hensel avec frères fermables (Piste 3) — raffinement
**Hypothèses.**
- La Piste 3 a échoué car les frères à \(m=16\) ne sont pas fermables. Si on augmente \(M_{\max}\) (Phase 1), certains frères à \(m\ge 19\) pourraient devenir fermables.
- Une stratégie hybride : suivre la chaîne Hensel à partir de \(m=19\) (au lieu de 16) pour les racines dont les enfants à \(m=19\) ont un frère fermable.
**Étapes.**
1. Après Phase 1, identifier les racines encore ouvertes dont un enfant à \(m=19\) a un frère fermé par \(D/F/D_{\underline{}}\).
2. Pour ces racines, implémenter une variante de `collatz_build_hensel_chain_leaves.py` qui démarre la chaîne à \(m=19\) (ou le premier niveau où le frère est fermable).
3. Intégrer les certificats « chaîne Hensel décalée » dans le pipeline de fermeture.
4. Mesurer l'impact sur `tracked.max/p99`.
**Indexation.** Résultats indexés par le niveau de démarrage de la chaîne et la disponibilité des clauses pour les frères.
**Critère de succès.** Au moins une racine fermée par certificat chaîne Hensel.
**Exécution (2026-03).** Phase 3 implémentée : `collatz_build_hensel_chain_leaves_shifted.py` avec `--start-m 19` : 1373 résidus fermés à m=19, open_roots 1349→1101 (248). Options A et B : extension à M_max=24, Hensel start_m=20,21 — aucun impact supplémentaire sur tracked.max/p99. Rapports : `option_a_extension_m24_report.md`, `option_b_hensel_m20_m21_report.md`.
---
### Phase 4 : Clause \(D\) partielle (Piste 4) — recherche formelle
**Hypothèses.**
- Une condition \(C(n)\) plus faible que la stabilité complète du préfixe pourrait suffire pour minorer \(U^{(k)}(n)\) et obtenir une descente.
**Étapes.**
1. Étudier la littérature et les formes de congruences sur \(n\) qui contraignent \(v_2(L_k(n))\) sans imposer \(A_{k-1}+1\le m\).
2. Proposer une forme explicite de \(C(n)\) (congruence modulo \(2^m\cdot 3^s\) ou combinaison) et un lemme de validité.
3. Si une forme est établie, implémenter un générateur et un vérificateur.
4. Intégrer dans le pipeline et mesurer.
**Expérimentation (piste A).** Script `collatz_analyze_prefix_diversity.py` : sur 32 résidus no/no, jusqu'à 37 préfixes distincts pour un échantillon de 256. Une disjonction par préfixe serait lourde. Note : `docs/artefacts/collatz/refinement_K/palier2p15/phase4_clause_D_partielle_research_note.md`.
**Indexation.** Résultats indexés par la forme de \(C(n)\) et le protocole de décidabilité.
**Critère de succès.** Lemme formel établi et au moins une racine fermée. Non atteint.
---
## Ordre d'exécution recommandé
1. **Phase 1** (extension mécanique) : effort minimal, réutilisation du code existant ; résultat mesurable rapidement.
2. **Phase 2** (multi-modulus) : nécessite une analyse préalable des distributions \(y\bmod 3\) ; peut être menée en parallèle de la Phase 1.
3. **Phase 3** (chaîne Hensel décalée) : dépend des résultats de la Phase 1 (identification des frères fermables à \(m\ge 19\)).
4. **Phase 4** (clause partielle) : recherche formelle ; peut être reportée si les Phases 13 suffisent.
## Artefacts et traçabilité
Chaque phase produit :
- Scripts (ou modifications) versionnés.
- Artefacts JSON/MD sous `docs/artefacts/collatz/refinement_K/` ou `docs/artefacts/collatz/terminal_clauses_over_Sm/`.
- Mise à jour de `docs/features/` et de `applications/collatz/conjoncture_collatz.md` pour les nouvelles règles et indexations.
- Rapport de métriques (tracked.max, tracked.p99, open_roots, q_m) avant/après.
## Rapports d'exécution
- Phase 1+3 : `docs/artefacts/collatz/refinement_K/palier2p15/phase1_grammar_extensions_report.md`
- Option A (M_max=24) : `docs/artefacts/collatz/refinement_K/palier2p15/option_a_extension_m24_report.md`
- Option B (Hensel start_m=20..24) : `docs/artefacts/collatz/refinement_K/palier2p15/option_b_hensel_m20_m21_report.md`
- Option C (diagnostic ciblé top 200) : `docs/artefacts/collatz/refinement_K/palier2p15/option_c_diagnostic_top200_report.md`
- Bundle Hensel complet : `docs/artefacts/collatz/refinement_K/palier2p15/bundle_mod2p15_to2p24_hensel_full/`
## Prolongations possibles
- **Phase 4** : recherche formelle d'une condition \(C(n)\) pour clause D partielle ; pistes A (partition préfixe), B (borne uniforme \(v_2(L_k)\)), C (littérature).
- **Hensel à paliers plus élevés** : start_m=22,23,24 exécutés (1388, 1394, 1419 résidus) ; closed_roots/open_roots inchangés.
- **D_minor à k plus grand** : k=17,18,… avec \(u_{\min}(k)\le m\) ; explosion du nombre de familles.
- **Protocoles R1, R2, R3** : tester la stabilité des métriques sous variation de granularité (conjoncture_collatz.md).
## Références
- `these/livre_jeune_adulte.md` : Ch. 2 (dette d'hypothèse, raffinement d'observabilité), Ch. 16 (stabilité sous raffinement, indexation)
- `applications/collatz/conjoncture_collatz.md` : Protocoles R1, R2, R3 ; Section « Extensions de grammaire pour les cas no/no »
- `docs/features/collatz_targeted_leaves_and_diagnostics.md` : diagnostic root cause, guidage pour grammaire plus puissante