@lapxo/obligations 0.4.4 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/README.md +42 -3
  2. package/TARGET.bound +147 -4
  3. package/contracts/extension-lineage-participation.json +30 -0
  4. package/contracts/m0-allocation.json +6 -0
  5. package/contracts/m0-binomial-bridge.json +6 -0
  6. package/contracts/m0-diagonal-conditional.json +15 -0
  7. package/contracts/m0-finite-grid.json +6 -0
  8. package/contracts/m0-keff-interval.json +27 -0
  9. package/contracts/m0-limit-diag.json +6 -0
  10. package/contracts/m0-limit-offdiag.json +6 -0
  11. package/contracts/m0-moment-identification.json +42 -0
  12. package/contracts/m0-pair-coincidence.json +6 -0
  13. package/contracts/m1-diagonal-regions.json +45 -0
  14. package/contracts/m1-generator-binomial.json +26 -0
  15. package/contracts/m1-offdiag-limit.json +42 -0
  16. package/contracts/m1-subcauses.json +66 -0
  17. package/contracts/model-collapse-1a.json +16 -0
  18. package/contracts/projection-chain.json +20 -0
  19. package/docs/contracts/experiment1a-public-attribution.md +1 -0
  20. package/docs/contracts/extension-lineage-participation.md +13 -0
  21. package/docs/contracts/installation-046-inputs.md +1 -0
  22. package/docs/contracts/m0-allocation.md +1 -0
  23. package/docs/contracts/m0-binomial-bridge.md +1 -0
  24. package/docs/contracts/m0-diagonal-lindeberg.md +1 -0
  25. package/docs/contracts/m0-diagonal-moments.md +1 -0
  26. package/docs/contracts/m0-diagonal-symmetric.md +1 -0
  27. package/docs/contracts/m0-diagonal-threshold.md +1 -0
  28. package/docs/contracts/m0-finite-grid.md +1 -0
  29. package/docs/contracts/m0-keff-floor-refutation.md +1 -0
  30. package/docs/contracts/m0-keff-interval.md +1 -0
  31. package/docs/contracts/m0-limit-diag.md +1 -0
  32. package/docs/contracts/m0-limit-offdiag.md +1 -0
  33. package/docs/contracts/m0-moment-identification.md +1 -0
  34. package/docs/contracts/m0-pair-coincidence.md +1 -0
  35. package/docs/contracts/m0-refuted-inverses.md +1 -0
  36. package/docs/contracts/m0-wf-floor-refutation.md +1 -0
  37. package/docs/contracts/m1-diagonal-regions.md +1 -0
  38. package/docs/contracts/m1-generator-binomial.md +1 -0
  39. package/docs/contracts/m1-offdiag-limit.md +1 -0
  40. package/docs/contracts/model-collapse-1a.md +11 -0
  41. package/docs/contracts/projection-chain.md +1 -0
  42. package/docs/proofs/floor-limit-diag.proof.json +29 -0
  43. package/package.json +1 -1
  44. package/proofs/definitions-046/declaration.json +11 -0
  45. package/proofs/experiment1a-046/declaration.json +11 -0
  46. package/proofs/m0-045/Obligations045/ConsensusGrid.lean +72 -0
  47. package/proofs/m0-045/Obligations045/M0Coincidence.lean +39 -0
  48. package/proofs/m0-045/Obligations045/M0Diagonal.lean +18 -0
  49. package/proofs/m0-045/Obligations045/M0Limit.lean +134 -0
  50. package/proofs/m0-045/Obligations045/M0Offdiag.lean +171 -0
  51. package/proofs/m0-045/Obligations045.lean +5 -0
  52. package/proofs/m0-045/lake-manifest.json +116 -0
  53. package/proofs/m0-045/lakefile.toml +9 -0
  54. package/proofs/m0-045/lean-toolchain +1 -0
  55. package/proofs/m0-046/BridgeNegatives.lean +23 -0
  56. package/proofs/m0-046/M0Bridge.lean +300 -0
  57. package/proofs/m0-046/Obligations045/ConsensusGrid.lean +72 -0
  58. package/proofs/m0-046/Obligations045/M0Coincidence.lean +39 -0
  59. package/proofs/m0-046/Obligations045/M0Diagonal.lean +18 -0
  60. package/proofs/m0-046/Obligations045/M0Limit.lean +134 -0
  61. package/proofs/m0-046/Obligations045/M0Offdiag.lean +171 -0
  62. package/proofs/m0-046/Obligations045.lean +5 -0
  63. package/proofs/m0-046/lake-manifest.json +116 -0
  64. package/proofs/m0-046/lakefile.toml +14 -0
  65. package/proofs/m0-046/lean-toolchain +1 -0
  66. package/proofs/m0-046-diagonal/BridgeNegatives.lean +23 -0
  67. package/proofs/m0-046-diagonal/M0Bridge.lean +300 -0
  68. package/proofs/m0-046-diagonal/M0Diagonal046.lean +235 -0
  69. package/proofs/m0-046-diagonal/M0Lindeberg046.lean +92 -0
  70. package/proofs/m0-046-diagonal/M0Moments046.lean +295 -0
  71. package/proofs/m0-046-diagonal/M0Threshold046.lean +278 -0
  72. package/proofs/m0-046-diagonal/Obligations045/ConsensusGrid.lean +72 -0
  73. package/proofs/m0-046-diagonal/Obligations045/M0Coincidence.lean +39 -0
  74. package/proofs/m0-046-diagonal/Obligations045/M0Diagonal.lean +18 -0
  75. package/proofs/m0-046-diagonal/Obligations045/M0Limit.lean +134 -0
  76. package/proofs/m0-046-diagonal/Obligations045/M0Offdiag.lean +171 -0
  77. package/proofs/m0-046-diagonal/Obligations045.lean +5 -0
  78. package/proofs/m0-046-diagonal/lake-manifest.json +116 -0
  79. package/proofs/m0-046-diagonal/lakefile.toml +26 -0
  80. package/proofs/m0-046-diagonal/lean-toolchain +1 -0
  81. package/proofs/m0-046-identification/M0Identification046.lean +209 -0
  82. package/proofs/m0-046-identification/Obligations045/M0Coincidence.lean +39 -0
  83. package/proofs/m0-046-identification/lake-manifest.json +116 -0
  84. package/proofs/m0-046-identification/lakefile.toml +12 -0
  85. package/proofs/m0-046-identification/lean-toolchain +1 -0
  86. package/proofs/m0-046-uncertainty/BridgeNegatives.lean +23 -0
  87. package/proofs/m0-046-uncertainty/M0BlockCoverage046.lean +163 -0
  88. package/proofs/m0-046-uncertainty/M0Bridge.lean +300 -0
  89. package/proofs/m0-046-uncertainty/M0Diagonal046.lean +235 -0
  90. package/proofs/m0-046-uncertainty/M0FiniteDiscord046.lean +207 -0
  91. package/proofs/m0-046-uncertainty/M0Interval046.lean +82 -0
  92. package/proofs/m0-046-uncertainty/M0Lindeberg046.lean +92 -0
  93. package/proofs/m0-046-uncertainty/M0Moments046.lean +295 -0
  94. package/proofs/m0-046-uncertainty/M0Threshold046.lean +278 -0
  95. package/proofs/m0-046-uncertainty/Obligations045/ConsensusGrid.lean +72 -0
  96. package/proofs/m0-046-uncertainty/Obligations045/M0Coincidence.lean +39 -0
  97. package/proofs/m0-046-uncertainty/Obligations045/M0Diagonal.lean +18 -0
  98. package/proofs/m0-046-uncertainty/Obligations045/M0Limit.lean +134 -0
  99. package/proofs/m0-046-uncertainty/Obligations045/M0Offdiag.lean +171 -0
  100. package/proofs/m0-046-uncertainty/Obligations045.lean +5 -0
  101. package/proofs/m0-046-uncertainty/lake-manifest.json +116 -0
  102. package/proofs/m0-046-uncertainty/lakefile.toml +35 -0
  103. package/proofs/m0-046-uncertainty/lean-toolchain +1 -0
  104. package/proofs/m1-046-bridge/M0Bridge.lean +300 -0
  105. package/proofs/m1-046-bridge/M1Bridge046.lean +359 -0
  106. package/proofs/m1-046-bridge/Obligations045/M0Limit.lean +134 -0
  107. package/proofs/m1-046-bridge/Obligations045/M0Offdiag.lean +171 -0
  108. package/proofs/m1-046-bridge/lake-manifest.json +116 -0
  109. package/proofs/m1-046-bridge/lakefile.toml +29 -0
  110. package/proofs/m1-046-bridge/lean-toolchain +1 -0
  111. package/proofs/m1-046-diagonal/M0Bridge.lean +300 -0
  112. package/proofs/m1-046-diagonal/M0Diagonal046.lean +235 -0
  113. package/proofs/m1-046-diagonal/M0Lindeberg046.lean +92 -0
  114. package/proofs/m1-046-diagonal/M0Moments046.lean +295 -0
  115. package/proofs/m1-046-diagonal/M0Threshold046.lean +278 -0
  116. package/proofs/m1-046-diagonal/M1Bridge046.lean +359 -0
  117. package/proofs/m1-046-diagonal/M1Diagonal046.lean +334 -0
  118. package/proofs/m1-046-diagonal/M1Offdiag046.lean +270 -0
  119. package/proofs/m1-046-diagonal/Obligations045/M0Limit.lean +134 -0
  120. package/proofs/m1-046-diagonal/Obligations045/M0Offdiag.lean +171 -0
  121. package/proofs/m1-046-diagonal/lake-manifest.json +116 -0
  122. package/proofs/m1-046-diagonal/lakefile.toml +35 -0
  123. package/proofs/m1-046-diagonal/lean-toolchain +1 -0
  124. package/proofs/m1-046-offdiag/M0Bridge.lean +300 -0
  125. package/proofs/m1-046-offdiag/M0Diagonal046.lean +235 -0
  126. package/proofs/m1-046-offdiag/M0Moments046.lean +295 -0
  127. package/proofs/m1-046-offdiag/M1Bridge046.lean +359 -0
  128. package/proofs/m1-046-offdiag/M1Offdiag046.lean +270 -0
  129. package/proofs/m1-046-offdiag/Obligations045/M0Limit.lean +134 -0
  130. package/proofs/m1-046-offdiag/Obligations045/M0Offdiag.lean +171 -0
  131. package/proofs/m1-046-offdiag/lake-manifest.json +116 -0
  132. package/proofs/m1-046-offdiag/lakefile.toml +32 -0
  133. package/proofs/m1-046-offdiag/lean-toolchain +1 -0
  134. package/proofs/projection-chain.md +11 -0
  135. package/protocols/model-collapse-1a.json +108 -0
  136. package/receipts.bound +684 -208
  137. package/samples/laws/definitions/no/sample.json +26 -0
  138. package/samples/laws/definitions/yes/sample.json +12 -0
  139. package/samples/laws/experiment1a/no/sample.json +16 -0
  140. package/samples/laws/experiment1a/yes/sample.json +8 -0
  141. package/samples/laws/m0-allocation/no/sample.json +5 -0
  142. package/samples/laws/m0-allocation/yes/sample.json +7 -0
  143. package/samples/laws/m0-binomial-bridge/no/pairwise-is-not-joint.json +59 -0
  144. package/samples/laws/m0-binomial-bridge/no/sample.json +13 -0
  145. package/samples/laws/m0-binomial-bridge/yes/sample.json +16 -0
  146. package/samples/laws/m0-binomial-bridge/yes/small-binomial-table.json +100 -0
  147. package/samples/laws/m0-diagonal-conditional/no/sample.json +5 -0
  148. package/samples/laws/m0-diagonal-conditional/yes/sample.json +7 -0
  149. package/samples/laws/m0-finite-grid/no/sample.json +5 -0
  150. package/samples/laws/m0-finite-grid/yes/sample.json +7 -0
  151. package/samples/laws/m0-keff-interval/no/sample.json +215 -0
  152. package/samples/laws/m0-keff-interval/yes/api-rows.json +2002 -0
  153. package/samples/laws/m0-keff-interval/yes/sample.json +70 -0
  154. package/samples/laws/m0-limit-diag/no/sample.json +5 -0
  155. package/samples/laws/m0-limit-diag/yes/sample.json +7 -0
  156. package/samples/laws/m0-limit-offdiag/no/sample.json +5 -0
  157. package/samples/laws/m0-limit-offdiag/yes/sample.json +7 -0
  158. package/samples/laws/m0-moment-identification/no/sample.json +47 -0
  159. package/samples/laws/m0-moment-identification/yes/sample.json +97 -0
  160. package/samples/laws/m0-pair-coincidence/no/sample.json +5 -0
  161. package/samples/laws/m0-pair-coincidence/yes/sample.json +7 -0
  162. package/samples/laws/m1-diagonal-regions/no/sample.json +44 -0
  163. package/samples/laws/m1-diagonal-regions/yes/sample.json +45 -0
  164. package/samples/laws/m1-generator-binomial/no/sample.json +21 -0
  165. package/samples/laws/m1-generator-binomial/yes/sample.json +290 -0
  166. package/samples/laws/m1-offdiag-limit/no/sample.json +17 -0
  167. package/samples/laws/m1-offdiag-limit/yes/sample.json +87 -0
  168. package/samples/laws/projection-chain/no/sample.json +26 -0
  169. package/samples/laws/projection-chain/yes/sample.json +25 -0
  170. package/samples/no/installed-artifact.json +2 -2
  171. package/samples/yes/installed-artifact.json +2 -2
  172. package/src/laws/laws.bound +146 -0
  173. package/vectors/laws/a7-t90.json +72 -0
  174. package/vectors/laws/a9-t99.json +110 -0
  175. package/vectors/laws/definitions.native-capture.json +326 -0
  176. package/vectors/laws/definitions.native.json +82 -0
  177. package/vectors/laws/experiment1a-protocol.native-capture.json +391 -0
  178. package/vectors/laws/experiment1a-protocol.native.json +64 -0
  179. package/vectors/laws/experiment1a-public-input.native-capture.json +224 -0
  180. package/vectors/laws/m0-allocation.lean.json +150 -0
  181. package/vectors/laws/m0-allocation.native.json +104 -0
  182. package/vectors/laws/m0-binomial-bridge.lean.json +185 -0
  183. package/vectors/laws/m0-diagonal-lindeberg.lean.json +167 -0
  184. package/vectors/laws/m0-diagonal-moments.lean.json +185 -0
  185. package/vectors/laws/m0-diagonal-symmetric.lean.json +188 -0
  186. package/vectors/laws/m0-diagonal-threshold.lean.json +199 -0
  187. package/vectors/laws/m0-finite-grid.lean.json +144 -0
  188. package/vectors/laws/m0-finite-grid.native.json +104 -0
  189. package/vectors/laws/m0-identification.lean.json +136 -0
  190. package/vectors/laws/m0-identification.native-capture.json +230 -0
  191. package/vectors/laws/m0-keff-interval.json +569 -0
  192. package/vectors/laws/m0-limit-diag.lean.json +141 -0
  193. package/vectors/laws/m0-limit-diag.native.json +108 -0
  194. package/vectors/laws/m0-limit-offdiag.lean.json +143 -0
  195. package/vectors/laws/m0-limit-offdiag.native.json +104 -0
  196. package/vectors/laws/m0-pair-coincidence.lean.json +139 -0
  197. package/vectors/laws/m0-pair-coincidence.native.json +104 -0
  198. package/vectors/laws/m0-uncertainty-blocks.lean.json +201 -0
  199. package/vectors/laws/m0-uncertainty-finite-discord.lean.json +194 -0
  200. package/vectors/laws/m0-uncertainty-interval.lean.json +189 -0
  201. package/vectors/laws/m0-uncertainty.native-capture.json +651 -0
  202. package/vectors/laws/m1-diagonal-partial.lean.json +192 -0
  203. package/vectors/laws/m1-diagonal-partial.native-capture.json +275 -0
  204. package/vectors/laws/m1-generator-binomial.lean.json +162 -0
  205. package/vectors/laws/m1-generator-binomial.native-capture.json +245 -0
  206. package/vectors/laws/m1-offdiag-limit.lean.json +166 -0
  207. package/vectors/laws/m1-offdiag-limit.native-capture.json +260 -0
  208. package/vectors/laws/model-collapse-1a.json +12 -0
  209. package/vectors/laws/projection-chain.json +61 -0
  210. package/vectors/laws/projection-chain.native-capture.json +311 -0
  211. package/vectors/laws/projection-chain.native.json +56 -0
  212. package/vectors/measures/installed-artifact.cli.json +6 -6
@@ -0,0 +1,144 @@
1
+ {
2
+ "id": "m0-045-preparation",
3
+ "claim": "conditional-transfer-not-unconditional-limit",
4
+ "status": "unsigned reader candidate, no native standing receipt",
5
+ "proof": {
6
+ "files": [
7
+ {
8
+ "path": "proofs/m0-045/Obligations045/ConsensusGrid.lean",
9
+ "sha256": "sha256:b26a1b68522e881e446a47f4c84cd8b569a1c48f085a5c9a9d03abdeecafacce"
10
+ },
11
+ {
12
+ "path": "proofs/m0-045/Obligations045/M0Coincidence.lean",
13
+ "sha256": "sha256:e870a43e435f4b4b52f28f44dd7391c40704faa41febd272434d2e56b2bd6771"
14
+ },
15
+ {
16
+ "path": "proofs/m0-045/Obligations045/M0Diagonal.lean",
17
+ "sha256": "sha256:4d83f047fc5e199f46b2cc28dfe77b006a7dd408f0f14ed54afb5e21315148e2"
18
+ },
19
+ {
20
+ "path": "proofs/m0-045/Obligations045/M0Limit.lean",
21
+ "sha256": "sha256:aedc88b8ba4edf884cacec78da82eef29187ded0199d44674466425af1585b8c"
22
+ },
23
+ {
24
+ "path": "proofs/m0-045/Obligations045/M0Offdiag.lean",
25
+ "sha256": "sha256:af8a95d00cd0956acaec06deeebe7156dccf156b698408275c3e710f58c1c1e8"
26
+ },
27
+ {
28
+ "path": "proofs/m0-045/Obligations045.lean",
29
+ "sha256": "sha256:be4956a2720d696e5456ad108543945c6f65f1986126513f10edcd4f1841bced"
30
+ },
31
+ {
32
+ "path": "proofs/m0-045/lake-manifest.json",
33
+ "sha256": "sha256:fc8b4ba4b08bbcadf736bc8bcf803b5fdedfebafb57dec61ce0106e99964285d"
34
+ },
35
+ {
36
+ "path": "proofs/m0-045/lakefile.toml",
37
+ "sha256": "sha256:965c6f528716b66d706ea51bfdc5254feac3acf945026f8e74371c11532d8174"
38
+ },
39
+ {
40
+ "path": "proofs/m0-045/lean-toolchain",
41
+ "sha256": "sha256:55e97be96000b5e9e290c9e74482e5e317861499a5540353ce845471bded8cea"
42
+ }
43
+ ],
44
+ "mathlib": "c44e0c8ee63ca166450922a373c7409c5d26b00b",
45
+ "auditedTheorems": [
46
+ "Obligations045.grid_has_720_cases",
47
+ "Obligations045.closed_form_matches_full_configurations",
48
+ "Obligations045.grid_probability_range",
49
+ "Obligations045.inverse_alias",
50
+ "Obligations045.same_effective_participation_different_floor",
51
+ "Obligations045.wf_transition_normalized",
52
+ "Obligations045.wf_floor_decreases_in_expectation"
53
+ ],
54
+ "allowedAxioms": [
55
+ "propext",
56
+ "Quot.sound",
57
+ "Classical.choice"
58
+ ]
59
+ },
60
+ "samples": {
61
+ "inputs": [
62
+ "contracts/m0-finite-grid.json",
63
+ "samples/laws/m0-finite-grid/yes/sample.json",
64
+ "samples/laws/m0-finite-grid/no/sample.json",
65
+ "vectors/laws/policy.json"
66
+ ],
67
+ "digests": {
68
+ "contracts/m0-finite-grid.json": "sha256:be646f6799ac0106f8de31870799df4e1525e22deb4b8e9299433b5139387a33",
69
+ "samples/laws/m0-finite-grid/yes/sample.json": "sha256:62c5c8db8d66602b452e1a7baf84c98e601d60c3e62730393313a7e02ed2fd17",
70
+ "samples/laws/m0-finite-grid/no/sample.json": "sha256:0361cd9a6fae977c3613560df9213176c728e07c23396e3aa43992b9da4de15f",
71
+ "vectors/laws/policy.json": "sha256:e941ce8cd86f0ec31621fa6b4deef9685dc1fead283f4b2fe22a8a58e3d5d939"
72
+ }
73
+ },
74
+ "capturePolicy": {
75
+ "timeoutMs": 25000,
76
+ "responseBytes": 65536
77
+ },
78
+ "execution": {
79
+ "profile": "lean-kernel@1",
80
+ "project": "proofs/m0-045",
81
+ "identityInputs": [
82
+ "proofs/m0-045/Obligations045/ConsensusGrid.lean",
83
+ "proofs/m0-045/Obligations045/M0Coincidence.lean",
84
+ "proofs/m0-045/Obligations045/M0Diagonal.lean",
85
+ "proofs/m0-045/Obligations045/M0Limit.lean",
86
+ "proofs/m0-045/Obligations045/M0Offdiag.lean",
87
+ "proofs/m0-045/Obligations045.lean",
88
+ "proofs/m0-045/lake-manifest.json",
89
+ "proofs/m0-045/lakefile.toml",
90
+ "proofs/m0-045/lean-toolchain",
91
+ "vectors/laws/m0-finite-grid.lean.json",
92
+ "contracts/m0-finite-grid.json",
93
+ "samples/laws/m0-finite-grid/yes/sample.json",
94
+ "samples/laws/m0-finite-grid/no/sample.json",
95
+ "vectors/laws/policy.json"
96
+ ],
97
+ "toolchain": "leanprover/lean4:v4.19.0",
98
+ "compilerIdentity": "6caaee842e94",
99
+ "targets": [
100
+ "Obligations045"
101
+ ],
102
+ "sources": [
103
+ "Obligations045/ConsensusGrid.lean"
104
+ ],
105
+ "auditImports": [
106
+ "Obligations045.ConsensusGrid"
107
+ ],
108
+ "negative": {
109
+ "name": "false-wf-floor-monotonicity",
110
+ "source": "import Obligations045.ConsensusGrid\nexample : Obligations045.wfNumerator > Obligations045.floorNumerator [3,1,1]*5^5 := by decide\n",
111
+ "exitCode": 1,
112
+ "cause": [
113
+ "tactic 'decide'",
114
+ "is false"
115
+ ]
116
+ },
117
+ "extraNegatives": []
118
+ },
119
+ "limits": [
120
+ "The reader candidate reuses executeLean, auditLeanAxioms and judgeLeanNegative from the existing instrument; only declaration-based selection is extended.",
121
+ "No Bound source, authority, signed file or wire is modified.",
122
+ "Three original demand cards remain open; no root TARGET or release receipt is regenerated."
123
+ ],
124
+ "revision": "v2-offdiag-explicit-diagonal-vector",
125
+ "quartets": [
126
+ "m0-allocation",
127
+ "m0-finite-grid",
128
+ "m0-limit-offdiag",
129
+ "m0-limit-diag",
130
+ "m0-pair-coincidence"
131
+ ],
132
+ "theoremBoundary": {
133
+ "offdiag": "kernel theorem on conditional lineage-array probability spaces; no convergence hypothesis or CLT assumed",
134
+ "diag": "finite vector + written normal-approximation proof; no general Lean theorem",
135
+ "computationalBridge": "Grouped binomial count formula to lineage-array integral has not been separately formalized",
136
+ "lawPromotion": "none; no admission, signatures or READY"
137
+ },
138
+ "diagonalProof": {
139
+ "path": "docs/proofs/floor-limit-diag.proof.json",
140
+ "sha256": "sha256:6f090440c1c08fb6238541f143b868a29ace832d236b44382eb0f8f74cbed5d0",
141
+ "kernelChecked": false,
142
+ "classification": "text proof relying on cited external normal-approximation theorem; finite vector separately kernel checked"
143
+ }
144
+ }
@@ -0,0 +1,104 @@
1
+ {
2
+ "format": "native-reading-capture@1",
3
+ "region": "m0-finite-grid",
4
+ "contract": "contracts/m0-finite-grid.json",
5
+ "executionVector": "vectors/laws/m0-finite-grid.lean.json",
6
+ "canonicalPolicy": "vectors/laws/policy.json",
7
+ "sourceInputDigests": [
8
+ {
9
+ "path": "proofs/m0-045/Obligations045/ConsensusGrid.lean",
10
+ "sha256": "sha256:b26a1b68522e881e446a47f4c84cd8b569a1c48f085a5c9a9d03abdeecafacce"
11
+ },
12
+ {
13
+ "path": "proofs/m0-045/Obligations045/M0Coincidence.lean",
14
+ "sha256": "sha256:e870a43e435f4b4b52f28f44dd7391c40704faa41febd272434d2e56b2bd6771"
15
+ },
16
+ {
17
+ "path": "proofs/m0-045/Obligations045/M0Diagonal.lean",
18
+ "sha256": "sha256:4d83f047fc5e199f46b2cc28dfe77b006a7dd408f0f14ed54afb5e21315148e2"
19
+ },
20
+ {
21
+ "path": "proofs/m0-045/Obligations045/M0Limit.lean",
22
+ "sha256": "sha256:aedc88b8ba4edf884cacec78da82eef29187ded0199d44674466425af1585b8c"
23
+ },
24
+ {
25
+ "path": "proofs/m0-045/Obligations045/M0Offdiag.lean",
26
+ "sha256": "sha256:af8a95d00cd0956acaec06deeebe7156dccf156b698408275c3e710f58c1c1e8"
27
+ },
28
+ {
29
+ "path": "proofs/m0-045/Obligations045.lean",
30
+ "sha256": "sha256:be4956a2720d696e5456ad108543945c6f65f1986126513f10edcd4f1841bced"
31
+ },
32
+ {
33
+ "path": "proofs/m0-045/lake-manifest.json",
34
+ "sha256": "sha256:fc8b4ba4b08bbcadf736bc8bcf803b5fdedfebafb57dec61ce0106e99964285d"
35
+ },
36
+ {
37
+ "path": "proofs/m0-045/lakefile.toml",
38
+ "sha256": "sha256:965c6f528716b66d706ea51bfdc5254feac3acf945026f8e74371c11532d8174"
39
+ },
40
+ {
41
+ "path": "proofs/m0-045/lean-toolchain",
42
+ "sha256": "sha256:55e97be96000b5e9e290c9e74482e5e317861499a5540353ce845471bded8cea"
43
+ },
44
+ {
45
+ "path": "vectors/laws/m0-finite-grid.lean.json",
46
+ "sha256": "sha256:14391fbf80c81bd5efdf840a82a3d37976de759ee70eed1e8fbb1480f605135a"
47
+ },
48
+ {
49
+ "path": "contracts/m0-finite-grid.json",
50
+ "sha256": "sha256:be646f6799ac0106f8de31870799df4e1525e22deb4b8e9299433b5139387a33"
51
+ },
52
+ {
53
+ "path": "samples/laws/m0-finite-grid/yes/sample.json",
54
+ "sha256": "sha256:62c5c8db8d66602b452e1a7baf84c98e601d60c3e62730393313a7e02ed2fd17"
55
+ },
56
+ {
57
+ "path": "samples/laws/m0-finite-grid/no/sample.json",
58
+ "sha256": "sha256:0361cd9a6fae977c3613560df9213176c728e07c23396e3aa43992b9da4de15f"
59
+ },
60
+ {
61
+ "path": "vectors/laws/policy.json",
62
+ "sha256": "sha256:e941ce8cd86f0ec31621fa6b4deef9685dc1fead283f4b2fe22a8a58e3d5d939"
63
+ }
64
+ ],
65
+ "nativeReceiptRows": [
66
+ "bound-lock/1 at=place:sha256:fe01a38e23c195a0e3c985b40255cb4a86d0b6f8ed38488e9ef1a9db2f3c11ee by=reader:4b68d86cae08 form=alphabet measure=observed role=writes scope=receipts/readings/7a726b2e51efc58434d93f214aa12078d9467a6706a088f8d3726a62e31ffe2e/2cc88d676aed52c4a4d1b18d41122c6d52435929ea686711ebb7f2613c962d5e value=fe01a38e23c195a0",
67
+ "bound-lock/1 about=\"bound-lock/1 at=place:sha256:2cc88d676aed52c4a4d1b18d41122c6d52435929ea686711ebb7f2613c962d5e by=reader:4b68d86cae08 form=alphabet measure=digest role=writes scope=publication/evidence/m0-finite-grid/verification value=sha256:bca621588fab949b843918698e1404a05109708d7c88c1c65df7fe5e8e138866\\nbound-lock/1 at=place:sha256:2cc88d676aed52c4a4d1b18d41122c6d52435929ea686711ebb7f2613c962d5e by=reader:4b68d86cae08 form=interval measure=count role=writes scope=publication/evidence/m0-finite-grid value=0..0\\n\" at=place:sha256:fe01a38e23c195a0e3c985b40255cb4a86d0b6f8ed38488e9ef1a9db2f3c11ee by=reader:4b68d86cae08 form=interval measure=count role=writes scope=receipts/readings/7a726b2e51efc58434d93f214aa12078d9467a6706a088f8d3726a62e31ffe2e/2cc88d676aed52c4a4d1b18d41122c6d52435929ea686711ebb7f2613c962d5e value=2..2",
68
+ "bound-lock/1 about=\"bound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=contracts/m0-finite-grid.json value=sha256:be646f6799ac0106f8de31870799df4e1525e22deb4b8e9299433b5139387a33\\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=implementation value=sha256:4b68d86cae08619e7b16fe59a30cf65dfd1c276949a7148cff8bbf8fbc1ee231\\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=proofs/m0-045/Obligations045.lean value=sha256:be4956a2720d696e5456ad108543945c6f65f1986126513f10edcd4f1841bced\\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=proofs/m0-045/Obligations045/ConsensusGrid.lean value=sha256:b26a1b68522e881e446a47f4c84cd8b569a1c48f085a5c9a9d03abdeecafacce\\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=proofs/m0-045/Obligations045/M0Coincidence.lean value=sha256:e870a43e435f4b4b52f28f44dd7391c40704faa41febd272434d2e56b2bd6771\\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=proofs/m0-045/Obligations045/M0Diagonal.lean value=sha256:4d83f047fc5e199f46b2cc28dfe77b006a7dd408f0f14ed54afb5e21315148e2\\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=proofs/m0-045/Obligations045/M0Limit.lean value=sha256:aedc88b8ba4edf884cacec78da82eef29187ded0199d44674466425af1585b8c\\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=proofs/m0-045/Obligations045/M0Offdiag.lean value=sha256:af8a95d00cd0956acaec06deeebe7156dccf156b698408275c3e710f58c1c1e8\\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=proofs/m0-045/lake-manifest.json value=sha256:fc8b4ba4b08bbcadf736bc8bcf803b5fdedfebafb57dec61ce0106e99964285d\\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=proofs/m0-045/lakefile.toml value=sha256:965c6f528716b66d706ea51bfdc5254feac3acf945026f8e74371c11532d8174\\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=proofs/m0-045/lean-toolchain value=sha256:55e97be96000b5e9e290c9e74482e5e317861499a5540353ce845471bded8cea\\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/laws/m0-finite-grid/no/sample.json value=sha256:0361cd9a6fae977c3613560df9213176c728e07c23396e3aa43992b9da4de15f\\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=samples/laws/m0-finite-grid/yes/sample.json value=sha256:62c5c8db8d66602b452e1a7baf84c98e601d60c3e62730393313a7e02ed2fd17\\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/laws/m0-finite-grid.lean.json value=sha256:14391fbf80c81bd5efdf840a82a3d37976de759ee70eed1e8fbb1480f605135a\\nbound-lock/1 at=policy:input-identity by=host form=alphabet measure=digest role=writes scope=vectors/laws/policy.json value=sha256:e941ce8cd86f0ec31621fa6b4deef9685dc1fead283f4b2fe22a8a58e3d5d939\\nbound-lock/1 at=receipt:1 form=alphabet measure=reads needs= role=reads scope=publication/evidence/m0-finite-grid value=proofs/m0-045/Obligations045/ConsensusGrid.lean|proofs/m0-045/Obligations045/M0Coincidence.lean|proofs/m0-045/Obligations045/M0Diagonal.lean|proofs/m0-045/Obligations045/M0Limit.lean|proofs/m0-045/Obligations045/M0Offdiag.lean|proofs/m0-045/Obligations045.lean|proofs/m0-045/lake-manifest.json|proofs/m0-045/lakefile.toml|proofs/m0-045/lean-toolchain|vectors/laws/m0-finite-grid.lean.json|contracts/m0-finite-grid.json|samples/laws/m0-finite-grid/yes/sample.json|samples/laws/m0-finite-grid/no/sample.json|vectors/laws/policy.json\\n\" at=place:sha256:2cc88d676aed52c4a4d1b18d41122c6d52435929ea686711ebb7f2613c962d5e by=reader:4b68d86cae08 form=alphabet measure=bytes role=writes scope=receipts/readings/7a726b2e51efc58434d93f214aa12078d9467a6706a088f8d3726a62e31ffe2e/2cc88d676aed52c4a4d1b18d41122c6d52435929ea686711ebb7f2613c962d5e value=sha256:2cc88d676aed52c4a4d1b18d41122c6d52435929ea686711ebb7f2613c962d5e",
69
+ "bound-lock/1 at=place:sha256:2cc88d676aed52c4a4d1b18d41122c6d52435929ea686711ebb7f2613c962d5e by=reader:4b68d86cae08 form=interval measure=s role=writes scope=receipts/readings/7a726b2e51efc58434d93f214aa12078d9467a6706a088f8d3726a62e31ffe2e/2cc88d676aed52c4a4d1b18d41122c6d52435929ea686711ebb7f2613c962d5e value=11.650528..11.650528"
70
+ ],
71
+ "captures": [
72
+ {
73
+ "place": "orchard",
74
+ "kind": "actual reader process capture; same origin and toolchain, no independent-origin claim",
75
+ "positive": {
76
+ "status": 0,
77
+ "stdout": "{\"render\":[\"bound-lock/1 at=receipt:1 form=alphabet measure=reads role=reads scope=publication/evidence/m0-finite-grid value=proofs/m0-045/Obligations045/ConsensusGrid.lean|proofs/m0-045/Obligations045/M0Coincidence.lean|proofs/m0-045/Obligations045/M0Diagonal.lean|proofs/m0-045/Obligations045/M0Limit.lean|proofs/m0-045/Obligations045/M0Offdiag.lean|proofs/m0-045/Obligations045.lean|proofs/m0-045/lake-manifest.json|proofs/m0-045/lakefile.toml|proofs/m0-045/lean-toolchain|vectors/laws/m0-finite-grid.lean.json|contracts/m0-finite-grid.json|samples/laws/m0-finite-grid/yes/sample.json|samples/laws/m0-finite-grid/no/sample.json|vectors/laws/policy.json\"],\"witness\":[{\"scope\":\"publication/evidence/m0-finite-grid\",\"role\":\"writes\",\"measure\":\"count\",\"bound\":{\"kind\":\"interval\",\"lo\":0,\"hi\":0}},{\"scope\":\"publication/evidence/m0-finite-grid/verification\",\"role\":\"writes\",\"measure\":\"digest\",\"bound\":{\"kind\":\"enumerated\",\"values\":[\"sha256:bca621588fab949b843918698e1404a05109708d7c88c1c65df7fe5e8e138866\"]}}]}\n",
78
+ "sha256": "sha256:7ecb74d7ffaea152e5d2f2da11aad32b959221d0695a1a7f0509862db594a2df"
79
+ },
80
+ "negative": {
81
+ "sample": "samples/laws/m0-finite-grid/no/sample.json",
82
+ "status": 1,
83
+ "stderr": "REFUSE·semilattice missing-input proofs/m0-045/Obligations045/M0Limit.lean\n",
84
+ "sha256": "sha256:07561657fe99a19d56296cbdc12275f05a725e477c1a355b26aadd58f97f1303"
85
+ }
86
+ },
87
+ {
88
+ "place": "catalog",
89
+ "kind": "actual reader process capture; same origin and toolchain, no independent-origin claim",
90
+ "positive": {
91
+ "status": 0,
92
+ "stdout": "{\"render\":[\"bound-lock/1 at=receipt:1 form=alphabet measure=reads role=reads scope=publication/evidence/m0-finite-grid value=proofs/m0-045/Obligations045/ConsensusGrid.lean|proofs/m0-045/Obligations045/M0Coincidence.lean|proofs/m0-045/Obligations045/M0Diagonal.lean|proofs/m0-045/Obligations045/M0Limit.lean|proofs/m0-045/Obligations045/M0Offdiag.lean|proofs/m0-045/Obligations045.lean|proofs/m0-045/lake-manifest.json|proofs/m0-045/lakefile.toml|proofs/m0-045/lean-toolchain|vectors/laws/m0-finite-grid.lean.json|contracts/m0-finite-grid.json|samples/laws/m0-finite-grid/yes/sample.json|samples/laws/m0-finite-grid/no/sample.json|vectors/laws/policy.json\"],\"witness\":[{\"scope\":\"publication/evidence/m0-finite-grid\",\"role\":\"writes\",\"measure\":\"count\",\"bound\":{\"kind\":\"interval\",\"lo\":0,\"hi\":0}},{\"scope\":\"publication/evidence/m0-finite-grid/verification\",\"role\":\"writes\",\"measure\":\"digest\",\"bound\":{\"kind\":\"enumerated\",\"values\":[\"sha256:bca621588fab949b843918698e1404a05109708d7c88c1c65df7fe5e8e138866\"]}}]}\n",
93
+ "sha256": "sha256:7ecb74d7ffaea152e5d2f2da11aad32b959221d0695a1a7f0509862db594a2df"
94
+ },
95
+ "negative": {
96
+ "sample": "samples/laws/m0-finite-grid/no/sample.json",
97
+ "status": 1,
98
+ "stderr": "REFUSE·semilattice missing-input proofs/m0-045/Obligations045/M0Limit.lean\n",
99
+ "sha256": "sha256:07561657fe99a19d56296cbdc12275f05a725e477c1a355b26aadd58f97f1303"
100
+ }
101
+ }
102
+ ],
103
+ "meaning": "Real retained byte outputs. The five M0 readings were admitted at owner epoch 7. The release manifest and package membership remain candidate data; these captures are not approval of a 0.4.5 tarball."
104
+ }
@@ -0,0 +1,136 @@
1
+ {
2
+ "id": "m0-identification",
3
+ "block": "identification",
4
+ "claim": "conditional-uniform-population-identification",
5
+ "generalDiagonal": {
6
+ "status": "open",
7
+ "actualCLTProved": false
8
+ },
9
+ "identificationBoundary": {
10
+ "family": "uniform-known-p-population@1",
11
+ "nonuniformIdentified": false,
12
+ "finiteSampleGuarantee": false,
13
+ "originalThreeCards": "open"
14
+ },
15
+ "proof": {
16
+ "files": [
17
+ {
18
+ "path": "proofs/m0-046-identification/M0Identification046.lean",
19
+ "sha256": "sha256:f77a6b3fe02655ad26b18c403bf9b23367788e9bdd0191817bdcf311f3799f30"
20
+ },
21
+ {
22
+ "path": "proofs/m0-046-identification/Obligations045/M0Coincidence.lean",
23
+ "sha256": "sha256:e870a43e435f4b4b52f28f44dd7391c40704faa41febd272434d2e56b2bd6771"
24
+ },
25
+ {
26
+ "path": "proofs/m0-046-identification/lake-manifest.json",
27
+ "sha256": "sha256:fc8b4ba4b08bbcadf736bc8bcf803b5fdedfebafb57dec61ce0106e99964285d"
28
+ },
29
+ {
30
+ "path": "proofs/m0-046-identification/lakefile.toml",
31
+ "sha256": "sha256:f79ba6f5e48427aaa5bf5e6bfd5574bbfbb8a479b5b30aa95ecbda868debaa3c"
32
+ },
33
+ {
34
+ "path": "proofs/m0-046-identification/lean-toolchain",
35
+ "sha256": "sha256:55e97be96000b5e9e290c9e74482e5e317861499a5540353ce845471bded8cea"
36
+ }
37
+ ],
38
+ "mathlib": "c44e0c8ee63ca166450922a373c7409c5d26b00b",
39
+ "auditedTheorems": [
40
+ "Obligations046.M0Identification.expect_quartic",
41
+ "Obligations046.M0Identification.fourth_coincidence",
42
+ "Obligations046.M0Identification.uniform_fourth_strict",
43
+ "Obligations046.M0Identification.uniform_pair_fourth_injective",
44
+ "Obligations046.M0Identification.recover_uniform_parameters",
45
+ "Obligations046.M0Identification.uniform_cK_injective",
46
+ "Obligations046.M0Identification.nonuniform_normalized",
47
+ "Obligations046.M0Identification.nonuniform_power_collision",
48
+ "Obligations046.M0Identification.nonuniform_same_pair_fourth",
49
+ "Obligations046.M0Identification.nonuniform_distinct_parameters",
50
+ "Obligations046.M0Identification.nonuniform_actual_fourth_collision",
51
+ "Obligations046.M0Identification.uniform_normalized",
52
+ "Obligations046.M0Identification.uniform_powers",
53
+ "Obligations046.M0Identification.uniform_population_pair",
54
+ "Obligations046.M0Identification.uniform_population_fourth",
55
+ "Obligations046.M0Identification.uniform_population_identification",
56
+ "Obligations046.M0Identification.unknown_p_alias",
57
+ "Obligations046.M0Identification.zero_c_alias"
58
+ ],
59
+ "allowedAxioms": [
60
+ "propext",
61
+ "Classical.choice",
62
+ "Quot.sound"
63
+ ]
64
+ },
65
+ "samples": {
66
+ "inputs": [
67
+ "contracts/m0-moment-identification.json",
68
+ "samples/laws/m0-moment-identification/yes/sample.json",
69
+ "samples/laws/m0-moment-identification/no/sample.json",
70
+ "vectors/laws/policy.json"
71
+ ],
72
+ "digests": {
73
+ "contracts/m0-moment-identification.json": "sha256:d8fcf6214714a6d5a6d47291aa1bbd874ea3b4f778bcceef0e9982335caa359b",
74
+ "samples/laws/m0-moment-identification/yes/sample.json": "sha256:602257498a1cef389ee0edf21f33b5ca78db9c792a5dc93b6316ba0c08f31d04",
75
+ "samples/laws/m0-moment-identification/no/sample.json": "sha256:72b1eaea2ae316acc87f5a3eb231c60dee0950abad2c20643fe2578b8e1235d3",
76
+ "vectors/laws/policy.json": "sha256:e941ce8cd86f0ec31621fa6b4deef9685dc1fead283f4b2fe22a8a58e3d5d939"
77
+ }
78
+ },
79
+ "capturePolicy": {
80
+ "timeoutMs": 25000,
81
+ "responseBytes": 65536
82
+ },
83
+ "execution": {
84
+ "profile": "lean-kernel@1",
85
+ "project": "proofs/m0-046-identification",
86
+ "toolchain": "leanprover/lean4:v4.19.0",
87
+ "compilerIdentity": "6caaee842e94",
88
+ "targets": [
89
+ "M0Identification046"
90
+ ],
91
+ "sources": [
92
+ "M0Identification046.lean"
93
+ ],
94
+ "auditImports": [
95
+ "M0Identification046"
96
+ ],
97
+ "identityInputs": [
98
+ "proofs/m0-046-identification/M0Identification046.lean",
99
+ "proofs/m0-046-identification/Obligations045/M0Coincidence.lean",
100
+ "proofs/m0-046-identification/lake-manifest.json",
101
+ "proofs/m0-046-identification/lakefile.toml",
102
+ "proofs/m0-046-identification/lean-toolchain",
103
+ "vectors/laws/m0-identification.lean.json",
104
+ "contracts/m0-moment-identification.json",
105
+ "samples/laws/m0-moment-identification/yes/sample.json",
106
+ "samples/laws/m0-moment-identification/no/sample.json",
107
+ "vectors/laws/policy.json"
108
+ ],
109
+ "negative": {
110
+ "name": "nonuniform-as-uniform",
111
+ "source": "import Obligations045.M0Coincidence\nimport Mathlib.Tactic.Linarith\nimport Mathlib.Tactic.FieldSimp\nimport Mathlib.Tactic.Positivity\n\nnoncomputable section\nnamespace Obligations046.M0Identification\nopen Obligations045.M0Coincidence\n\ndef powers (ws : List \u211d) (k : \u2115) : \u211d := (ws.map (fun w => w^k)).sum\n\ndef m1 (p : \u211d) (ws : List \u211d) := p*ws.sum\ndef m2 (p : \u211d) (ws : List \u211d) := p^2*ws.sum^2+p*(1-p)*powers ws 2\ndef m3 (p : \u211d) (ws : List \u211d) := p^3*ws.sum^3+3*p^2*(1-p)*ws.sum*powers ws 2+p*(1-p)*(1-2*p)*powers ws 3\ndef m4 (p : \u211d) (ws : List \u211d) := p^4*ws.sum^4+6*p^3*(1-p)*ws.sum^2*powers ws 2+3*(p*(1-p))^2*(powers ws 2)^2+4*p^2*(1-p)*(1-2*p)*ws.sum*powers ws 3+p*(1-p)*(1-6*p*(1-p))*powers ws 4\n\ntheorem expect_quartic (p : \u211d) (ws : List \u211d) (a b d e f : \u211d) :\n expect p ws (fun x => a*x^4+b*x^3+d*x^2+e*x+f) =\n a*m4 p ws+b*m3 p ws+d*m2 p ws+e*m1 p ws+f := by\n induction ws generalizing a b d e f with\n | nil => simp [expect, m1, m2, m3, m4, powers]\n | cons w ws ih =>\n have hf : (fun x : \u211d => a*(w+x)^4+b*(w+x)^3+d*(w+x)^2+e*(w+x)+f) =\n (fun x => a*x^4+(4*a*w+b)*x^3+(6*a*w^2+3*b*w+d)*x^2+\n (4*a*w^3+3*b*w^2+2*d*w+e)*x+(a*w^4+b*w^3+d*w^2+e*w+f)) := by\n funext x\n ring\n simp only [expect, hf]\n rw [ih, ih]\n simp only [m1, m2, m3, m4, List.sum_cons, powers, List.map_cons]\n ring\n\ndef r2 (p B : \u211d) := p^2+(1-p)^2+2*p*(1-p)*B\ndef r4 (p B C E : \u211d) := p^4+(1-p)^4+6*(p^2+(1-p)^2)*p*(1-p)*B-\n 4*p*(1-p)*(1-2*p)^2*C+6*(p*(1-p))^2*B^2+2*p*(1-p)*(1-6*p*(1-p))*E\n\ntheorem fourth_coincidence (p c : \u211d) (ws : List \u211d) (hw : ws.sum = 1) :\n expect p ws (fun x => ((1-c)*p+c*x)^4+(1-((1-c)*p+c*x))^4) =\n r4 p (c^2*powers ws 2) (c^3*powers ws 3) (c^4*powers ws 4) := by\n have hf : (fun x : \u211d => ((1-c)*p+c*x)^4+(1-((1-c)*p+c*x))^4) =\n (fun x => (2*c^4)*x^4+(4*c^3*(2*(1-c)*p-1))*x^3+\n (6*c^2*(((1-c)*p)^2+(1-(1-c)*p)^2))*x^2+\n (4*c*(((1-c)*p)^3-(1-(1-c)*p)^3))*x+\n (((1-c)*p)^4+(1-(1-c)*p)^4)) := by\n funext x\n ring\n rw [hf, expect_quartic]\n simp only [m1, m2, m3, m4, hw, r4]\n ring\n\ndef uniformR4 (p B x : \u211d) := r4 p B (B*x) (B*x^2)\n\ntheorem uniform_fourth_strict (p B x y : \u211d) (hp : 0 < p) (hp1 : p < 1)\n (hB : 0 < B) (hx : 0 < x) (hy : x < y) (hy1 : y \u2264 1) :\n uniformR4 p B y < uniformR4 p B x := by\n have ha : 0 < p*(1-p) := mul_pos hp (sub_pos.mpr hp1)\n have hs : 0 < x+y := by linarith\n have hs2 : x+y \u2264 2 := by linarith\n have hd : 0 \u2264 (1-2*p)^2 := sq_nonneg _\n have hn : (1-6*p*(1-p))*(x+y)-2*(1-2*p)^2 < 0 := by\n by_cases h : 0 \u2264 1-6*p*(1-p)\n \u00b7 have hh := mul_le_mul_of_nonneg_left hs2 h\n nlinarith [sq_nonneg (1-2*p)]\n \u00b7 have hh : (1-6*p*(1-p))*(x+y) < 0 := mul_neg_of_neg_of_pos (lt_of_not_ge h) hs\n nlinarith\n have hf : uniformR4 p B y-uniformR4 p B x =\n 2*p*(1-p)*B*(y-x)*((1-6*p*(1-p))*(x+y)-2*(1-2*p)^2) := by\n unfold uniformR4 r4\n ring\n have hp1' : 0 < 1-p := sub_pos.mpr hp1\n have hgap : 0 < y-x := sub_pos.mpr hy\n have hpos : 0 < 2*p*(1-p)*B*(y-x) := by positivity\n have := mul_neg_of_pos_of_neg hpos hn\n linarith\n\ntheorem uniform_pair_fourth_injective (p B\u2081 B\u2082 x\u2081 x\u2082 : \u211d)\n (hp : 0 < p) (hp1 : p < 1) (hB\u2081 : 0 < B\u2081) (hB\u2082 : 0 < B\u2082)\n (hx\u2081 : 0 < x\u2081) (hx\u2082 : 0 < x\u2082) (hx\u20811 : x\u2081 \u2264 1) (hx\u20821 : x\u2082 \u2264 1)\n (h2 : r2 p B\u2081 = r2 p B\u2082)\n (h4 : uniformR4 p B\u2081 x\u2081 = uniformR4 p B\u2082 x\u2082) : B\u2081 = B\u2082 \u2227 x\u2081 = x\u2082 := by\n have ha : 0 < p*(1-p) := mul_pos hp (sub_pos.mpr hp1)\n have hB : B\u2081 = B\u2082 := by unfold r2 at h2; nlinarith\n subst B\u2082\n refine \u27e8rfl, ?_\u27e9\n rcases lt_trichotomy x\u2081 x\u2082 with h|h|h\n \u00b7 have := uniform_fourth_strict p B\u2081 x\u2081 x\u2082 hp hp1 hB\u2081 hx\u2081 h hx\u20821\n linarith\n \u00b7 exact h\n \u00b7 have := uniform_fourth_strict p B\u2081 x\u2082 x\u2081 hp hp1 hB\u2081 hx\u2082 h hx\u20811\n linarith\n\n-- Recovery is algebraic only after the explicitly uniform moment model has been justified.\ntheorem recover_uniform_parameters (B x c K : \u211d) (hx : x \u2260 0)\n (hB : B = c*x) (hK : c = K*x) : c = B/x \u2227 K = B/x^2 := by\n constructor\n \u00b7 apply (eq_div_iff hx).mpr\n nlinarith\n \u00b7 apply (eq_div_iff (pow_ne_zero 2 hx)).mpr\n nlinarith [hB, congrArg (fun t : \u211d => t*x) hK]\n\ntheorem uniform_cK_injective (p c\u2081 c\u2082 K\u2081 K\u2082 : \u211d)\n (hp : 0 < p) (hp1 : p < 1) (hc\u2081 : 0 < c\u2081) (hc\u2082 : 0 < c\u2082)\n (hc\u20811 : c\u2081 \u2264 1) (hc\u20821 : c\u2082 \u2264 1) (hK\u2081 : 1 \u2264 K\u2081) (hK\u2082 : 1 \u2264 K\u2082)\n (h2 : r2 p (c\u2081^2/K\u2081) = r2 p (c\u2082^2/K\u2082))\n (h4 : r4 p (c\u2081^2/K\u2081) (c\u2081^3/K\u2081^2) (c\u2081^4/K\u2081^3) =\n r4 p (c\u2082^2/K\u2082) (c\u2082^3/K\u2082^2) (c\u2082^4/K\u2082^3)) : c\u2081 = c\u2082 \u2227 K\u2081 = K\u2082 := by\n have hK\u20810 : 0 < K\u2081 := by linarith\n have hK\u20820 : 0 < K\u2082 := by linarith\n have hf (c K : \u211d) : r4 p (c^2/K) (c^3/K^2) (c^4/K^3) =\n uniformR4 p (c^2/K) (c/K) := by simp only [uniformR4, r4]; ring\n rw [hf, hf] at h4\n have h := uniform_pair_fourth_injective p (c\u2081^2/K\u2081) (c\u2082^2/K\u2082) (c\u2081/K\u2081) (c\u2082/K\u2082)\n hp hp1 (by positivity) (by positivity) (by positivity) (by positivity)\n ((div_le_one hK\u20810).mpr (by linarith)) ((div_le_one hK\u20820).mpr (by linarith)) h2 h4\n have rec (c K : \u211d) (hc : 0 < c) (hK : 0 < K) :\n c = (c^2/K)/(c/K) \u2227 K = (c^2/K)/(c/K)^2 := by\n have hb : c^2/K = c*(c/K) := by ring\n have hk : c = K*(c/K) := by field_simp [ne_of_gt hK]\n exact recover_uniform_parameters (c^2/K) (c/K) c K (ne_of_gt (div_pos hc hK)) hb hk\n have h\u2081 := rec c\u2081 K\u2081 hc\u2081 hK\u20810\n have h\u2082 := rec c\u2082 K\u2082 hc\u2082 hK\u20820\n constructor\n \u00b7 rw [h\u2081.1, h\u2082.1, h.1, h.2]\n \u00b7 rw [h\u2081.2, h\u2082.2, h.1, h.2]\n\ndef weightsA : List \u211d := List.replicate 36 (1/42) ++ List.replicate 3 (1/21)\ndef weightsB : List \u211d := List.replicate 48 (1/96) ++ List.replicate 16 (1/32)\n\ntheorem nonuniform_normalized : weightsA.sum = 1 \u2227 weightsB.sum = 1 := by\n norm_num [weightsA, weightsB, List.sum_replicate]\n\ntheorem nonuniform_power_collision :\n (7/10:\u211d)^2*powers weightsA 2 = (4/5:\u211d)^2*powers weightsB 2 \u2227\n (7/10:\u211d)^3*powers weightsA 3 = (4/5:\u211d)^3*powers weightsB 3 \u2227\n (7/10:\u211d)^4*powers weightsA 4 = (4/5:\u211d)^4*powers weightsB 4 := by\n norm_num [powers, weightsA, weightsB, List.sum_replicate]\n\ntheorem nonuniform_same_pair_fourth (p : \u211d) :\n r2 p ((7/10)^2*powers weightsA 2) = r2 p ((4/5)^2*powers weightsB 2) \u2227\n r4 p ((7/10)^2*powers weightsA 2) ((7/10)^3*powers weightsA 3) ((7/10)^4*powers weightsA 4) =\n r4 p ((4/5)^2*powers weightsB 2) ((4/5)^3*powers weightsB 3) ((4/5)^4*powers weightsB 4) := by\n obtain \u27e8h2,h3,h4\u27e9 := nonuniform_power_collision\n exact \u27e8congrArg (r2 p) h2, by rw [h2,h3,h4]\u27e9\n\ntheorem nonuniform_distinct_parameters :\n (7/10:\u211d) \u2260 4/5 \u2227 (1:\u211d)/powers weightsA 2 = 147/4 \u2227\n (1:\u211d)/powers weightsB 2 = 48 := by\n norm_num [powers, weightsA, weightsB, List.sum_replicate]\n\n-- Population expectations themselves coincide, not just invented summaries.\ntheorem nonuniform_actual_fourth_collision (p : \u211d) :\n expect p weightsA (fun x => ((1-(7/10))*p+(7/10)*x)^4+(1-((1-(7/10))*p+(7/10)*x))^4) =\n expect p weightsB (fun x => ((1-(4/5))*p+(4/5)*x)^4+(1-((1-(4/5))*p+(4/5)*x))^4) := by\n rw [fourth_coincidence p (7/10) weightsA nonuniform_normalized.1,\n fourth_coincidence p (4/5) weightsB nonuniform_normalized.2]\n exact (nonuniform_same_pair_fourth p).2\n\n\ndef uniformWeights (n : \u2115) : List \u211d := List.replicate n (1/(n:\u211d))\n\ntheorem uniform_normalized (n : \u2115) (hn : 0 < n) : (uniformWeights n).sum = 1 := by\n have hn0 : (n:\u211d) \u2260 0 := by exact_mod_cast (Nat.ne_of_gt hn)\n simp [uniformWeights, List.sum_replicate, hn0]\n\ntheorem uniform_powers (n k : \u2115) : powers (uniformWeights n) k = (n:\u211d)*(1/(n:\u211d))^k := by\n simp [powers, uniformWeights, List.sum_replicate]\n\ntheorem uniform_population_pair (p c : \u211d) (n : \u2115) (hn : 0 < n) :\n expect p (uniformWeights n) (fun x => ((1-c)*p+c*x)^2+(1-((1-c)*p+c*x))^2) =\n r2 p (c^2/(n:\u211d)) := by\n rw [pair_coincidence p c (uniformWeights n) (uniform_normalized n hn)]\n change p^2+(1-p)^2+2*c^2*p*(1-p)*powers (uniformWeights n) 2 = _\n rw [uniform_powers]\n unfold r2\n have hn0 : (n:\u211d) \u2260 0 := by exact_mod_cast (Nat.ne_of_gt hn)\n field_simp\n ring\n\ntheorem uniform_population_fourth (p c : \u211d) (n : \u2115) (hn : 0 < n) :\n expect p (uniformWeights n) (fun x => ((1-c)*p+c*x)^4+(1-((1-c)*p+c*x))^4) =\n r4 p (c^2/(n:\u211d)) (c^3/(n:\u211d)^2) (c^4/(n:\u211d)^3) := by\n rw [fourth_coincidence p c (uniformWeights n) (uniform_normalized n hn)]\n rw [uniform_powers, uniform_powers, uniform_powers]\n have hn0 : (n:\u211d) \u2260 0 := by exact_mod_cast (Nat.ne_of_gt hn)\n congr 1 <;> field_simp <;> ring\n\n\ntheorem uniform_population_identification (p c\u2081 c\u2082 : \u211d) (n\u2081 n\u2082 : \u2115)\n (hp : 0 < p) (hp1 : p < 1) (hc\u2081 : 0 < c\u2081) (hc\u2082 : 0 < c\u2082)\n (hc\u20811 : c\u2081 \u2264 1) (hc\u20821 : c\u2082 \u2264 1) (hn\u2081 : 0 < n\u2081) (hn\u2082 : 0 < n\u2082)\n (h2 : expect p (uniformWeights n\u2081) (fun x => ((1-c\u2081)*p+c\u2081*x)^2+(1-((1-c\u2081)*p+c\u2081*x))^2) =\n expect p (uniformWeights n\u2082) (fun x => ((1-c\u2082)*p+c\u2082*x)^2+(1-((1-c\u2082)*p+c\u2082*x))^2))\n (h4 : expect p (uniformWeights n\u2081) (fun x => ((1-c\u2081)*p+c\u2081*x)^4+(1-((1-c\u2081)*p+c\u2081*x))^4) =\n expect p (uniformWeights n\u2082) (fun x => ((1-c\u2082)*p+c\u2082*x)^4+(1-((1-c\u2082)*p+c\u2082*x))^4)) :\n c\u2081 = c\u2082 \u2227 n\u2081 = n\u2082 := by\n rw [uniform_population_pair p c\u2081 n\u2081 hn\u2081, uniform_population_pair p c\u2082 n\u2082 hn\u2082] at h2\n rw [uniform_population_fourth p c\u2081 n\u2081 hn\u2081, uniform_population_fourth p c\u2082 n\u2082 hn\u2082] at h4\n have h := uniform_cK_injective p c\u2081 c\u2082 (n\u2081:\u211d) (n\u2082:\u211d) hp hp1 hc\u2081 hc\u2082 hc\u20811 hc\u20821\n (by exact_mod_cast hn\u2081) (by exact_mod_cast hn\u2082) h2 h4\n exact \u27e8h.1, by exact_mod_cast h.2\u27e9\n\ntheorem unknown_p_alias (p : \u211d) : r2 p 1 = 1 \u2227 r4 p 1 1 1 = 1 := by\n constructor <;> simp only [r2, r4] <;> ring\n\ntheorem zero_c_alias (p : \u211d) : r2 p 0 = p^2+(1-p)^2 \u2227\n r4 p 0 0 0 = p^4+(1-p)^4 := by\n constructor <;> simp only [r2, r4] <;> ring\n\nend Obligations046.M0Identification\n\nopen Obligations046.M0Identification\nexample : (r2 (3/4) ((7/10)^2*powers weightsA 2) = r2 (3/4) ((4/5)^2*powers weightsB 2) \u2227\n r4 (3/4) ((7/10)^2*powers weightsA 2) ((7/10)^3*powers weightsA 3) ((7/10)^4*powers weightsA 4) =\n r4 (3/4) ((4/5)^2*powers weightsB 2) ((4/5)^3*powers weightsB 3) ((4/5)^4*powers weightsB 4)) \u2192 (7/10:\u211d) = 4/5 := by\n norm_num [r2,r4,powers,weightsA,weightsB,List.sum_replicate]\n",
112
+ "exitCode": 1,
113
+ "cause": [
114
+ "unsolved goals"
115
+ ]
116
+ },
117
+ "extraNegatives": [
118
+ {
119
+ "name": "unknown-p-as-known",
120
+ "source": "import Obligations045.M0Coincidence\nimport Mathlib.Tactic.Linarith\nimport Mathlib.Tactic.FieldSimp\nimport Mathlib.Tactic.Positivity\n\nnoncomputable section\nnamespace Obligations046.M0Identification\nopen Obligations045.M0Coincidence\n\ndef powers (ws : List \u211d) (k : \u2115) : \u211d := (ws.map (fun w => w^k)).sum\n\ndef m1 (p : \u211d) (ws : List \u211d) := p*ws.sum\ndef m2 (p : \u211d) (ws : List \u211d) := p^2*ws.sum^2+p*(1-p)*powers ws 2\ndef m3 (p : \u211d) (ws : List \u211d) := p^3*ws.sum^3+3*p^2*(1-p)*ws.sum*powers ws 2+p*(1-p)*(1-2*p)*powers ws 3\ndef m4 (p : \u211d) (ws : List \u211d) := p^4*ws.sum^4+6*p^3*(1-p)*ws.sum^2*powers ws 2+3*(p*(1-p))^2*(powers ws 2)^2+4*p^2*(1-p)*(1-2*p)*ws.sum*powers ws 3+p*(1-p)*(1-6*p*(1-p))*powers ws 4\n\ntheorem expect_quartic (p : \u211d) (ws : List \u211d) (a b d e f : \u211d) :\n expect p ws (fun x => a*x^4+b*x^3+d*x^2+e*x+f) =\n a*m4 p ws+b*m3 p ws+d*m2 p ws+e*m1 p ws+f := by\n induction ws generalizing a b d e f with\n | nil => simp [expect, m1, m2, m3, m4, powers]\n | cons w ws ih =>\n have hf : (fun x : \u211d => a*(w+x)^4+b*(w+x)^3+d*(w+x)^2+e*(w+x)+f) =\n (fun x => a*x^4+(4*a*w+b)*x^3+(6*a*w^2+3*b*w+d)*x^2+\n (4*a*w^3+3*b*w^2+2*d*w+e)*x+(a*w^4+b*w^3+d*w^2+e*w+f)) := by\n funext x\n ring\n simp only [expect, hf]\n rw [ih, ih]\n simp only [m1, m2, m3, m4, List.sum_cons, powers, List.map_cons]\n ring\n\ndef r2 (p B : \u211d) := p^2+(1-p)^2+2*p*(1-p)*B\ndef r4 (p B C E : \u211d) := p^4+(1-p)^4+6*(p^2+(1-p)^2)*p*(1-p)*B-\n 4*p*(1-p)*(1-2*p)^2*C+6*(p*(1-p))^2*B^2+2*p*(1-p)*(1-6*p*(1-p))*E\n\ntheorem fourth_coincidence (p c : \u211d) (ws : List \u211d) (hw : ws.sum = 1) :\n expect p ws (fun x => ((1-c)*p+c*x)^4+(1-((1-c)*p+c*x))^4) =\n r4 p (c^2*powers ws 2) (c^3*powers ws 3) (c^4*powers ws 4) := by\n have hf : (fun x : \u211d => ((1-c)*p+c*x)^4+(1-((1-c)*p+c*x))^4) =\n (fun x => (2*c^4)*x^4+(4*c^3*(2*(1-c)*p-1))*x^3+\n (6*c^2*(((1-c)*p)^2+(1-(1-c)*p)^2))*x^2+\n (4*c*(((1-c)*p)^3-(1-(1-c)*p)^3))*x+\n (((1-c)*p)^4+(1-(1-c)*p)^4)) := by\n funext x\n ring\n rw [hf, expect_quartic]\n simp only [m1, m2, m3, m4, hw, r4]\n ring\n\ndef uniformR4 (p B x : \u211d) := r4 p B (B*x) (B*x^2)\n\ntheorem uniform_fourth_strict (p B x y : \u211d) (hp : 0 < p) (hp1 : p < 1)\n (hB : 0 < B) (hx : 0 < x) (hy : x < y) (hy1 : y \u2264 1) :\n uniformR4 p B y < uniformR4 p B x := by\n have ha : 0 < p*(1-p) := mul_pos hp (sub_pos.mpr hp1)\n have hs : 0 < x+y := by linarith\n have hs2 : x+y \u2264 2 := by linarith\n have hd : 0 \u2264 (1-2*p)^2 := sq_nonneg _\n have hn : (1-6*p*(1-p))*(x+y)-2*(1-2*p)^2 < 0 := by\n by_cases h : 0 \u2264 1-6*p*(1-p)\n \u00b7 have hh := mul_le_mul_of_nonneg_left hs2 h\n nlinarith [sq_nonneg (1-2*p)]\n \u00b7 have hh : (1-6*p*(1-p))*(x+y) < 0 := mul_neg_of_neg_of_pos (lt_of_not_ge h) hs\n nlinarith\n have hf : uniformR4 p B y-uniformR4 p B x =\n 2*p*(1-p)*B*(y-x)*((1-6*p*(1-p))*(x+y)-2*(1-2*p)^2) := by\n unfold uniformR4 r4\n ring\n have hp1' : 0 < 1-p := sub_pos.mpr hp1\n have hgap : 0 < y-x := sub_pos.mpr hy\n have hpos : 0 < 2*p*(1-p)*B*(y-x) := by positivity\n have := mul_neg_of_pos_of_neg hpos hn\n linarith\n\ntheorem uniform_pair_fourth_injective (p B\u2081 B\u2082 x\u2081 x\u2082 : \u211d)\n (hp : 0 < p) (hp1 : p < 1) (hB\u2081 : 0 < B\u2081) (hB\u2082 : 0 < B\u2082)\n (hx\u2081 : 0 < x\u2081) (hx\u2082 : 0 < x\u2082) (hx\u20811 : x\u2081 \u2264 1) (hx\u20821 : x\u2082 \u2264 1)\n (h2 : r2 p B\u2081 = r2 p B\u2082)\n (h4 : uniformR4 p B\u2081 x\u2081 = uniformR4 p B\u2082 x\u2082) : B\u2081 = B\u2082 \u2227 x\u2081 = x\u2082 := by\n have ha : 0 < p*(1-p) := mul_pos hp (sub_pos.mpr hp1)\n have hB : B\u2081 = B\u2082 := by unfold r2 at h2; nlinarith\n subst B\u2082\n refine \u27e8rfl, ?_\u27e9\n rcases lt_trichotomy x\u2081 x\u2082 with h|h|h\n \u00b7 have := uniform_fourth_strict p B\u2081 x\u2081 x\u2082 hp hp1 hB\u2081 hx\u2081 h hx\u20821\n linarith\n \u00b7 exact h\n \u00b7 have := uniform_fourth_strict p B\u2081 x\u2082 x\u2081 hp hp1 hB\u2081 hx\u2082 h hx\u20811\n linarith\n\n-- Recovery is algebraic only after the explicitly uniform moment model has been justified.\ntheorem recover_uniform_parameters (B x c K : \u211d) (hx : x \u2260 0)\n (hB : B = c*x) (hK : c = K*x) : c = B/x \u2227 K = B/x^2 := by\n constructor\n \u00b7 apply (eq_div_iff hx).mpr\n nlinarith\n \u00b7 apply (eq_div_iff (pow_ne_zero 2 hx)).mpr\n nlinarith [hB, congrArg (fun t : \u211d => t*x) hK]\n\ntheorem uniform_cK_injective (p c\u2081 c\u2082 K\u2081 K\u2082 : \u211d)\n (hp : 0 < p) (hp1 : p < 1) (hc\u2081 : 0 < c\u2081) (hc\u2082 : 0 < c\u2082)\n (hc\u20811 : c\u2081 \u2264 1) (hc\u20821 : c\u2082 \u2264 1) (hK\u2081 : 1 \u2264 K\u2081) (hK\u2082 : 1 \u2264 K\u2082)\n (h2 : r2 p (c\u2081^2/K\u2081) = r2 p (c\u2082^2/K\u2082))\n (h4 : r4 p (c\u2081^2/K\u2081) (c\u2081^3/K\u2081^2) (c\u2081^4/K\u2081^3) =\n r4 p (c\u2082^2/K\u2082) (c\u2082^3/K\u2082^2) (c\u2082^4/K\u2082^3)) : c\u2081 = c\u2082 \u2227 K\u2081 = K\u2082 := by\n have hK\u20810 : 0 < K\u2081 := by linarith\n have hK\u20820 : 0 < K\u2082 := by linarith\n have hf (c K : \u211d) : r4 p (c^2/K) (c^3/K^2) (c^4/K^3) =\n uniformR4 p (c^2/K) (c/K) := by simp only [uniformR4, r4]; ring\n rw [hf, hf] at h4\n have h := uniform_pair_fourth_injective p (c\u2081^2/K\u2081) (c\u2082^2/K\u2082) (c\u2081/K\u2081) (c\u2082/K\u2082)\n hp hp1 (by positivity) (by positivity) (by positivity) (by positivity)\n ((div_le_one hK\u20810).mpr (by linarith)) ((div_le_one hK\u20820).mpr (by linarith)) h2 h4\n have rec (c K : \u211d) (hc : 0 < c) (hK : 0 < K) :\n c = (c^2/K)/(c/K) \u2227 K = (c^2/K)/(c/K)^2 := by\n have hb : c^2/K = c*(c/K) := by ring\n have hk : c = K*(c/K) := by field_simp [ne_of_gt hK]\n exact recover_uniform_parameters (c^2/K) (c/K) c K (ne_of_gt (div_pos hc hK)) hb hk\n have h\u2081 := rec c\u2081 K\u2081 hc\u2081 hK\u20810\n have h\u2082 := rec c\u2082 K\u2082 hc\u2082 hK\u20820\n constructor\n \u00b7 rw [h\u2081.1, h\u2082.1, h.1, h.2]\n \u00b7 rw [h\u2081.2, h\u2082.2, h.1, h.2]\n\ndef weightsA : List \u211d := List.replicate 36 (1/42) ++ List.replicate 3 (1/21)\ndef weightsB : List \u211d := List.replicate 48 (1/96) ++ List.replicate 16 (1/32)\n\ntheorem nonuniform_normalized : weightsA.sum = 1 \u2227 weightsB.sum = 1 := by\n norm_num [weightsA, weightsB, List.sum_replicate]\n\ntheorem nonuniform_power_collision :\n (7/10:\u211d)^2*powers weightsA 2 = (4/5:\u211d)^2*powers weightsB 2 \u2227\n (7/10:\u211d)^3*powers weightsA 3 = (4/5:\u211d)^3*powers weightsB 3 \u2227\n (7/10:\u211d)^4*powers weightsA 4 = (4/5:\u211d)^4*powers weightsB 4 := by\n norm_num [powers, weightsA, weightsB, List.sum_replicate]\n\ntheorem nonuniform_same_pair_fourth (p : \u211d) :\n r2 p ((7/10)^2*powers weightsA 2) = r2 p ((4/5)^2*powers weightsB 2) \u2227\n r4 p ((7/10)^2*powers weightsA 2) ((7/10)^3*powers weightsA 3) ((7/10)^4*powers weightsA 4) =\n r4 p ((4/5)^2*powers weightsB 2) ((4/5)^3*powers weightsB 3) ((4/5)^4*powers weightsB 4) := by\n obtain \u27e8h2,h3,h4\u27e9 := nonuniform_power_collision\n exact \u27e8congrArg (r2 p) h2, by rw [h2,h3,h4]\u27e9\n\ntheorem nonuniform_distinct_parameters :\n (7/10:\u211d) \u2260 4/5 \u2227 (1:\u211d)/powers weightsA 2 = 147/4 \u2227\n (1:\u211d)/powers weightsB 2 = 48 := by\n norm_num [powers, weightsA, weightsB, List.sum_replicate]\n\n-- Population expectations themselves coincide, not just invented summaries.\ntheorem nonuniform_actual_fourth_collision (p : \u211d) :\n expect p weightsA (fun x => ((1-(7/10))*p+(7/10)*x)^4+(1-((1-(7/10))*p+(7/10)*x))^4) =\n expect p weightsB (fun x => ((1-(4/5))*p+(4/5)*x)^4+(1-((1-(4/5))*p+(4/5)*x))^4) := by\n rw [fourth_coincidence p (7/10) weightsA nonuniform_normalized.1,\n fourth_coincidence p (4/5) weightsB nonuniform_normalized.2]\n exact (nonuniform_same_pair_fourth p).2\n\n\ndef uniformWeights (n : \u2115) : List \u211d := List.replicate n (1/(n:\u211d))\n\ntheorem uniform_normalized (n : \u2115) (hn : 0 < n) : (uniformWeights n).sum = 1 := by\n have hn0 : (n:\u211d) \u2260 0 := by exact_mod_cast (Nat.ne_of_gt hn)\n simp [uniformWeights, List.sum_replicate, hn0]\n\ntheorem uniform_powers (n k : \u2115) : powers (uniformWeights n) k = (n:\u211d)*(1/(n:\u211d))^k := by\n simp [powers, uniformWeights, List.sum_replicate]\n\ntheorem uniform_population_pair (p c : \u211d) (n : \u2115) (hn : 0 < n) :\n expect p (uniformWeights n) (fun x => ((1-c)*p+c*x)^2+(1-((1-c)*p+c*x))^2) =\n r2 p (c^2/(n:\u211d)) := by\n rw [pair_coincidence p c (uniformWeights n) (uniform_normalized n hn)]\n change p^2+(1-p)^2+2*c^2*p*(1-p)*powers (uniformWeights n) 2 = _\n rw [uniform_powers]\n unfold r2\n have hn0 : (n:\u211d) \u2260 0 := by exact_mod_cast (Nat.ne_of_gt hn)\n field_simp\n ring\n\ntheorem uniform_population_fourth (p c : \u211d) (n : \u2115) (hn : 0 < n) :\n expect p (uniformWeights n) (fun x => ((1-c)*p+c*x)^4+(1-((1-c)*p+c*x))^4) =\n r4 p (c^2/(n:\u211d)) (c^3/(n:\u211d)^2) (c^4/(n:\u211d)^3) := by\n rw [fourth_coincidence p c (uniformWeights n) (uniform_normalized n hn)]\n rw [uniform_powers, uniform_powers, uniform_powers]\n have hn0 : (n:\u211d) \u2260 0 := by exact_mod_cast (Nat.ne_of_gt hn)\n congr 1 <;> field_simp <;> ring\n\n\ntheorem uniform_population_identification (p c\u2081 c\u2082 : \u211d) (n\u2081 n\u2082 : \u2115)\n (hp : 0 < p) (hp1 : p < 1) (hc\u2081 : 0 < c\u2081) (hc\u2082 : 0 < c\u2082)\n (hc\u20811 : c\u2081 \u2264 1) (hc\u20821 : c\u2082 \u2264 1) (hn\u2081 : 0 < n\u2081) (hn\u2082 : 0 < n\u2082)\n (h2 : expect p (uniformWeights n\u2081) (fun x => ((1-c\u2081)*p+c\u2081*x)^2+(1-((1-c\u2081)*p+c\u2081*x))^2) =\n expect p (uniformWeights n\u2082) (fun x => ((1-c\u2082)*p+c\u2082*x)^2+(1-((1-c\u2082)*p+c\u2082*x))^2))\n (h4 : expect p (uniformWeights n\u2081) (fun x => ((1-c\u2081)*p+c\u2081*x)^4+(1-((1-c\u2081)*p+c\u2081*x))^4) =\n expect p (uniformWeights n\u2082) (fun x => ((1-c\u2082)*p+c\u2082*x)^4+(1-((1-c\u2082)*p+c\u2082*x))^4)) :\n c\u2081 = c\u2082 \u2227 n\u2081 = n\u2082 := by\n rw [uniform_population_pair p c\u2081 n\u2081 hn\u2081, uniform_population_pair p c\u2082 n\u2082 hn\u2082] at h2\n rw [uniform_population_fourth p c\u2081 n\u2081 hn\u2081, uniform_population_fourth p c\u2082 n\u2082 hn\u2082] at h4\n have h := uniform_cK_injective p c\u2081 c\u2082 (n\u2081:\u211d) (n\u2082:\u211d) hp hp1 hc\u2081 hc\u2082 hc\u20811 hc\u20821\n (by exact_mod_cast hn\u2081) (by exact_mod_cast hn\u2082) h2 h4\n exact \u27e8h.1, by exact_mod_cast h.2\u27e9\n\ntheorem unknown_p_alias (p : \u211d) : r2 p 1 = 1 \u2227 r4 p 1 1 1 = 1 := by\n constructor <;> simp only [r2, r4] <;> ring\n\ntheorem zero_c_alias (p : \u211d) : r2 p 0 = p^2+(1-p)^2 \u2227\n r4 p 0 0 0 = p^4+(1-p)^4 := by\n constructor <;> simp only [r2, r4] <;> ring\n\nend Obligations046.M0Identification\n\nopen Obligations046.M0Identification\nexample : (r2 (2/3) 1 = r2 (3/4) 1 \u2227 r4 (2/3) 1 1 1 = r4 (3/4) 1 1 1) \u2192 (2/3:\u211d) = 3/4 := by\n norm_num [r2,r4]\n",
121
+ "exitCode": 1,
122
+ "cause": [
123
+ "unsolved goals"
124
+ ]
125
+ },
126
+ {
127
+ "name": "zero-c-as-identifiable",
128
+ "source": "import Obligations045.M0Coincidence\nimport Mathlib.Tactic.Linarith\nimport Mathlib.Tactic.FieldSimp\nimport Mathlib.Tactic.Positivity\n\nnoncomputable section\nnamespace Obligations046.M0Identification\nopen Obligations045.M0Coincidence\n\ndef powers (ws : List \u211d) (k : \u2115) : \u211d := (ws.map (fun w => w^k)).sum\n\ndef m1 (p : \u211d) (ws : List \u211d) := p*ws.sum\ndef m2 (p : \u211d) (ws : List \u211d) := p^2*ws.sum^2+p*(1-p)*powers ws 2\ndef m3 (p : \u211d) (ws : List \u211d) := p^3*ws.sum^3+3*p^2*(1-p)*ws.sum*powers ws 2+p*(1-p)*(1-2*p)*powers ws 3\ndef m4 (p : \u211d) (ws : List \u211d) := p^4*ws.sum^4+6*p^3*(1-p)*ws.sum^2*powers ws 2+3*(p*(1-p))^2*(powers ws 2)^2+4*p^2*(1-p)*(1-2*p)*ws.sum*powers ws 3+p*(1-p)*(1-6*p*(1-p))*powers ws 4\n\ntheorem expect_quartic (p : \u211d) (ws : List \u211d) (a b d e f : \u211d) :\n expect p ws (fun x => a*x^4+b*x^3+d*x^2+e*x+f) =\n a*m4 p ws+b*m3 p ws+d*m2 p ws+e*m1 p ws+f := by\n induction ws generalizing a b d e f with\n | nil => simp [expect, m1, m2, m3, m4, powers]\n | cons w ws ih =>\n have hf : (fun x : \u211d => a*(w+x)^4+b*(w+x)^3+d*(w+x)^2+e*(w+x)+f) =\n (fun x => a*x^4+(4*a*w+b)*x^3+(6*a*w^2+3*b*w+d)*x^2+\n (4*a*w^3+3*b*w^2+2*d*w+e)*x+(a*w^4+b*w^3+d*w^2+e*w+f)) := by\n funext x\n ring\n simp only [expect, hf]\n rw [ih, ih]\n simp only [m1, m2, m3, m4, List.sum_cons, powers, List.map_cons]\n ring\n\ndef r2 (p B : \u211d) := p^2+(1-p)^2+2*p*(1-p)*B\ndef r4 (p B C E : \u211d) := p^4+(1-p)^4+6*(p^2+(1-p)^2)*p*(1-p)*B-\n 4*p*(1-p)*(1-2*p)^2*C+6*(p*(1-p))^2*B^2+2*p*(1-p)*(1-6*p*(1-p))*E\n\ntheorem fourth_coincidence (p c : \u211d) (ws : List \u211d) (hw : ws.sum = 1) :\n expect p ws (fun x => ((1-c)*p+c*x)^4+(1-((1-c)*p+c*x))^4) =\n r4 p (c^2*powers ws 2) (c^3*powers ws 3) (c^4*powers ws 4) := by\n have hf : (fun x : \u211d => ((1-c)*p+c*x)^4+(1-((1-c)*p+c*x))^4) =\n (fun x => (2*c^4)*x^4+(4*c^3*(2*(1-c)*p-1))*x^3+\n (6*c^2*(((1-c)*p)^2+(1-(1-c)*p)^2))*x^2+\n (4*c*(((1-c)*p)^3-(1-(1-c)*p)^3))*x+\n (((1-c)*p)^4+(1-(1-c)*p)^4)) := by\n funext x\n ring\n rw [hf, expect_quartic]\n simp only [m1, m2, m3, m4, hw, r4]\n ring\n\ndef uniformR4 (p B x : \u211d) := r4 p B (B*x) (B*x^2)\n\ntheorem uniform_fourth_strict (p B x y : \u211d) (hp : 0 < p) (hp1 : p < 1)\n (hB : 0 < B) (hx : 0 < x) (hy : x < y) (hy1 : y \u2264 1) :\n uniformR4 p B y < uniformR4 p B x := by\n have ha : 0 < p*(1-p) := mul_pos hp (sub_pos.mpr hp1)\n have hs : 0 < x+y := by linarith\n have hs2 : x+y \u2264 2 := by linarith\n have hd : 0 \u2264 (1-2*p)^2 := sq_nonneg _\n have hn : (1-6*p*(1-p))*(x+y)-2*(1-2*p)^2 < 0 := by\n by_cases h : 0 \u2264 1-6*p*(1-p)\n \u00b7 have hh := mul_le_mul_of_nonneg_left hs2 h\n nlinarith [sq_nonneg (1-2*p)]\n \u00b7 have hh : (1-6*p*(1-p))*(x+y) < 0 := mul_neg_of_neg_of_pos (lt_of_not_ge h) hs\n nlinarith\n have hf : uniformR4 p B y-uniformR4 p B x =\n 2*p*(1-p)*B*(y-x)*((1-6*p*(1-p))*(x+y)-2*(1-2*p)^2) := by\n unfold uniformR4 r4\n ring\n have hp1' : 0 < 1-p := sub_pos.mpr hp1\n have hgap : 0 < y-x := sub_pos.mpr hy\n have hpos : 0 < 2*p*(1-p)*B*(y-x) := by positivity\n have := mul_neg_of_pos_of_neg hpos hn\n linarith\n\ntheorem uniform_pair_fourth_injective (p B\u2081 B\u2082 x\u2081 x\u2082 : \u211d)\n (hp : 0 < p) (hp1 : p < 1) (hB\u2081 : 0 < B\u2081) (hB\u2082 : 0 < B\u2082)\n (hx\u2081 : 0 < x\u2081) (hx\u2082 : 0 < x\u2082) (hx\u20811 : x\u2081 \u2264 1) (hx\u20821 : x\u2082 \u2264 1)\n (h2 : r2 p B\u2081 = r2 p B\u2082)\n (h4 : uniformR4 p B\u2081 x\u2081 = uniformR4 p B\u2082 x\u2082) : B\u2081 = B\u2082 \u2227 x\u2081 = x\u2082 := by\n have ha : 0 < p*(1-p) := mul_pos hp (sub_pos.mpr hp1)\n have hB : B\u2081 = B\u2082 := by unfold r2 at h2; nlinarith\n subst B\u2082\n refine \u27e8rfl, ?_\u27e9\n rcases lt_trichotomy x\u2081 x\u2082 with h|h|h\n \u00b7 have := uniform_fourth_strict p B\u2081 x\u2081 x\u2082 hp hp1 hB\u2081 hx\u2081 h hx\u20821\n linarith\n \u00b7 exact h\n \u00b7 have := uniform_fourth_strict p B\u2081 x\u2082 x\u2081 hp hp1 hB\u2081 hx\u2082 h hx\u20811\n linarith\n\n-- Recovery is algebraic only after the explicitly uniform moment model has been justified.\ntheorem recover_uniform_parameters (B x c K : \u211d) (hx : x \u2260 0)\n (hB : B = c*x) (hK : c = K*x) : c = B/x \u2227 K = B/x^2 := by\n constructor\n \u00b7 apply (eq_div_iff hx).mpr\n nlinarith\n \u00b7 apply (eq_div_iff (pow_ne_zero 2 hx)).mpr\n nlinarith [hB, congrArg (fun t : \u211d => t*x) hK]\n\ntheorem uniform_cK_injective (p c\u2081 c\u2082 K\u2081 K\u2082 : \u211d)\n (hp : 0 < p) (hp1 : p < 1) (hc\u2081 : 0 < c\u2081) (hc\u2082 : 0 < c\u2082)\n (hc\u20811 : c\u2081 \u2264 1) (hc\u20821 : c\u2082 \u2264 1) (hK\u2081 : 1 \u2264 K\u2081) (hK\u2082 : 1 \u2264 K\u2082)\n (h2 : r2 p (c\u2081^2/K\u2081) = r2 p (c\u2082^2/K\u2082))\n (h4 : r4 p (c\u2081^2/K\u2081) (c\u2081^3/K\u2081^2) (c\u2081^4/K\u2081^3) =\n r4 p (c\u2082^2/K\u2082) (c\u2082^3/K\u2082^2) (c\u2082^4/K\u2082^3)) : c\u2081 = c\u2082 \u2227 K\u2081 = K\u2082 := by\n have hK\u20810 : 0 < K\u2081 := by linarith\n have hK\u20820 : 0 < K\u2082 := by linarith\n have hf (c K : \u211d) : r4 p (c^2/K) (c^3/K^2) (c^4/K^3) =\n uniformR4 p (c^2/K) (c/K) := by simp only [uniformR4, r4]; ring\n rw [hf, hf] at h4\n have h := uniform_pair_fourth_injective p (c\u2081^2/K\u2081) (c\u2082^2/K\u2082) (c\u2081/K\u2081) (c\u2082/K\u2082)\n hp hp1 (by positivity) (by positivity) (by positivity) (by positivity)\n ((div_le_one hK\u20810).mpr (by linarith)) ((div_le_one hK\u20820).mpr (by linarith)) h2 h4\n have rec (c K : \u211d) (hc : 0 < c) (hK : 0 < K) :\n c = (c^2/K)/(c/K) \u2227 K = (c^2/K)/(c/K)^2 := by\n have hb : c^2/K = c*(c/K) := by ring\n have hk : c = K*(c/K) := by field_simp [ne_of_gt hK]\n exact recover_uniform_parameters (c^2/K) (c/K) c K (ne_of_gt (div_pos hc hK)) hb hk\n have h\u2081 := rec c\u2081 K\u2081 hc\u2081 hK\u20810\n have h\u2082 := rec c\u2082 K\u2082 hc\u2082 hK\u20820\n constructor\n \u00b7 rw [h\u2081.1, h\u2082.1, h.1, h.2]\n \u00b7 rw [h\u2081.2, h\u2082.2, h.1, h.2]\n\ndef weightsA : List \u211d := List.replicate 36 (1/42) ++ List.replicate 3 (1/21)\ndef weightsB : List \u211d := List.replicate 48 (1/96) ++ List.replicate 16 (1/32)\n\ntheorem nonuniform_normalized : weightsA.sum = 1 \u2227 weightsB.sum = 1 := by\n norm_num [weightsA, weightsB, List.sum_replicate]\n\ntheorem nonuniform_power_collision :\n (7/10:\u211d)^2*powers weightsA 2 = (4/5:\u211d)^2*powers weightsB 2 \u2227\n (7/10:\u211d)^3*powers weightsA 3 = (4/5:\u211d)^3*powers weightsB 3 \u2227\n (7/10:\u211d)^4*powers weightsA 4 = (4/5:\u211d)^4*powers weightsB 4 := by\n norm_num [powers, weightsA, weightsB, List.sum_replicate]\n\ntheorem nonuniform_same_pair_fourth (p : \u211d) :\n r2 p ((7/10)^2*powers weightsA 2) = r2 p ((4/5)^2*powers weightsB 2) \u2227\n r4 p ((7/10)^2*powers weightsA 2) ((7/10)^3*powers weightsA 3) ((7/10)^4*powers weightsA 4) =\n r4 p ((4/5)^2*powers weightsB 2) ((4/5)^3*powers weightsB 3) ((4/5)^4*powers weightsB 4) := by\n obtain \u27e8h2,h3,h4\u27e9 := nonuniform_power_collision\n exact \u27e8congrArg (r2 p) h2, by rw [h2,h3,h4]\u27e9\n\ntheorem nonuniform_distinct_parameters :\n (7/10:\u211d) \u2260 4/5 \u2227 (1:\u211d)/powers weightsA 2 = 147/4 \u2227\n (1:\u211d)/powers weightsB 2 = 48 := by\n norm_num [powers, weightsA, weightsB, List.sum_replicate]\n\n-- Population expectations themselves coincide, not just invented summaries.\ntheorem nonuniform_actual_fourth_collision (p : \u211d) :\n expect p weightsA (fun x => ((1-(7/10))*p+(7/10)*x)^4+(1-((1-(7/10))*p+(7/10)*x))^4) =\n expect p weightsB (fun x => ((1-(4/5))*p+(4/5)*x)^4+(1-((1-(4/5))*p+(4/5)*x))^4) := by\n rw [fourth_coincidence p (7/10) weightsA nonuniform_normalized.1,\n fourth_coincidence p (4/5) weightsB nonuniform_normalized.2]\n exact (nonuniform_same_pair_fourth p).2\n\n\ndef uniformWeights (n : \u2115) : List \u211d := List.replicate n (1/(n:\u211d))\n\ntheorem uniform_normalized (n : \u2115) (hn : 0 < n) : (uniformWeights n).sum = 1 := by\n have hn0 : (n:\u211d) \u2260 0 := by exact_mod_cast (Nat.ne_of_gt hn)\n simp [uniformWeights, List.sum_replicate, hn0]\n\ntheorem uniform_powers (n k : \u2115) : powers (uniformWeights n) k = (n:\u211d)*(1/(n:\u211d))^k := by\n simp [powers, uniformWeights, List.sum_replicate]\n\ntheorem uniform_population_pair (p c : \u211d) (n : \u2115) (hn : 0 < n) :\n expect p (uniformWeights n) (fun x => ((1-c)*p+c*x)^2+(1-((1-c)*p+c*x))^2) =\n r2 p (c^2/(n:\u211d)) := by\n rw [pair_coincidence p c (uniformWeights n) (uniform_normalized n hn)]\n change p^2+(1-p)^2+2*c^2*p*(1-p)*powers (uniformWeights n) 2 = _\n rw [uniform_powers]\n unfold r2\n have hn0 : (n:\u211d) \u2260 0 := by exact_mod_cast (Nat.ne_of_gt hn)\n field_simp\n ring\n\ntheorem uniform_population_fourth (p c : \u211d) (n : \u2115) (hn : 0 < n) :\n expect p (uniformWeights n) (fun x => ((1-c)*p+c*x)^4+(1-((1-c)*p+c*x))^4) =\n r4 p (c^2/(n:\u211d)) (c^3/(n:\u211d)^2) (c^4/(n:\u211d)^3) := by\n rw [fourth_coincidence p c (uniformWeights n) (uniform_normalized n hn)]\n rw [uniform_powers, uniform_powers, uniform_powers]\n have hn0 : (n:\u211d) \u2260 0 := by exact_mod_cast (Nat.ne_of_gt hn)\n congr 1 <;> field_simp <;> ring\n\n\ntheorem uniform_population_identification (p c\u2081 c\u2082 : \u211d) (n\u2081 n\u2082 : \u2115)\n (hp : 0 < p) (hp1 : p < 1) (hc\u2081 : 0 < c\u2081) (hc\u2082 : 0 < c\u2082)\n (hc\u20811 : c\u2081 \u2264 1) (hc\u20821 : c\u2082 \u2264 1) (hn\u2081 : 0 < n\u2081) (hn\u2082 : 0 < n\u2082)\n (h2 : expect p (uniformWeights n\u2081) (fun x => ((1-c\u2081)*p+c\u2081*x)^2+(1-((1-c\u2081)*p+c\u2081*x))^2) =\n expect p (uniformWeights n\u2082) (fun x => ((1-c\u2082)*p+c\u2082*x)^2+(1-((1-c\u2082)*p+c\u2082*x))^2))\n (h4 : expect p (uniformWeights n\u2081) (fun x => ((1-c\u2081)*p+c\u2081*x)^4+(1-((1-c\u2081)*p+c\u2081*x))^4) =\n expect p (uniformWeights n\u2082) (fun x => ((1-c\u2082)*p+c\u2082*x)^4+(1-((1-c\u2082)*p+c\u2082*x))^4)) :\n c\u2081 = c\u2082 \u2227 n\u2081 = n\u2082 := by\n rw [uniform_population_pair p c\u2081 n\u2081 hn\u2081, uniform_population_pair p c\u2082 n\u2082 hn\u2082] at h2\n rw [uniform_population_fourth p c\u2081 n\u2081 hn\u2081, uniform_population_fourth p c\u2082 n\u2082 hn\u2082] at h4\n have h := uniform_cK_injective p c\u2081 c\u2082 (n\u2081:\u211d) (n\u2082:\u211d) hp hp1 hc\u2081 hc\u2082 hc\u20811 hc\u20821\n (by exact_mod_cast hn\u2081) (by exact_mod_cast hn\u2082) h2 h4\n exact \u27e8h.1, by exact_mod_cast h.2\u27e9\n\ntheorem unknown_p_alias (p : \u211d) : r2 p 1 = 1 \u2227 r4 p 1 1 1 = 1 := by\n constructor <;> simp only [r2, r4] <;> ring\n\ntheorem zero_c_alias (p : \u211d) : r2 p 0 = p^2+(1-p)^2 \u2227\n r4 p 0 0 0 = p^4+(1-p)^4 := by\n constructor <;> simp only [r2, r4] <;> ring\n\nend Obligations046.M0Identification\n\nopen Obligations046.M0Identification\nexample : (r2 (3/4) 0 = r2 (3/4) 0 \u2227 r4 (3/4) 0 0 0 = r4 (3/4) 0 0 0) \u2192 (2:\u211d) = 3 := by\n norm_num [r2,r4]\n",
129
+ "exitCode": 1,
130
+ "cause": [
131
+ "unsolved goals"
132
+ ]
133
+ }
134
+ ]
135
+ }
136
+ }