Repository navigation
feat(lean-notebook,#13106): 4.2b compagnon GradientFlow — c^n vs (1-c)^n exécutés depuis learning_theory_lean - #14989
Conversation
…)^n exécutés depuis learning_theory_lean Notebook kernel lean4-wsl (19 cellules, outputs réels, 3 exos C.1) : #check des bornes plafond/plancher, anti-triangulaire t = ±2/5, ancres norm_num, balayage Float jusqu'à n = 24. Fix porteur : le glob `.submodules `GradientFlow` ne couvrait pas le module racine — lake build "success" sans GradientFlow.olean, import kernel en env vide silencieux. Co-Authored-By: Claude-Code <noreply@anthropic.com>
|
✅ No prose/output mismatch detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
Grain: MED/notebook-lean — lane myia-po-2024:CoursIA — prev: DEEP/lean #14980
Livrable
Notebook compagnon 4.2b-Lean-GradientFlow-Vanishing (kernel
lean4-wsl, 19 cellules : 10 markdown + 9 code) exécutant le lakelearning_theory_lean/ moitiéGradientFlow(#14980) déclaration par déclaration, sur le modèle des companions 2.8b/2.8d :#checkdes signatures :abs_deriv_plainStack_le,abs_deriv_residualStack_ge,plainStack_deriv_bound,residualStack_deriv_bound,one_sub_le_abs_add, ancrestwo_fifths_pow_twenty_lt/three_fifths_pow_twenty_gt,plainStack_gradient_vanishes;t = ±2/5rejouée parexample … := by norm_num;Float(boundTable 0.4 [5, 10, 15, 20]puis exos jusqu'à n = 24) — la version tabulée de la pente semilog du 4.2 §3 ;#evalexécutables tels quels, aucune erreur volontaire).Fix porteur : glob racine du lakefile
globs := #[.submodulesGradientFlow,GradientFlow_en]ne couvre queGradientFlow.*, pas le module racineGradientFlow.lean. Conséquence mesurée :lake buildrend success sans jamais produireGradientFlow.olean, etimport GradientFlowen kernel/repl échoue en environnement vide silencieux (aucun message sur la ligne d'import,unknown namespacesur leopenqui suit — diagnostic complet dans la PR). Le glob devient#[.submodulesGradientFlow,GradientFlow,GradientFlow_en]`.PerceptronetPacLearning(racines FR jamais bâties) : signalé ici, non touché (hors scope du grain, un sujet par PR).Perceptron/PacLearningn'ont pas de notebook qui importe leur racine aujourd'hui (les companions 2.8b/2.8d importent les sous-modules), le piège y est donc latent, pas actif.Preuves d'exécution (H.1/H.4)
lake build GradientFlowdans le miroir WSL →Build completed successfully (8661 jobs)avec le job racine en plus (✔ [8660/8661] Built GradientFlow (30s)),GradientFlow.olean8648 o produit.EXEC_OK cells=19 errors=nonevia nbclient sur kernellean4-wsl(miroir du lake, feat(ml,#13199): 2.8d companion Lean Novikoff — borne exécutée depuis learning_theory_lean #13202 precedent), 0 marqueur d'erreur dans les outputs (l'inspection manuelle des rendus remplace la détection nbclient — le kernel lean4_jupyter rend les erreurs Lean en display_data, pas enoutput_type: error).#eval boundTable 0.4 [5,10,15,20]) :c^n0,010240 → 0,000000 contre(1-c)^n0,077760 → 0,000037 ; à n = 24 le plancher résiduel tient à 5e-06 (outputs commités, C.2).pedagogy_density.py,below_threshold: 0).raise NotImplementedError/assert False/1/0→ 0 occurrence.Sorry / axiomes (B.2)
Non applicable aux preuves : le diff ne touche aucun
*.leande preuve — uniquement lelakefile.lean(globs) et le notebook.count_code_sorry.pyinchangé par construction.Scope
See #13106 (tranche compagnon de l'exposition GradientFlow — contribution, l'EPIC reste ouverte). Claim amendé (c.5564599460) pour couvrir le lakefile.