diff --git a/MyIA.AI.Notebooks/SymbolicAI/Lean/ANALYSE/ANALYSE-03-PFR-Lean.ipynb b/MyIA.AI.Notebooks/SymbolicAI/Lean/ANALYSE/ANALYSE-03-PFR-Lean.ipynb index 49e0c99da5..3913a97433 100644 --- a/MyIA.AI.Notebooks/SymbolicAI/Lean/ANALYSE/ANALYSE-03-PFR-Lean.ipynb +++ b/MyIA.AI.Notebooks/SymbolicAI/Lean/ANALYSE/ANALYSE-03-PFR-Lean.ipynb @@ -5,10 +5,10 @@ "id": "cell-00", "metadata": { "papermill": { - "duration": 0.002412, - "end_time": "2026-08-20T23:43:34.079716+00:00", + "duration": 0.00256, + "end_time": "2026-10-23T14:47:59.224276+00:00", "exception": false, - "start_time": "2026-08-20T23:43:34.077304+00:00", + "start_time": "2026-10-23T14:47:59.221716+00:00", "status": "completed" }, "tags": [] @@ -29,7 +29,7 @@ "\n", "| Notebook précédent | Notebook suivant |\n", "|---|---|\n", - "| [ANALYSE-02 - Analysis-I Tao Workflow](ANALYSE-02-Tao-Lean-Python.ipynb) | [ANALYSE-04 - PFR Primitives](ANALYSE-04-PFR-Primitives-Python.ipynb) |\n", + "| [ANALYSE-02 - le manuel *Analysis I* de Tao en Lean 4](ANALYSE-02-Tao-Lean-Python.ipynb), puis ANALYSE-02b - Entropie de Shannon s'intercale (lien actif a l'atterrissage de #22198) | [ANALYSE-04 - PFR Primitives](ANALYSE-04-PFR-Primitives-Python.ipynb) |\n", "\n", "***\n", "\n", @@ -52,7 +52,16 @@ { "cell_type": "markdown", "id": "84ab53fa", - "metadata": {}, + "metadata": { + "papermill": { + "duration": 0.002005, + "end_time": "2026-10-23T14:47:59.228784+00:00", + "exception": false, + "start_time": "2026-10-23T14:47:59.226779+00:00", + "status": "completed" + }, + "tags": [] + }, "source": [ "## Provenance, priorité et nouveauté réelle\n", "\n", @@ -102,10 +111,10 @@ "id": "cell-01", "metadata": { "papermill": { - "duration": 0.002611, - "end_time": "2026-08-20T23:43:34.084399+00:00", + "duration": 0.002211, + "end_time": "2026-10-23T14:47:59.233753+00:00", "exception": false, - "start_time": "2026-08-20T23:43:34.081788+00:00", + "start_time": "2026-10-23T14:47:59.231542+00:00", "status": "completed" }, "tags": [] @@ -153,16 +162,16 @@ "id": "cell-02", "metadata": { "execution": { - "iopub.execute_input": "2026-08-20T23:43:34.091578Z", - "iopub.status.busy": "2026-08-20T23:43:34.091383Z", - "iopub.status.idle": "2026-08-20T23:43:44.063140Z", - "shell.execute_reply": "2026-08-20T23:43:44.062070Z" + "iopub.execute_input": "2026-10-23T14:47:59.240328Z", + "iopub.status.busy": "2026-10-23T14:47:59.240062Z", + "iopub.status.idle": "2026-10-23T14:48:03.243963Z", + "shell.execute_reply": "2026-10-23T14:48:03.241123Z" }, "papermill": { - "duration": 9.975923, - "end_time": "2026-08-20T23:43:44.063813+00:00", + "duration": 4.00864, + "end_time": "2026-10-23T14:48:03.245222+00:00", "exception": false, - "start_time": "2026-08-20T23:43:34.087890+00:00", + "start_time": "2026-10-23T14:47:59.236582+00:00", "status": "completed" }, "tags": [] @@ -180,27 +189,29 @@ " \n", " \n", "
-- Code 1.1 - Chargement natif du lac teorth/pfr et verification de l'enonce\n",
+ " -- Code 1.1 - Chargement natif du lac teorth/pfr et verification de l'enonce\n",
"--\n",
- "-- Tous les imports du notebook vivent dans cette cellule : l'environnement\n",
- "-- du kernel persiste de cellule en cellule, et un `import` n'est legal\n",
- "-- qu'en tete de fichier. Modules charges :\n",
- "-- PFR.Main : l'enonce combinatoire final\n",
+ "-- Tous les imports du notebook vivent dans cette cellule : l'environnement\n",
+ "-- du kernel persiste de cellule en cellule, et un `import` n'est legal\n",
+ "-- qu'en tete de fichier. Modules charges :\n",
+ "-- PFR.Main : l'enonce combinatoire final\n",
"-- PFR.ForMathlib.Entropy.Basic : H[X ; mu] et le pont cardinal\n",
"-- PFR.ForMathlib.Entropy.RuzsaDist : la distance de Ruzsa d[X ; Y]\n",
"-- PFR.EntropyPFR : la conjecture entropique (fonctionnelle tau)\n",
- "-- Mathlib...BinaryEntropy : l'entropie binaire (section 5)\n",
+ "-- Mathlib...BinaryEntropy : l'entropie binaire (section 5)\n",
"\n",
- "import PFR.Main\n",
- "import PFR.ForMathlib.Entropy.Basic\n",
- "import PFR.ForMathlib.Entropy.RuzsaDist\n",
- "import PFR.EntropyPFR\n",
- "import Mathlib.Analysis.SpecialFunctions.BinaryEntropy\n",
+ "import PFR.Main\n",
+ "import PFR.ForMathlib.Entropy.Basic\n",
+ "import PFR.ForMathlib.Entropy.RuzsaDist\n",
+ "import PFR.EntropyPFR\n",
+ "import Mathlib.Analysis.SpecialFunctions.BinaryEntropy\n",
"\n",
- "\n",
- "\n",
+ "\n",
+ "\n",
"--% env 0\n",
" -- Code 2.1 - Illustration : A + A et recouvrement par cosets dans F2^3\n",
"--\n",
"-- On represente F2^3 par les entiers 0..7 lus comme vecteurs binaires :\n",
- "-- l'addition de F2^3 est alors le XOR bit a bit.\n",
+ "-- l'addition de F2^3 est alors le XOR bit a bit.\n",
"\n",
- "def addBit (x y : Nat) : Nat := x ^^^ y\n",
+ "def addBit (x y : Nat) : Nat := x ^^^ y\n",
"\n",
- "def sumset (A : List Nat) : List Nat :=\n",
- " (A.flatMap fun a => A.map (addBit a)).eraseDups\n",
+ "def sumset (A : List Nat) : List Nat :=\n",
+ " (A.flatMap fun a => A.map (addBit a)).eraseDups\n",
"\n",
"-- A = {(0,0,0), (1,0,0), (0,1,0)}, codes par leur masque binaire\n",
- "def exempleA : List Nat := [0, 1, 2]\n",
+ "def exempleA : List Nat := [0, 1, 2]\n",
"\n",
- "\n",
- "\n",
- "\n",
+ "\n",
+ "\n",
+ "\n",
"\n",
"-- Recouvrement par les cosets de H = {0, 1} = Vect{(1,0,0)} :\n",
"-- la reunion des cosets a + H, pour a dans A\n",
- "\n",
+ "\n",
"--% env 1\n",
" \n",
" -- Code 3.1 - Les briques d'entropie du lac (PFR.ForMathlib.Entropy.Basic)\n",
+ " -- Code 3.1 - Les briques d'entropie du lac (PFR.ForMathlib.Entropy.Basic)\n",
"--\n",
- "-- entropy X mu := Hm[ mu.map X ] : l'entropie de Shannon de la loi-image.\n",
- "-- entropy_le_log_card : le pont "entropie = cardinal" -- pour X a valeurs\n",
+ "-- entropy X mu := Hm[ mu.map X ] : l'entropie de Shannon de la loi-image.\n",
+ "-- entropy_le_log_card : le pont \"entropie = cardinal\" -- pour X a valeurs\n",
"-- dans un type fini, H[X] <= log |support|, avec egalite pour la loi uniforme.\n",
"\n",
- "\n",
+ "\n",
"--% env 2\n",
" -- Code 4.1 - La distance de Ruzsa (PFR.ForMathlib.Entropy.RuzsaDist)\n",
"--\n",
"-- rdist X Y mesure la ressemblance informationnelle de deux lois :\n",
- "-- d[X ; Y] = H[X] + H[Y] - H[X + Y] pour copies independantes.\n",
+ "-- d[X ; Y] = H[X - Y] - H[X]/2 - H[Y]/2 (X, Y independantes).\n",
"-- rdist_def en est la definition ; IdentDistrib.rdist_congr la compatibilite\n",
- "-- au changement d'espace probabilise ; IndepFun.rdist_eq l'identite cle\n",
+ "-- au changement d'espace probabilise ; IndepFun.rdist_eq l'identite cle\n",
"-- pour fonctions independantes.\n",
"\n",
- "\n",
" \n",
" Raw input
\n",
- " {\"cmd\": \"-- Code 4.1 - La distance de Ruzsa (PFR.ForMathlib.Entropy.RuzsaDist)\\n--\\n-- rdist X Y mesure la ressemblance informationnelle de deux lois :\\n-- d[X ; Y] = H[X] + H[Y] - H[X + Y] pour copies independantes.\\n-- rdist_def en est la definition ; IdentDistrib.rdist_congr la compatibilite\\n-- au changement d'espace probabilise ; IndepFun.rdist_eq l'identite cle\\n-- pour fonctions independantes.\\n\\n#check @rdist\\n#check @rdist_def\\n#check @ProbabilityTheory.IdentDistrib.rdist_congr\\n#check @ProbabilityTheory.IndepFun.rdist_eq\\n#print axioms rdist_def\", \"env\": 2}\n",
+ " {\"cmd\": \"-- Code 4.1 - La distance de Ruzsa (PFR.ForMathlib.Entropy.RuzsaDist)\\n--\\n-- rdist X Y mesure la ressemblance informationnelle de deux lois :\\n-- d[X ; Y] = H[X - Y] - H[X]/2 - H[Y]/2 (X, Y independantes).\\n-- rdist_def en est la definition ; IdentDistrib.rdist_congr la compatibilite\\n-- au changement d'espace probabilise ; IndepFun.rdist_eq l'identite cle\\n-- pour fonctions independantes.\\n\\n#check @rdist\\n#check @rdist_def\\n#check @ProbabilityTheory.IdentDistrib.rdist_congr\\n#check @ProbabilityTheory.IndepFun.rdist_eq\\n#print axioms rdist_def\", \"env\": 2}\n",
" \n",
" \n",
" Raw output
\n",
@@ -852,7 +872,7 @@
"-- Code 4.1 - La distance de Ruzsa (PFR.ForMathlib.Entropy.RuzsaDist)\n",
"--\n",
"-- rdist X Y mesure la ressemblance informationnelle de deux lois :\n",
- "-- d[X ; Y] = H[X] + H[Y] - H[X + Y] pour copies independantes.\n",
+ "-- d[X ; Y] = H[X - Y] - H[X]/2 - H[Y]/2 (X, Y independantes).\n",
"-- rdist_def en est la definition ; IdentDistrib.rdist_congr la compatibilite\n",
"-- au changement d'espace probabilise ; IndepFun.rdist_eq l'identite cle\n",
"-- pour fonctions independantes.\n",
@@ -895,7 +915,7 @@
"--% env 3\n",
"\n",
"Raw input:\n",
- "{\"cmd\": \"-- Code 4.1 - La distance de Ruzsa (PFR.ForMathlib.Entropy.RuzsaDist)\\n--\\n-- rdist X Y mesure la ressemblance informationnelle de deux lois :\\n-- d[X ; Y] = H[X] + H[Y] - H[X + Y] pour copies independantes.\\n-- rdist_def en est la definition ; IdentDistrib.rdist_congr la compatibilite\\n-- au changement d'espace probabilise ; IndepFun.rdist_eq l'identite cle\\n-- pour fonctions independantes.\\n\\n#check @rdist\\n#check @rdist_def\\n#check @ProbabilityTheory.IdentDistrib.rdist_congr\\n#check @ProbabilityTheory.IndepFun.rdist_eq\\n#print axioms rdist_def\", \"env\": 2}\n",
+ "{\"cmd\": \"-- Code 4.1 - La distance de Ruzsa (PFR.ForMathlib.Entropy.RuzsaDist)\\n--\\n-- rdist X Y mesure la ressemblance informationnelle de deux lois :\\n-- d[X ; Y] = H[X - Y] - H[X]/2 - H[Y]/2 (X, Y independantes).\\n-- rdist_def en est la definition ; IdentDistrib.rdist_congr la compatibilite\\n-- au changement d'espace probabilise ; IndepFun.rdist_eq l'identite cle\\n-- pour fonctions independantes.\\n\\n#check @rdist\\n#check @rdist_def\\n#check @ProbabilityTheory.IdentDistrib.rdist_congr\\n#check @ProbabilityTheory.IndepFun.rdist_eq\\n#print axioms rdist_def\", \"env\": 2}\n",
"Raw output:\n",
"{\"messages\":\r\n",
" [{\"severity\": \"info\",\r\n",
@@ -934,7 +954,7 @@
"-- Code 4.1 - La distance de Ruzsa (PFR.ForMathlib.Entropy.RuzsaDist)\n",
"--\n",
"-- rdist X Y mesure la ressemblance informationnelle de deux lois :\n",
- "-- d[X ; Y] = H[X] + H[Y] - H[X + Y] pour copies independantes.\n",
+ "-- d[X ; Y] = H[X - Y] - H[X]/2 - H[Y]/2 (X, Y independantes).\n",
"-- rdist_def en est la definition ; IdentDistrib.rdist_congr la compatibilite\n",
"-- au changement d'espace probabilise ; IndepFun.rdist_eq l'identite cle\n",
"-- pour fonctions independantes.\n",
@@ -951,10 +971,10 @@
"id": "cell-10",
"metadata": {
"papermill": {
- "duration": 0.002765,
- "end_time": "2026-08-20T23:43:44.745942+00:00",
+ "duration": 0.003299,
+ "end_time": "2026-10-23T14:48:04.114754+00:00",
"exception": false,
- "start_time": "2026-08-20T23:43:44.743177+00:00",
+ "start_time": "2026-10-23T14:48:04.111455+00:00",
"status": "completed"
},
"tags": []
@@ -990,16 +1010,16 @@
"id": "cell-11",
"metadata": {
"execution": {
- "iopub.execute_input": "2026-08-20T23:43:44.752433Z",
- "iopub.status.busy": "2026-08-20T23:43:44.752255Z",
- "iopub.status.idle": "2026-08-20T23:43:44.931238Z",
- "shell.execute_reply": "2026-08-20T23:43:44.930524Z"
+ "iopub.execute_input": "2026-10-23T14:48:04.123413Z",
+ "iopub.status.busy": "2026-10-23T14:48:04.123138Z",
+ "iopub.status.idle": "2026-10-23T14:48:04.352461Z",
+ "shell.execute_reply": "2026-10-23T14:48:04.350329Z"
},
"papermill": {
- "duration": 0.183244,
- "end_time": "2026-08-20T23:43:44.931837+00:00",
+ "duration": 0.235497,
+ "end_time": "2026-10-23T14:48:04.353912+00:00",
"exception": false,
- "start_time": "2026-08-20T23:43:44.748593+00:00",
+ "start_time": "2026-10-23T14:48:04.118415+00:00",
"status": "completed"
},
"tags": []
@@ -1017,19 +1037,19 @@
" \n",
" \n",
" \n",
- " -- Code 5.1 - L'entropie binaire de Mathlib (Real.binEntropy)\n",
+ " -- Code 5.1 - L'entropie binaire de Mathlib (Real.binEntropy)\n",
"--\n",
"-- La famille BinaryEntropy : definition, forme canonique, symetrie,\n",
"-- cas degenerez, encadrement du maximum, stricte monotonie de part\n",
- "-- et d'autre de 1/2.\n",
+ "-- et d'autre de 1/2.\n",
"\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "\n",
- "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
"--% env 4\n",
" \n",
" \n",
@@ -1166,10 +1186,10 @@
"id": "cell-12",
"metadata": {
"papermill": {
- "duration": 0.002975,
- "end_time": "2026-08-20T23:43:44.937934+00:00",
+ "duration": 0.003424,
+ "end_time": "2026-10-23T14:48:04.361838+00:00",
"exception": false,
- "start_time": "2026-08-20T23:43:44.934959+00:00",
+ "start_time": "2026-10-23T14:48:04.358414+00:00",
"status": "completed"
},
"tags": []
@@ -1220,16 +1240,16 @@
"id": "cell-13",
"metadata": {
"execution": {
- "iopub.execute_input": "2026-08-20T23:43:44.944981Z",
- "iopub.status.busy": "2026-08-20T23:43:44.944790Z",
- "iopub.status.idle": "2026-08-20T23:43:45.119141Z",
- "shell.execute_reply": "2026-08-20T23:43:45.118358Z"
+ "iopub.execute_input": "2026-10-23T14:48:04.376999Z",
+ "iopub.status.busy": "2026-10-23T14:48:04.376423Z",
+ "iopub.status.idle": "2026-10-23T14:48:04.610649Z",
+ "shell.execute_reply": "2026-10-23T14:48:04.609295Z"
},
"papermill": {
- "duration": 0.178827,
- "end_time": "2026-08-20T23:43:45.119664+00:00",
+ "duration": 0.245394,
+ "end_time": "2026-10-23T14:48:04.611821+00:00",
"exception": false,
- "start_time": "2026-08-20T23:43:44.940837+00:00",
+ "start_time": "2026-10-23T14:48:04.366427+00:00",
"status": "completed"
},
"tags": []
@@ -1250,27 +1270,29 @@
" -- Code 6.1 - Le moteur de descente et la conjecture entropique (PFR.EntropyPFR)\n",
"--\n",
"-- tau_strictly_decreases : la fonctionnelle tau decroit strictement a chaque\n",
- "-- iteration -- c'est le moteur de la preuve. entropic_PFR_conjecture : la\n",
+ "-- iteration -- c'est le moteur de la preuve. entropic_PFR_conjecture : la\n",
"-- conjecture entropique (p.eta = 1/9 fixe le regime de presque-uniformite),\n",
"-- dont PFR_conjecture (section 1) se deduit.\n",
"\n",
- "\n",
+ "\n",
"--% env 5\n",
" \n",
" \n",
@@ -1284,12 +1306,12 @@
" \"pos\": {\"line\": 8, \"column\": 0},\r\n",
" \"endPos\": {\"line\": 8, \"column\": 6},\r\n",
" \"data\":\r\n",
- " \"@tau_strictly_decreases : ∀ {Ω₀₁ : Type u_2} {Ω₀₂ : Type u_3} [inst : MeasureTheory.MeasureSpace Ω₀₁]\\n [inst_1 : MeasureTheory.MeasureSpace Ω₀₂] {Ω : Type u_4} [mΩ : MeasureTheory.MeasureSpace Ω]\\n [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume] [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume]\\n [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume] {G : Type u_1} [inst_5 : AddCommGroup G] [Module (ZMod 2) G]\\n [Finite G] [inst_8 : MeasurableSpace G] [MeasurableSingletonClass G] (p : refPackage Ω₀₁ Ω₀₂ G) {X₁ X₂ : Ω → G},\\n Measurable X₁ → Measurable X₂ → tau_minimizes p X₁ X₂ → p.η = 1 / 9 → d[X₁ # X₂] = 0\"},\r\n",
+ " \"@tau_strictly_decreases : ∀ {Ω₀₁ : Type u_2} {Ω₀₂ : Type u_3} [inst : MeasureTheory.MeasureSpace Ω₀₁]\\n [inst_1 : MeasureTheory.MeasureSpace Ω₀₂] {Ω : Type u_4} [mΩ : MeasureTheory.MeasureSpace Ω]\\n [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume] [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume]\\n [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume] {G : Type u_1} [inst_5 : AddCommGroup G] [Module (ZMod 2) G]\\n [Finite G] [inst_8 : MeasurableSpace G] [MeasurableSingletonClass G] (p : refPackage Ω₀₁ Ω₀₂ G) {X₁ X₂ : Ω → G},\\n Measurable X₁ → Measurable X₂ → TauMinimizes p X₁ X₂ → p.η = 1 / 9 → d[X₁ # X₂] = 0\"},\r\n",
" {\"severity\": \"info\",\r\n",
" \"pos\": {\"line\": 9, \"column\": 0},\r\n",
" \"endPos\": {\"line\": 9, \"column\": 6},\r\n",
" \"data\":\r\n",
- " \"@entropic_PFR_conjecture : ∀ {Ω₀₁ : Type u_2} {Ω₀₂ : Type u_3} [inst : MeasureTheory.MeasureSpace Ω₀₁]\\n [inst_1 : MeasureTheory.MeasureSpace Ω₀₂] [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume]\\n [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume] {G : Type u_1} [inst_4 : AddCommGroup G]\\n [inst_5 : Module (ZMod 2) G] [Finite G] [inst_7 : MeasurableSpace G] [MeasurableSingletonClass G]\\n (p : refPackage Ω₀₁ Ω₀₂ G),\\n p.η = 1 / 9 →\\n ∃ H Ω mΩ U,\\n MeasureTheory.IsProbabilityMeasure MeasureTheory.volume ∧\\n Measurable U ∧\\n ProbabilityTheory.IsUniform (↑H) U MeasureTheory.volume ∧ d[p.X₀₁ # U] + d[p.X₀₂ # U] ≤ 11 * d[p.X₀₁ # p.X₀₂]\"},\r\n",
+ " \"@entropic_PFR_conjecture : ∀ {Ω₀₁ : Type u_2} {Ω₀₂ : Type u_3} [inst : MeasureTheory.MeasureSpace Ω₀₁]\\n [inst_1 : MeasureTheory.MeasureSpace Ω₀₂] [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume]\\n [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume] {G : Type u_1} [inst_4 : AddCommGroup G]\\n [inst_5 : Module (ZMod 2) G] [Finite G] [inst_7 : MeasurableSpace G] [MeasurableSingletonClass G]\\n (p : refPackage Ω₀₁ Ω₀₂ G),\\n p.η = 1 / 9 →\\n ∃ H Ω mΩ U,\\n MeasureTheory.IsProbabilityMeasure MeasureTheory.volume ∧\\n Measurable U ∧\\n ProbabilityTheory.IsUniform (↑H) U MeasureTheory.volume ∧\\n d[p.X₀₁ # U] + d[p.X₀₂ # U] ≤ 11 * d[p.X₀₁ # p.X₀₂] ∧\\n d[p.X₀₁ # U] ≤ 6 * d[p.X₀₁ # p.X₀₂] ∧ d[p.X₀₂ # U] ≤ 6 * d[p.X₀₁ # p.X₀₂]\"},\r\n",
" {\"severity\": \"info\",\r\n",
" \"pos\": {\"line\": 10, \"column\": 0},\r\n",
" \"endPos\": {\"line\": 10, \"column\": 6},\r\n",
@@ -1313,7 +1335,7 @@
" [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume] [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume]\n",
" [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume] {G : Type u_1} [inst_5 : AddCommGroup G] [Module (ZMod 2) G]\n",
" [Finite G] [inst_8 : MeasurableSpace G] [MeasurableSingletonClass G] (p : refPackage Ω₀₁ Ω₀₂ G) {X₁ X₂ : Ω → G},\n",
- " Measurable X₁ → Measurable X₂ → tau_minimizes p X₁ X₂ → p.η = 1 / 9 → d[X₁ # X₂] = 0\n",
+ " Measurable X₁ → Measurable X₂ → TauMinimizes p X₁ X₂ → p.η = 1 / 9 → d[X₁ # X₂] = 0\n",
"#check @entropic_PFR_conjecture\n",
"──────▶ @entropic_PFR_conjecture : ∀ {Ω₀₁ : Type u_2} {Ω₀₂ : Type u_3} [inst : MeasureTheory.MeasureSpace Ω₀₁]\n",
" [inst_1 : MeasureTheory.MeasureSpace Ω₀₂] [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume]\n",
@@ -1324,7 +1346,9 @@
" ∃ H Ω mΩ U,\n",
" MeasureTheory.IsProbabilityMeasure MeasureTheory.volume ∧\n",
" Measurable U ∧\n",
- " ProbabilityTheory.IsUniform (↑H) U MeasureTheory.volume ∧ d[p.X₀₁ # U] + d[p.X₀₂ # U] ≤ 11 * d[p.X₀₁ # p.X₀₂]\n",
+ " ProbabilityTheory.IsUniform (↑H) U MeasureTheory.volume ∧\n",
+ " d[p.X₀₁ # U] + d[p.X₀₂ # U] ≤ 11 * d[p.X₀₁ # p.X₀₂] ∧\n",
+ " d[p.X₀₁ # U] ≤ 6 * d[p.X₀₁ # p.X₀₂] ∧ d[p.X₀₂ # U] ≤ 6 * d[p.X₀₁ # p.X₀₂]\n",
"#print axioms entropic_PFR_conjecture\n",
"──────▶ 'entropic_PFR_conjecture' depends on axioms: [propext, Classical.choice, Quot.sound]\n",
"--% env 5\n",
@@ -1337,12 +1361,12 @@
" \"pos\": {\"line\": 8, \"column\": 0},\r\n",
" \"endPos\": {\"line\": 8, \"column\": 6},\r\n",
" \"data\":\r\n",
- " \"@tau_strictly_decreases : ∀ {Ω₀₁ : Type u_2} {Ω₀₂ : Type u_3} [inst : MeasureTheory.MeasureSpace Ω₀₁]\\n [inst_1 : MeasureTheory.MeasureSpace Ω₀₂] {Ω : Type u_4} [mΩ : MeasureTheory.MeasureSpace Ω]\\n [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume] [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume]\\n [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume] {G : Type u_1} [inst_5 : AddCommGroup G] [Module (ZMod 2) G]\\n [Finite G] [inst_8 : MeasurableSpace G] [MeasurableSingletonClass G] (p : refPackage Ω₀₁ Ω₀₂ G) {X₁ X₂ : Ω → G},\\n Measurable X₁ → Measurable X₂ → tau_minimizes p X₁ X₂ → p.η = 1 / 9 → d[X₁ # X₂] = 0\"},\r\n",
+ " \"@tau_strictly_decreases : ∀ {Ω₀₁ : Type u_2} {Ω₀₂ : Type u_3} [inst : MeasureTheory.MeasureSpace Ω₀₁]\\n [inst_1 : MeasureTheory.MeasureSpace Ω₀₂] {Ω : Type u_4} [mΩ : MeasureTheory.MeasureSpace Ω]\\n [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume] [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume]\\n [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume] {G : Type u_1} [inst_5 : AddCommGroup G] [Module (ZMod 2) G]\\n [Finite G] [inst_8 : MeasurableSpace G] [MeasurableSingletonClass G] (p : refPackage Ω₀₁ Ω₀₂ G) {X₁ X₂ : Ω → G},\\n Measurable X₁ → Measurable X₂ → TauMinimizes p X₁ X₂ → p.η = 1 / 9 → d[X₁ # X₂] = 0\"},\r\n",
" {\"severity\": \"info\",\r\n",
" \"pos\": {\"line\": 9, \"column\": 0},\r\n",
" \"endPos\": {\"line\": 9, \"column\": 6},\r\n",
" \"data\":\r\n",
- " \"@entropic_PFR_conjecture : ∀ {Ω₀₁ : Type u_2} {Ω₀₂ : Type u_3} [inst : MeasureTheory.MeasureSpace Ω₀₁]\\n [inst_1 : MeasureTheory.MeasureSpace Ω₀₂] [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume]\\n [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume] {G : Type u_1} [inst_4 : AddCommGroup G]\\n [inst_5 : Module (ZMod 2) G] [Finite G] [inst_7 : MeasurableSpace G] [MeasurableSingletonClass G]\\n (p : refPackage Ω₀₁ Ω₀₂ G),\\n p.η = 1 / 9 →\\n ∃ H Ω mΩ U,\\n MeasureTheory.IsProbabilityMeasure MeasureTheory.volume ∧\\n Measurable U ∧\\n ProbabilityTheory.IsUniform (↑H) U MeasureTheory.volume ∧ d[p.X₀₁ # U] + d[p.X₀₂ # U] ≤ 11 * d[p.X₀₁ # p.X₀₂]\"},\r\n",
+ " \"@entropic_PFR_conjecture : ∀ {Ω₀₁ : Type u_2} {Ω₀₂ : Type u_3} [inst : MeasureTheory.MeasureSpace Ω₀₁]\\n [inst_1 : MeasureTheory.MeasureSpace Ω₀₂] [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume]\\n [MeasureTheory.IsProbabilityMeasure MeasureTheory.volume] {G : Type u_1} [inst_4 : AddCommGroup G]\\n [inst_5 : Module (ZMod 2) G] [Finite G] [inst_7 : MeasurableSpace G] [MeasurableSingletonClass G]\\n (p : refPackage Ω₀₁ Ω₀₂ G),\\n p.η = 1 / 9 →\\n ∃ H Ω mΩ U,\\n MeasureTheory.IsProbabilityMeasure MeasureTheory.volume ∧\\n Measurable U ∧\\n ProbabilityTheory.IsUniform (↑H) U MeasureTheory.volume ∧\\n d[p.X₀₁ # U] + d[p.X₀₂ # U] ≤ 11 * d[p.X₀₁ # p.X₀₂] ∧\\n d[p.X₀₁ # U] ≤ 6 * d[p.X₀₁ # p.X₀₂] ∧ d[p.X₀₂ # U] ≤ 6 * d[p.X₀₁ # p.X₀₂]\"},\r\n",
" {\"severity\": \"info\",\r\n",
" \"pos\": {\"line\": 10, \"column\": 0},\r\n",
" \"endPos\": {\"line\": 10, \"column\": 6},\r\n",
@@ -1373,10 +1397,10 @@
"id": "cell-14",
"metadata": {
"papermill": {
- "duration": 0.002949,
- "end_time": "2026-08-20T23:43:45.125831+00:00",
+ "duration": 0.003583,
+ "end_time": "2026-10-23T14:48:04.620127+00:00",
"exception": false,
- "start_time": "2026-08-20T23:43:45.122882+00:00",
+ "start_time": "2026-10-23T14:48:04.616544+00:00",
"status": "completed"
},
"tags": []
@@ -1399,14 +1423,14 @@
"cell_type": "markdown",
"id": "cell-lean21-friction-8",
"metadata": {
- "tags": [],
"papermill": {
- "duration": 0.0,
- "end_time": "2026-09-12T21:30:00+00:00",
+ "duration": 0.003418,
+ "end_time": "2026-10-23T14:48:04.627017+00:00",
"exception": false,
- "start_time": "2026-09-12T21:30:00+00:00",
+ "start_time": "2026-10-23T14:48:04.623599+00:00",
"status": "completed"
- }
+ },
+ "tags": []
},
"source": [
"## 8. Friction et chemin de decouverte\n",
@@ -1422,14 +1446,14 @@
"cell_type": "markdown",
"id": "cell-lean21-friction-8-1",
"metadata": {
- "tags": [],
"papermill": {
- "duration": 0.0,
- "end_time": "2026-09-12T21:30:01+00:00",
+ "duration": 0.004281,
+ "end_time": "2026-10-23T14:48:04.635570+00:00",
"exception": false,
- "start_time": "2026-09-12T21:30:01+00:00",
+ "start_time": "2026-10-23T14:48:04.631289+00:00",
"status": "completed"
- }
+ },
+ "tags": []
},
"source": [
"### 8.1 Les obstacles connus - pourquoi la preuve a resiste\n",
@@ -1451,14 +1475,14 @@
"cell_type": "markdown",
"id": "cell-lean21-friction-8-2",
"metadata": {
- "tags": [],
"papermill": {
- "duration": 0.0,
- "end_time": "2026-09-12T21:30:02+00:00",
+ "duration": 0.004163,
+ "end_time": "2026-10-23T14:48:04.643288+00:00",
"exception": false,
- "start_time": "2026-09-12T21:30:02+00:00",
+ "start_time": "2026-10-23T14:48:04.639125+00:00",
"status": "completed"
- }
+ },
+ "tags": []
},
"source": [
"### 8.2 Le chemin de decouverte - ce qui marche vs ce qui bloque\n",
@@ -1486,7 +1510,17 @@
},
{
"cell_type": "markdown",
- "metadata": {},
+ "id": "1349d378",
+ "metadata": {
+ "papermill": {
+ "duration": 0.003426,
+ "end_time": "2026-10-23T14:48:04.655379+00:00",
+ "exception": false,
+ "start_time": "2026-10-23T14:48:04.651953+00:00",
+ "status": "completed"
+ },
+ "tags": []
+ },
"source": [
"### 8.3 Dette residuelle - ce qui reste ouvert apres la preuve KAW\n",
"\n",
@@ -1508,10 +1542,10 @@
"id": "cell-15",
"metadata": {
"papermill": {
- "duration": 0.003308,
- "end_time": "2026-08-20T23:43:45.132379+00:00",
+ "duration": 0.003845,
+ "end_time": "2026-10-23T14:48:04.662716+00:00",
"exception": false,
- "start_time": "2026-08-20T23:43:45.129071+00:00",
+ "start_time": "2026-10-23T14:48:04.658871+00:00",
"status": "completed"
},
"tags": []
@@ -1527,10 +1561,10 @@
"id": "cell-16",
"metadata": {
"papermill": {
- "duration": 0.003057,
- "end_time": "2026-08-20T23:43:45.138519+00:00",
+ "duration": 0.003726,
+ "end_time": "2026-10-23T14:48:04.670123+00:00",
"exception": false,
- "start_time": "2026-08-20T23:43:45.135462+00:00",
+ "start_time": "2026-10-23T14:48:04.666397+00:00",
"status": "completed"
},
"tags": []
@@ -1553,16 +1587,16 @@
"id": "cell-17",
"metadata": {
"execution": {
- "iopub.execute_input": "2026-08-20T23:43:45.145909Z",
- "iopub.status.busy": "2026-08-20T23:43:45.145727Z",
- "iopub.status.idle": "2026-08-20T23:43:45.313822Z",
- "shell.execute_reply": "2026-08-20T23:43:45.312795Z"
+ "iopub.execute_input": "2026-10-23T14:48:04.678774Z",
+ "iopub.status.busy": "2026-10-23T14:48:04.678506Z",
+ "iopub.status.idle": "2026-10-23T14:48:04.884751Z",
+ "shell.execute_reply": "2026-10-23T14:48:04.880516Z"
},
"papermill": {
- "duration": 0.172879,
- "end_time": "2026-08-20T23:43:45.314471+00:00",
+ "duration": 0.212799,
+ "end_time": "2026-10-23T14:48:04.886544+00:00",
"exception": false,
- "start_time": "2026-08-20T23:43:45.141592+00:00",
+ "start_time": "2026-10-23T14:48:04.673745+00:00",
"status": "completed"
},
"tags": []
@@ -1580,14 +1614,14 @@
" \n",
" \n",
" \n",
- " -- Exercice 1 - Entropie d'une loi uniforme\n",
+ " -- Exercice 1 - Entropie d'une loi uniforme\n",
"-- Étape 1 : instancier entropy_le_log_card pour X uniforme sur A.\n",
- "-- Étape 2 : montrer l'egalite H[X] = log |A| (masses egales).\n",
+ "-- Étape 2 : montrer l'egalite H[X] = log |A| (masses egales).\n",
"-- TODO etudiant\n",
"\n",
- "\n",
"--% env 6\n",
" \n",
" \n",
@@ -1648,10 +1682,10 @@
"id": "cell-18",
"metadata": {
"papermill": {
- "duration": 0.003188,
- "end_time": "2026-08-20T23:43:45.321268+00:00",
+ "duration": 0.004335,
+ "end_time": "2026-10-23T14:48:04.897001+00:00",
"exception": false,
- "start_time": "2026-08-20T23:43:45.318080+00:00",
+ "start_time": "2026-10-23T14:48:04.892666+00:00",
"status": "completed"
},
"tags": []
@@ -1675,16 +1709,16 @@
"id": "cell-19",
"metadata": {
"execution": {
- "iopub.execute_input": "2026-08-20T23:43:45.328710Z",
- "iopub.status.busy": "2026-08-20T23:43:45.328530Z",
- "iopub.status.idle": "2026-08-20T23:43:45.499963Z",
- "shell.execute_reply": "2026-08-20T23:43:45.499070Z"
+ "iopub.execute_input": "2026-10-23T14:48:04.905854Z",
+ "iopub.status.busy": "2026-10-23T14:48:04.905536Z",
+ "iopub.status.idle": "2026-10-23T14:48:05.131042Z",
+ "shell.execute_reply": "2026-10-23T14:48:05.129292Z"
},
"papermill": {
- "duration": 0.176182,
- "end_time": "2026-08-20T23:43:45.500540+00:00",
+ "duration": 0.233091,
+ "end_time": "2026-10-23T14:48:05.133767+00:00",
"exception": false,
- "start_time": "2026-08-20T23:43:45.324358+00:00",
+ "start_time": "2026-10-23T14:48:04.900676+00:00",
"status": "completed"
},
"tags": []
@@ -1709,7 +1743,7 @@
"-- Étape 3 : expliquer pourquoi le A dissocié ci-dessous donne K > 2.\n",
"-- TODO etudiant\n",
"\n",
- "\n",
+ "\n",
"--% env 7\n",
" \n",
" \n",
@@ -1770,10 +1804,10 @@
"id": "cell-20",
"metadata": {
"papermill": {
- "duration": 0.003572,
- "end_time": "2026-08-20T23:43:45.507930+00:00",
+ "duration": 0.00391,
+ "end_time": "2026-10-23T14:48:05.142264+00:00",
"exception": false,
- "start_time": "2026-08-20T23:43:45.504358+00:00",
+ "start_time": "2026-10-23T14:48:05.138354+00:00",
"status": "completed"
},
"tags": []
@@ -1797,16 +1831,16 @@
"id": "cell-21",
"metadata": {
"execution": {
- "iopub.execute_input": "2026-08-20T23:43:45.516023Z",
- "iopub.status.busy": "2026-08-20T23:43:45.515840Z",
- "iopub.status.idle": "2026-08-20T23:43:45.689180Z",
- "shell.execute_reply": "2026-08-20T23:43:45.687947Z"
+ "iopub.execute_input": "2026-10-23T14:48:05.152279Z",
+ "iopub.status.busy": "2026-10-23T14:48:05.152003Z",
+ "iopub.status.idle": "2026-10-23T14:48:05.360699Z",
+ "shell.execute_reply": "2026-10-23T14:48:05.358285Z"
},
"papermill": {
- "duration": 0.178497,
- "end_time": "2026-08-20T23:43:45.689867+00:00",
+ "duration": 0.215879,
+ "end_time": "2026-10-23T14:48:05.362015+00:00",
"exception": false,
- "start_time": "2026-08-20T23:43:45.511370+00:00",
+ "start_time": "2026-10-23T14:48:05.146136+00:00",
"status": "completed"
},
"tags": []
@@ -1824,13 +1858,13 @@
" \n",
" \n",
" \n",
- " -- Exercice 3 - Maximum de l'entropie binaire\n",
+ " -- Exercice 3 - Maximum de l'entropie binaire\n",
"-- Étape 1 : binEntropy_le_log_two donne le plafond.\n",
- "-- Étape 2 : binEntropy_eq_log_two caracterise l'egalite (p = 1/2).\n",
+ "-- Étape 2 : binEntropy_eq_log_two caracterise l'egalite (p = 1/2).\n",
"-- Étape 3 : binEntropy_eq_zero decrit les cas degenerez.\n",
"-- TODO etudiant\n",
"\n",
- "\n",
+ "\n",
"--% env 8\n",
" \n",
" \n",
@@ -1891,10 +1925,10 @@
"id": "cell-22",
"metadata": {
"papermill": {
- "duration": 0.004148,
- "end_time": "2026-08-20T23:43:45.698005+00:00",
+ "duration": 0.004387,
+ "end_time": "2026-10-23T14:48:05.370594+00:00",
"exception": false,
- "start_time": "2026-08-20T23:43:45.693857+00:00",
+ "start_time": "2026-10-23T14:48:05.366207+00:00",
"status": "completed"
},
"tags": []
@@ -1930,6 +1964,18 @@
"mimetype": "text/x-lean4",
"name": "lean4"
},
+ "papermill": {
+ "default_parameters": {},
+ "duration": 9.32352,
+ "end_time": "2026-10-23T14:48:05.794634+00:00",
+ "environment_variables": {},
+ "exception": null,
+ "input_path": "ANALYSE-03-PFR-Lean.ipynb",
+ "output_path": "ANALYSE-03-PFR-Lean.ipynb",
+ "parameters": {},
+ "start_time": "2026-10-23T14:47:56.471114+00:00",
+ "version": "2.7.0"
+ },
"title": "Lean-20 : La conjecture PFR (Gowers-Green-Manners-Tao) et la méthode entropique"
},
"nbformat": 4,