algo/docs/collatz_run_report_format.md
ncantu 67eb6a5e68 collatz: parameterize C3 palier and add iteration protocol tooling
**Motivations:**
- Enable deterministic iteration beyond palier 2^13 (C1→C2→C3).

**Root causes:**
- The C3 verifier and reporting were hard-coded to palier 13, blocking palier-by-palier iteration.

**Correctifs:**
- Parameterize `collatz_verify_c3_local_descent.py` with `--palier` and suffix outputs for m!=13.
- Add deterministic iteration protocol generator and versioned protocol artefacts.
- Extend run report generator `c3_local_descent` profile with `--c3-palier`.

**Evolutions:**
- Reference the protocol in proof documents.

**Pages affectées:**
- applications/collatz/collatz_k_scripts/collatz_verify_c3_local_descent.py
- applications/collatz/collatz_k_scripts/collatz_iterate_palier_protocol.py
- docs/artefacts/collatz/iteration_protocol/*
- applications/collatz/collatz_k_scripts/collatz_generate_run_report.py
- docs/collatz_run_report_format.md
- applications/collatz/démonstration collatz.md
2026-03-09 04:56:44 +01:00

6.4 KiB
Raw Blame History

Auteur : Équipe 4NK

Format standard de rapport dexécution (Collatz)

Objectif

Standardiser la rédaction dun rapport dexécution séparé du texte de preuve, afin que :

  • le texte de preuve ne contienne pas de transcript terminal ;
  • chaque résultat computationnel soit citable avec une assertion explicite et des artefacts vérifiables ;
  • la reproduction soit déterministe (commande, paramètres, empreintes).

Emplacement stable

Le rapport dexécution doit être ajouté dans docs/ (par exemple docs/collatz_run_report_<YYYY-MM-DD>_<scope>.md) et référencé depuis les documents mathématiques par un chemin stable.

Gabarit (à copier-coller)

Génération automatisée

Le script applications/collatz/collatz_k_scripts/collatz_generate_run_report.py génère un rapport à partir des logs et des artefacts dun OUT existant (sha256 + compteurs extraits des logs) :

python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \
  --profile extend_finale \
  --out-dir applications/collatz/out \
  --docs-dir docs

Pour la validation “section 7” (N*, certificat complet, coverage) :

python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \
  --profile validation_section7 \
  --scope validation_section7 \
  --out-dir applications/collatz/out \
  --docs-dir docs

Pour le pipeline D16/D17 après fusion :

python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \
  --profile pipeline_d16_d17 \
  --scope pipeline_d16_d17 \
  --out-dir applications/collatz/out \
  --docs-dir docs

Pour les fusions au palier 2^{25} (t=11,12,14) :

python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \
  --profile fusion_palier2p25 \
  --scope fusion_palier2p25 \
  --out-dir applications/collatz/out \
  --docs-dir docs

Pour la complétude locale H6(E1) au palier 2^{13} (rapport basé sur des artefacts versionnés dans docs/artefacts/) :

python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \
  --profile local_H6_E1 \
  --scope local_H6_E1 \
  --out-dir applications/collatz/out \
  --docs-dir docs

Pour une complétude locale H6 généralisée (artefacts versionnés, répertoire paramétrable) :

python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \
  --profile local_H6 \
  --scope local_H6_E42 \
  --local-h6-artefacts-dir docs/artefacts/collatz/local_E42_palier2p13 \
  --out-dir applications/collatz/out \
  --docs-dir docs

Audit palier (local_H6). Lors de la génération dun rapport local_H6/local_H6_E1, un audit automatique compare :

  • le palier attendu (daprès metadata.json dans le répertoire dartefacts, sinon daprès le nom palier2p<m>),
  • au palier certifié (champ palier des certificat_*.json).

En cas de désaccord, la génération échoue (afin déviter une citation ambiguë dartefacts).

Pour la vérification C2 (complétion par frères ⇒ both ⇒ projection B_{12}, artefacts déterministes versionnés) :

python3 applications/collatz/collatz_k_scripts/collatz_verify_c2_projective.py \
  --repo-root /home/ncantu/code/algo \
  --output-dir docs/artefacts/collatz/c2_projective

python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \
  --profile c2_projective \
  --scope c2_projective \
  --c2-artefacts-dir docs/artefacts/collatz/c2_projective \
  --out-dir applications/collatz/out \
  --docs-dir docs

Pour la vérification C3 (clôture locale au palier 2^{13} sur Lift(B_{12}) via témoins D8/Fusion, artefacts déterministes versionnés) :

python3 applications/collatz/collatz_k_scripts/collatz_verify_c3_local_descent.py \
  --local-h6-root docs/artefacts/collatz \
  --output-dir docs/artefacts/collatz/c3_local_descent

python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \
  --profile c3_local_descent \
  --scope c3_local_descent \
  --c3-artefacts-dir docs/artefacts/collatz/c3_local_descent \
  --c3-palier 13 \
  --out-dir applications/collatz/out \
  --docs-dir docs

Pour lextraction/vérification de clauses universelles candidates (Option A : Lift(B_{12})), à partir de lartefact C3 (artefacts déterministes versionnés) :

python3 applications/collatz/collatz_k_scripts/collatz_extract_universal_clauses.py \
  --repo-root /home/ncantu/code/algo \
  --verification-json docs/artefacts/collatz/c3_local_descent/verification_c3_local_descent.json \
  --output-dir docs/artefacts/collatz/universal_clauses

python3 applications/collatz/collatz_k_scripts/collatz_verify_universal_clauses.py \
  --repo-root /home/ncantu/code/algo \
  --verification-json docs/artefacts/collatz/c3_local_descent/verification_c3_local_descent.json \
  --clauses-json docs/artefacts/collatz/universal_clauses/clauses_universelles.json \
  --output-dir docs/artefacts/collatz/universal_clauses

python3 applications/collatz/collatz_k_scripts/collatz_generate_run_report.py \
  --profile universal_clauses \
  --scope universal_clauses \
  --universal-clauses-artefacts-dir docs/artefacts/collatz/universal_clauses \
  --out-dir applications/collatz/out \
  --docs-dir docs

Contexte

  • But du run : (énoncé court)
  • Assertion ciblée : (ex. “montrer |R_M|=0 pour (M=\dots)” ou “produire certificat_F16...”)
  • Statut logique : (ce que le run prouve, et ce quil ne prouve pas)

Code et reproductibilité

  • Commit Git : (hash)
  • Commande exacte : (copier-coller)
  • Paramètres : (liste structurée)
  • Environnement :
    • OS
    • Python
    • dépendances (si pertinent)

Entrées (artefacts consommés)

Liste exhaustive avec chemins et empreintes :

  • path/to/input_1 : (sha256)
  • path/to/input_2 : (sha256)

Sorties (artefacts produits)

Liste exhaustive avec chemins et empreintes :

  • path/to/output_1 : (sha256)
  • path/to/output_2 : (sha256)

Compteurs et métriques

  • |R_m|, |B_m|, q_m (si calculés)
  • tailles fichiers (optionnel)
  • bornes / maxima observés (ex. max_r)

Vérification

  • Script de vérification : (chemin + commande)
  • Résultat : (succès/échec, et valeur vérifiée, par ex. |R_M|=0 ou |R_M|>0)

Notes (optionnel)

Informations dexploitation non mathématiques (temps, mémoire) si elles sont utiles, sans les mélanger au texte de preuve.