algo/docs/collatz_conjoncture_collatz_cartographie.md
ncantu ab56157c05 collatz: rationalize conjoncture document into annexes
**Motivations:**
- Make `conjoncture_collatz.md` indexable and avoid duplicated trunks.

**Root causes:**
- Multiple full copies of the formal trunk and a large non-formal imported block prevented unambiguous references.

**Correctifs:**
- Move duplicated trunks and the imported non-formal block to `conjoncture_collatz_annexes.md`.
- Make generic repeated headings unique via deterministic numbering (CSP/CE).

**Evolutions:**
- Add deterministic audit + rationalization scripts and versioned audit artefacts.

**Pages affectées:**
- applications/collatz/conjoncture_collatz.md
- applications/collatz/conjoncture_collatz_annexes.md
- applications/collatz/collatz_k_scripts/collatz_conjoncture_audit.py
- applications/collatz/collatz_k_scripts/collatz_conjoncture_rationalize.py
- docs/artefacts/collatz/conjoncture_rationalisation/*
- docs/features/collatz_conjoncture_rationalization_tooling.md
- docs/collatz_conjoncture_collatz_cartographie.md
2026-03-09 04:56:32 +01:00

129 lines
6.5 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
# Cartographie — `applications/collatz/conjoncture_collatz.md` (rationalisation, sans suppression)
## Périmètre
Ce document cartographie les doublons structuraux et les zones hétérogènes de `applications/collatz/conjoncture_collatz.md`, afin de préparer une rationalisation **sans suppression ni restructuration immédiate**.
## Statistiques brutes (mesurables)
- **Lignes** : 23828
- **Headings** (`##` à `######`) : 1456
- **Groupes de headings dupliqués** (même niveau, titre normalisé) : 525
## Doublons structuraux majeurs (tronc répété)
Le “tronc formel” (cadre, définitions, lemmes D/F, théorème-cadre, protocoles, limites, conclusion, références) apparaît sous plusieurs variantes très proches :
- **Bloc A (accentué)** : commence à `L5` (ex. `## Introduction de l'objet mathématique`) et couvre la séquence :
- `## Introduction de l'objet mathématique`
- `## Prérequis de lecture`
- `## Cadre de référence et notations`
- `### Définition 1..4`
- `## Statut des énoncés`
- `## Énoncés démontrés` + `### Lemme 1..3`
- `## Théorème-cadre conditionnel` + `### Théorème 1`
- `## État quantifié actuel`
- `## Protocoles de sensibilité`
- `## Limites explicites du cadre`
- `## Conclusion de l'état de preuve`
- `## Références`
- **Blocs B/C/D (non accentués / variantes)** : commencent aux environs de :
- `L274` (`## Introduction de l'objet mathematique`)
- `L518` (`## Introduction de l'objet mathematique`)
- `L762` (`## Introduction de l'objet mathématique`)
Indicateurs objectifs (extraits de doublons de headings) :
- `## Prérequis de lecture` : 4 occurrences (`L15`, `L284`, `L528`, `L772`)
- `## Cadre de référence et notations` : 4 occurrences (`L24`, `L293`, `L537`, `L781`)
- `## Énoncés démontrés / Enonces demontres` : 4 occurrences (`L95`, `L339`, `L583`, `L820`)
- `## Théorème-cadre conditionnel / Theoreme-cadre conditionnel` : 4 occurrences (`L173`, `L417`, `L661`, `L898`)
- `## Protocoles de sensibilité / Protocoles de sensibilite` : 4 occurrences (`L215`, `L459`, `L703`, `L940`)
- `## Limites explicites du cadre` : 4 occurrences (`L252`, `L496`, `L740`, `L977`)
- `## Références / References` : 4 occurrences (`L262`, `L506`, `L750`, `L987`)
- `## Conclusion de l'état de preuve` : 5 occurrences (`L258`, `L502`, `L746`, `L983`, `L23815`)
## Doublons récurrents (titres “génériques”)
Certains titres sont répétés de façon massive, ce qui empêche une indexation univoque des dépendances logiques :
- `## Conclusion de la section précédente` : 62 occurrences (premières : `L1831`, `L2002`, `L2073`, `L2190`, `L2626`, `L3374`, …)
- `## Conclusion de l'étape` : 26 occurrences (premières : `L8774`, `L9513`, `L9645`, `L9752`, `L9788`, `L9824`, …)
- `### Énoncé` : 6 occurrences (`L4514`, `L4552`, `L12582`, `L14087`, `L14125`, `L22155`)
Conséquence : un renvoi interne de type “voir la Conclusion de létape” nest pas traçable sans un identifiant supplémentaire (numérotation ou titre spécialisé).
## Hétérogénéité de registre (hors tronc formel)
Des zones longues ne relèvent pas du cadre de preuve et mélangent :
- vulgarisation (style non neutre, citations),
- narration externe,
- contenu sans statut mathématique (pas de lemmes/propositions indexés).
Exemple (détection par lecture ponctuelle du bas de fichier) :
- présence de sections de vulgarisation et danalogies qui ne sont pas indexées comme “annexe” et cohabitent avec les références.
## Risques actuels (liés à la rationalisation)
- **Traçabilité des hypothèses** : duplication du tronc rend ambigu lendroit “canonique” des hypothèses (H1..H4/H5).
- **Numérotation / renvois** : impossibilité de renvoyer à une section sans collision de titres.
- **Maintenance** : tout ajout (ex. C1/C2/C3 instrumentés) doit être répliqué dans plusieurs blocs, sinon divergence.
## Plan de rationalisation (sans suppression/restructuration immédiate)
### Étape 1 — Définir un “tronc canonique” (sans déplacer)
Choisir un seul bloc comme canonique (recommandé : le tout premier bloc accentué, à partir de `L5`), et introduire un marqueur explicite au début :
- “Version canonique : sections XY”
- “Les répétitions ultérieures sont des variantes / brouillons (à déplacer en annexe lors dune étape dédiée).”
Cette étape ne supprime rien, ne déplace rien, mais fixe la référence.
### Étape 2 — Indexer les variantes (sans déplacer)
Au début de chaque bloc redondant (ex. à `L274`, `L518`, `L762`), ajouter une ligne de statut :
- “Variante / duplicat du tronc canonique (voir L5…)”
Objectif : éliminer lambiguïté de lecture.
### Étape 3 — Préparer latterrissage en annexes (sans exécuter ici)
Préparer un plan de migration qui, dans une étape ultérieure validée :
- déplace les variantes du tronc en annexes (même fichier en bas, ou fichier `*_annexes.md`),
- renvoie depuis le tronc canonique,
- conserve une seule occurrence des définitions/lemmes/théorème.
### Étape 4 — Traiter les titres “génériques”
Établir une règle :
- interdiction de titres dupliqués non indexés (“Conclusion de létape”, “Conclusion de la section précédente”) dans le tronc canonique,
- remplacement par des titres spécialisés (ex. “Conclusion de la section X : …”) et/ou numérotation.
## Décisions à valider avant toute suppression/restructuration
- où placer les annexes (même fichier vs fichier annexe),
- politique de numérotation (globale vs par chapitre),
- traitement des contenus de vulgarisation (annexe dédiée, séparée du cadre formel).
## État après rationalisation (annexes + titres uniques ciblés)
Les actions suivantes ont été appliquées dans le dépôt :
- déplacement en annexes de blocs identifiés :
- tronc dupliqué (occurrences multiples du H1 `# Conjecture de Collatz: ...`)
- bloc importé non formel (vulgarisation / “Futurs Accessibles”) borné par le premier `## Branche ...`
- unicité de titres ciblés par numérotation :
- `## Conclusion de la section précédente` → suffixe `(CSP-XXX)`
- `## Conclusion de l'étape` → suffixe `(CE-XXX)`
Fichiers et artefacts associés :
- annexes : `applications/collatz/conjoncture_collatz_annexes.md`
- audit déterministe : `docs/artefacts/collatz/conjoncture_rationalisation/audit_conjoncture.{json,md}`
- scripts : `applications/collatz/collatz_k_scripts/{collatz_conjoncture_audit.py,collatz_conjoncture_rationalize.py}`