universal-physics-tensor 8.0.0 → 9.0.0

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 (322) hide show
  1. package/README.md +8 -6
  2. package/data/atlas/atlas.json +21 -21
  3. package/data/atlas/atlas.jsonld +1 -1
  4. package/data/atlas/diffusion.json +5 -5
  5. package/data/atlas/oscillators.json +7 -7
  6. package/data/atlas/waves.json +11 -11
  7. package/data/bridge-catalog.json +490 -338
  8. package/data/bridge-catalog.schema.json +566 -40
  9. package/data/quantities.json +230 -218
  10. package/data/quantities.schema.json +52 -0
  11. package/data/units.json +1149 -0
  12. package/data/units.schema.json +124 -0
  13. package/dist/atlas/association.d.ts +1 -1
  14. package/dist/atlas/benchmark/hybrid-retrieval.d.ts.map +1 -1
  15. package/dist/atlas/benchmark/hybrid-retrieval.js +2 -5
  16. package/dist/atlas/benchmark/hybrid-retrieval.js.map +1 -1
  17. package/dist/atlas/physjs-entries.generated.d.ts +1601 -220
  18. package/dist/atlas/physjs-entries.generated.d.ts.map +1 -1
  19. package/dist/atlas/physjs-entries.generated.js +1854 -345
  20. package/dist/atlas/physjs-entries.generated.js.map +1 -1
  21. package/dist/atlas/physjs-ref.d.ts +89 -89
  22. package/dist/atlas/physjs-ref.d.ts.map +1 -1
  23. package/dist/atlas/physjs-ref.js +128 -176
  24. package/dist/atlas/physjs-ref.js.map +1 -1
  25. package/dist/atlas/proof-target.d.ts +16 -8
  26. package/dist/atlas/proof-target.d.ts.map +1 -1
  27. package/dist/atlas/proof-target.js +34 -31
  28. package/dist/atlas/proof-target.js.map +1 -1
  29. package/dist/bridges/catalog-adapter.d.ts.map +1 -1
  30. package/dist/bridges/catalog-adapter.js +5 -5
  31. package/dist/bridges/catalog-adapter.js.map +1 -1
  32. package/dist/bridges/catalog-load.d.ts +7 -0
  33. package/dist/bridges/catalog-load.d.ts.map +1 -1
  34. package/dist/bridges/catalog-load.js +69 -13
  35. package/dist/bridges/catalog-load.js.map +1 -1
  36. package/dist/bridges/catalog-types.d.ts +51 -6
  37. package/dist/bridges/catalog-types.d.ts.map +1 -1
  38. package/dist/bridges/evaluation-errors.d.ts +76 -0
  39. package/dist/bridges/evaluation-errors.d.ts.map +1 -0
  40. package/dist/bridges/evaluation-errors.js +118 -0
  41. package/dist/bridges/evaluation-errors.js.map +1 -0
  42. package/dist/bridges/evaluator-inputs.d.ts +5 -3
  43. package/dist/bridges/evaluator-inputs.d.ts.map +1 -1
  44. package/dist/bridges/evaluator-inputs.js +24 -24
  45. package/dist/bridges/evaluator-inputs.js.map +1 -1
  46. package/dist/bridges/evaluators.d.ts +32 -7
  47. package/dist/bridges/evaluators.d.ts.map +1 -1
  48. package/dist/bridges/evaluators.js +131 -29
  49. package/dist/bridges/evaluators.js.map +1 -1
  50. package/dist/bridges/expr-parse.d.ts +11 -3
  51. package/dist/bridges/expr-parse.d.ts.map +1 -1
  52. package/dist/bridges/expr-parse.js +46 -153
  53. package/dist/bridges/expr-parse.js.map +1 -1
  54. package/dist/bridges/holds.d.ts +11 -7
  55. package/dist/bridges/holds.d.ts.map +1 -1
  56. package/dist/bridges/holds.js +113 -234
  57. package/dist/bridges/holds.js.map +1 -1
  58. package/dist/bridges/input-contract.d.ts +65 -0
  59. package/dist/bridges/input-contract.d.ts.map +1 -0
  60. package/dist/bridges/input-contract.js +97 -0
  61. package/dist/bridges/input-contract.js.map +1 -0
  62. package/dist/bridges/notices.d.ts +11 -0
  63. package/dist/bridges/notices.d.ts.map +1 -0
  64. package/dist/bridges/notices.js +22 -0
  65. package/dist/bridges/notices.js.map +1 -0
  66. package/dist/canonical/canonical-equation.d.ts +31 -0
  67. package/dist/canonical/canonical-equation.d.ts.map +1 -1
  68. package/dist/canonical/entries/atomic.d.ts.map +1 -1
  69. package/dist/canonical/entries/atomic.js +11 -1
  70. package/dist/canonical/entries/atomic.js.map +1 -1
  71. package/dist/canonical/entries/condensed-matter.d.ts.map +1 -1
  72. package/dist/canonical/entries/condensed-matter.js +3 -0
  73. package/dist/canonical/entries/condensed-matter.js.map +1 -1
  74. package/dist/canonical/entries/dimensional-classics.d.ts.map +1 -1
  75. package/dist/canonical/entries/dimensional-classics.js +48 -0
  76. package/dist/canonical/entries/dimensional-classics.js.map +1 -1
  77. package/dist/canonical/entries/electromagnetism.d.ts.map +1 -1
  78. package/dist/canonical/entries/electromagnetism.js +30 -0
  79. package/dist/canonical/entries/electromagnetism.js.map +1 -1
  80. package/dist/canonical/entries/fluids-waves.d.ts.map +1 -1
  81. package/dist/canonical/entries/fluids-waves.js +34 -0
  82. package/dist/canonical/entries/fluids-waves.js.map +1 -1
  83. package/dist/canonical/entries/mechanics.d.ts.map +1 -1
  84. package/dist/canonical/entries/mechanics.js +24 -0
  85. package/dist/canonical/entries/mechanics.js.map +1 -1
  86. package/dist/canonical/entries/nonmonomial.d.ts.map +1 -1
  87. package/dist/canonical/entries/nonmonomial.js +15 -4
  88. package/dist/canonical/entries/nonmonomial.js.map +1 -1
  89. package/dist/canonical/entries/relativity.d.ts.map +1 -1
  90. package/dist/canonical/entries/relativity.js +6 -0
  91. package/dist/canonical/entries/relativity.js.map +1 -1
  92. package/dist/canonical/entries/statistical-mechanics.d.ts.map +1 -1
  93. package/dist/canonical/entries/statistical-mechanics.js +19 -0
  94. package/dist/canonical/entries/statistical-mechanics.js.map +1 -1
  95. package/dist/canonical/entries/thermo-nuclear-cosmo.d.ts.map +1 -1
  96. package/dist/canonical/entries/thermo-nuclear-cosmo.js +15 -0
  97. package/dist/canonical/entries/thermo-nuclear-cosmo.js.map +1 -1
  98. package/dist/cases/index.d.ts +9 -2
  99. package/dist/cases/index.d.ts.map +1 -1
  100. package/dist/cases/index.js +26 -7
  101. package/dist/cases/index.js.map +1 -1
  102. package/dist/cases/kepler-rv.js +6 -6
  103. package/dist/cases/kepler-rv.js.map +1 -1
  104. package/dist/cli/commands/_discovery-opts.d.ts +2 -1
  105. package/dist/cli/commands/_discovery-opts.d.ts.map +1 -1
  106. package/dist/cli/commands/_discovery-opts.js +7 -12
  107. package/dist/cli/commands/_discovery-opts.js.map +1 -1
  108. package/dist/cli/commands/atlas.d.ts.map +1 -1
  109. package/dist/cli/commands/atlas.js +6 -9
  110. package/dist/cli/commands/atlas.js.map +1 -1
  111. package/dist/cli/commands/audit.d.ts.map +1 -1
  112. package/dist/cli/commands/audit.js +1 -2
  113. package/dist/cli/commands/audit.js.map +1 -1
  114. package/dist/cli/commands/connectors.d.ts.map +1 -1
  115. package/dist/cli/commands/connectors.js +8 -9
  116. package/dist/cli/commands/connectors.js.map +1 -1
  117. package/dist/cli/commands/derive.js +9 -10
  118. package/dist/cli/commands/derive.js.map +1 -1
  119. package/dist/cli/commands/discover.d.ts.map +1 -1
  120. package/dist/cli/commands/discover.js +3 -4
  121. package/dist/cli/commands/discover.js.map +1 -1
  122. package/dist/cli/commands/eval.d.ts.map +1 -1
  123. package/dist/cli/commands/eval.js +17 -17
  124. package/dist/cli/commands/eval.js.map +1 -1
  125. package/dist/cli/commands/evaluate.d.ts +1 -35
  126. package/dist/cli/commands/evaluate.d.ts.map +1 -1
  127. package/dist/cli/commands/evaluate.js +56 -187
  128. package/dist/cli/commands/evaluate.js.map +1 -1
  129. package/dist/cli/commands/explain.d.ts.map +1 -1
  130. package/dist/cli/commands/explain.js +43 -38
  131. package/dist/cli/commands/explain.js.map +1 -1
  132. package/dist/cli/commands/ground.js +1 -1
  133. package/dist/cli/commands/ground.js.map +1 -1
  134. package/dist/cli/commands/map.js +3 -4
  135. package/dist/cli/commands/map.js.map +1 -1
  136. package/dist/cli/commands/metric.d.ts.map +1 -1
  137. package/dist/cli/commands/metric.js +3 -0
  138. package/dist/cli/commands/metric.js.map +1 -1
  139. package/dist/cli/commands/regime.js +1 -1
  140. package/dist/cli/commands/regime.js.map +1 -1
  141. package/dist/cli/commands/symbolic.d.ts.map +1 -1
  142. package/dist/cli/commands/symbolic.js +5 -2
  143. package/dist/cli/commands/symbolic.js.map +1 -1
  144. package/dist/cli/commands/testplan.js +3 -3
  145. package/dist/cli/commands/testplan.js.map +1 -1
  146. package/dist/cli/conventions.d.ts +6 -7
  147. package/dist/cli/conventions.d.ts.map +1 -1
  148. package/dist/cli/conventions.js +19 -28
  149. package/dist/cli/conventions.js.map +1 -1
  150. package/dist/cli/euler-guard.d.ts +13 -2
  151. package/dist/cli/euler-guard.d.ts.map +1 -1
  152. package/dist/cli/euler-guard.js +17 -3
  153. package/dist/cli/euler-guard.js.map +1 -1
  154. package/dist/cli/eval-numbers.d.ts +4 -9
  155. package/dist/cli/eval-numbers.d.ts.map +1 -1
  156. package/dist/cli/eval-numbers.js +11 -41
  157. package/dist/cli/eval-numbers.js.map +1 -1
  158. package/dist/cli/published-url.d.ts +2 -0
  159. package/dist/cli/published-url.d.ts.map +1 -1
  160. package/dist/cli/published-url.js +5 -0
  161. package/dist/cli/published-url.js.map +1 -1
  162. package/dist/cli/record-tables.d.ts +2 -1
  163. package/dist/cli/record-tables.d.ts.map +1 -1
  164. package/dist/cli/record-tables.js +8 -3
  165. package/dist/cli/record-tables.js.map +1 -1
  166. package/dist/cli-api.d.ts +45 -12
  167. package/dist/cli-api.d.ts.map +1 -1
  168. package/dist/cli-api.js +38 -11
  169. package/dist/cli-api.js.map +1 -1
  170. package/dist/composition/adjudication.d.ts +8 -30
  171. package/dist/composition/adjudication.d.ts.map +1 -1
  172. package/dist/composition/adjudication.js +15 -67
  173. package/dist/composition/adjudication.js.map +1 -1
  174. package/dist/composition/aliases.d.ts +1 -1
  175. package/dist/composition/aliases.d.ts.map +1 -1
  176. package/dist/composition/aliases.js +10 -20
  177. package/dist/composition/aliases.js.map +1 -1
  178. package/dist/composition/bridge-analysis.d.ts +4 -0
  179. package/dist/composition/bridge-analysis.d.ts.map +1 -1
  180. package/dist/composition/bridge-analysis.js +13 -14
  181. package/dist/composition/bridge-analysis.js.map +1 -1
  182. package/dist/composition/canonical-graph.d.ts +7 -9
  183. package/dist/composition/canonical-graph.d.ts.map +1 -1
  184. package/dist/composition/canonical-graph.js +35 -19
  185. package/dist/composition/canonical-graph.js.map +1 -1
  186. package/dist/composition/canonical-prefactors.d.ts +10 -29
  187. package/dist/composition/canonical-prefactors.d.ts.map +1 -1
  188. package/dist/composition/canonical-prefactors.js +15 -202
  189. package/dist/composition/canonical-prefactors.js.map +1 -1
  190. package/dist/composition/compose.js +2 -1
  191. package/dist/composition/compose.js.map +1 -1
  192. package/dist/composition/discovery.d.ts +50 -0
  193. package/dist/composition/discovery.d.ts.map +1 -1
  194. package/dist/composition/discovery.js +2 -2
  195. package/dist/composition/discovery.js.map +1 -1
  196. package/dist/composition/edge.d.ts +0 -14
  197. package/dist/composition/edge.d.ts.map +1 -1
  198. package/dist/composition/edge.js +1 -17
  199. package/dist/composition/edge.js.map +1 -1
  200. package/dist/composition/evaluate-relation.d.ts +29 -5
  201. package/dist/composition/evaluate-relation.d.ts.map +1 -1
  202. package/dist/composition/evaluate-relation.js +100 -72
  203. package/dist/composition/evaluate-relation.js.map +1 -1
  204. package/dist/composition/explain.d.ts +5 -0
  205. package/dist/composition/explain.d.ts.map +1 -1
  206. package/dist/composition/explain.js +9 -8
  207. package/dist/composition/explain.js.map +1 -1
  208. package/dist/composition/expr-eval.d.ts.map +1 -1
  209. package/dist/composition/expr-eval.js +2 -1
  210. package/dist/composition/expr-eval.js.map +1 -1
  211. package/dist/composition/index.d.ts +3 -1
  212. package/dist/composition/index.d.ts.map +1 -1
  213. package/dist/composition/index.js +3 -1
  214. package/dist/composition/index.js.map +1 -1
  215. package/dist/composition/proposed-bridges.d.ts.map +1 -1
  216. package/dist/composition/proposed-bridges.js +3 -2
  217. package/dist/composition/proposed-bridges.js.map +1 -1
  218. package/dist/composition/retrodiction.d.ts +8 -0
  219. package/dist/composition/retrodiction.d.ts.map +1 -1
  220. package/dist/composition/retrodiction.js +5 -0
  221. package/dist/composition/retrodiction.js.map +1 -1
  222. package/dist/composition/user-equation.d.ts +11 -7
  223. package/dist/composition/user-equation.d.ts.map +1 -1
  224. package/dist/composition/user-equation.js +24 -26
  225. package/dist/composition/user-equation.js.map +1 -1
  226. package/dist/core/constants.d.ts +27 -4
  227. package/dist/core/constants.d.ts.map +1 -1
  228. package/dist/core/constants.js +38 -5
  229. package/dist/core/constants.js.map +1 -1
  230. package/dist/core/data-file.d.ts +27 -0
  231. package/dist/core/data-file.d.ts.map +1 -0
  232. package/dist/core/data-file.js +48 -0
  233. package/dist/core/data-file.js.map +1 -0
  234. package/dist/core/json-schema.d.ts +27 -0
  235. package/dist/core/json-schema.d.ts.map +1 -0
  236. package/dist/core/json-schema.js +153 -0
  237. package/dist/core/json-schema.js.map +1 -0
  238. package/dist/core/types.d.ts +3 -2
  239. package/dist/core/types.d.ts.map +1 -1
  240. package/dist/core/types.js +16 -14
  241. package/dist/core/types.js.map +1 -1
  242. package/dist/diff/bridge-ast-gradient.d.ts.map +1 -1
  243. package/dist/diff/bridge-ast-gradient.js +6 -17
  244. package/dist/diff/bridge-ast-gradient.js.map +1 -1
  245. package/dist/diff/bridge-specs.d.ts +2 -1
  246. package/dist/diff/bridge-specs.d.ts.map +1 -1
  247. package/dist/diff/bridge-specs.js +1 -1
  248. package/dist/diff/bridge-specs.js.map +1 -1
  249. package/dist/dimensional/bridge-check.d.ts.map +1 -1
  250. package/dist/dimensional/bridge-check.js +3 -5
  251. package/dist/dimensional/bridge-check.js.map +1 -1
  252. package/dist/dimensional/constant-rows.d.ts +54 -0
  253. package/dist/dimensional/constant-rows.d.ts.map +1 -0
  254. package/dist/dimensional/constant-rows.js +111 -0
  255. package/dist/dimensional/constant-rows.js.map +1 -0
  256. package/dist/dimensional/constants.d.ts +4 -13
  257. package/dist/dimensional/constants.d.ts.map +1 -1
  258. package/dist/dimensional/constants.js +11 -19
  259. package/dist/dimensional/constants.js.map +1 -1
  260. package/dist/dimensional/dimension-spec.d.ts +12 -3
  261. package/dist/dimensional/dimension-spec.d.ts.map +1 -1
  262. package/dist/dimensional/dimension-spec.js +114 -150
  263. package/dist/dimensional/dimension-spec.js.map +1 -1
  264. package/dist/dimensional/exact-scale.d.ts +79 -0
  265. package/dist/dimensional/exact-scale.d.ts.map +1 -0
  266. package/dist/dimensional/exact-scale.js +222 -0
  267. package/dist/dimensional/exact-scale.js.map +1 -0
  268. package/dist/dimensional/formula-names.d.ts +13 -12
  269. package/dist/dimensional/formula-names.d.ts.map +1 -1
  270. package/dist/dimensional/formula-names.js +28 -51
  271. package/dist/dimensional/formula-names.js.map +1 -1
  272. package/dist/dimensional/quantity-registry.d.ts +10 -1
  273. package/dist/dimensional/quantity-registry.d.ts.map +1 -1
  274. package/dist/dimensional/quantity-registry.js +45 -16
  275. package/dist/dimensional/quantity-registry.js.map +1 -1
  276. package/dist/dimensional/symbolic-constants.d.ts +63 -19
  277. package/dist/dimensional/symbolic-constants.d.ts.map +1 -1
  278. package/dist/dimensional/symbolic-constants.js +109 -92
  279. package/dist/dimensional/symbolic-constants.js.map +1 -1
  280. package/dist/dimensional/unit-data.d.ts +70 -0
  281. package/dist/dimensional/unit-data.d.ts.map +1 -0
  282. package/dist/dimensional/unit-data.js +135 -0
  283. package/dist/dimensional/unit-data.js.map +1 -0
  284. package/dist/dimensional/units.d.ts +87 -24
  285. package/dist/dimensional/units.d.ts.map +1 -1
  286. package/dist/dimensional/units.js +253 -276
  287. package/dist/dimensional/units.js.map +1 -1
  288. package/dist/index.d.ts +15 -13
  289. package/dist/index.d.ts.map +1 -1
  290. package/dist/index.js +7 -4
  291. package/dist/index.js.map +1 -1
  292. package/dist/numerical/binding-value.d.ts +21 -1
  293. package/dist/numerical/binding-value.d.ts.map +1 -1
  294. package/dist/numerical/binding-value.js +123 -118
  295. package/dist/numerical/binding-value.js.map +1 -1
  296. package/dist/numerical/evaluator-uncertainty.d.ts +34 -0
  297. package/dist/numerical/evaluator-uncertainty.d.ts.map +1 -0
  298. package/dist/numerical/evaluator-uncertainty.js +117 -0
  299. package/dist/numerical/evaluator-uncertainty.js.map +1 -0
  300. package/dist/numerical/formula-contract.d.ts +4 -0
  301. package/dist/numerical/formula-contract.d.ts.map +1 -1
  302. package/dist/numerical/formula-contract.js +7 -0
  303. package/dist/numerical/formula-contract.js.map +1 -1
  304. package/dist/numerical/formula-dimension.d.ts +9 -0
  305. package/dist/numerical/formula-dimension.d.ts.map +1 -1
  306. package/dist/numerical/formula-dimension.js +64 -10
  307. package/dist/numerical/formula-dimension.js.map +1 -1
  308. package/dist/numerical/formula-mathts.d.ts.map +1 -1
  309. package/dist/numerical/formula-mathts.js +6 -2
  310. package/dist/numerical/formula-mathts.js.map +1 -1
  311. package/dist/numerical/gl4-integrator.d.ts.map +1 -1
  312. package/dist/numerical/gl4-integrator.js +3 -3
  313. package/dist/numerical/gl4-integrator.js.map +1 -1
  314. package/dist/numerical/spacetime-metrics.d.ts +4 -0
  315. package/dist/numerical/spacetime-metrics.d.ts.map +1 -1
  316. package/dist/numerical/spacetime-metrics.js +34 -4
  317. package/dist/numerical/spacetime-metrics.js.map +1 -1
  318. package/dist/relations/types.d.ts +8 -1
  319. package/dist/relations/types.d.ts.map +1 -1
  320. package/dist/relations/types.js +10 -0
  321. package/dist/relations/types.js.map +1 -1
  322. package/package.json +1 -1
@@ -1,1414 +1,2795 @@
1
1
  /**
2
- * Generated from `formal/physjs/manifest.json`. Do not edit by hand.
2
+ * Generated from `formal/physjs/manifest.json` and `formal/physjs/theorem-files.json`.
3
+ * Do not edit by hand.
3
4
  * `bun run physjs:table` rewrites this file. A stale copy fails the docs gate,
4
5
  * and a hand-edited theorem fails `atlas:formal-gate`.
5
6
  */
6
7
  /** PhysJS commit recorded by the vendored manifest. */
7
- export declare const PHYSJS_COMMIT = "10e48f140c0e9fad3c50e5e5538124c52b3e732c";
8
+ export declare const PHYSJS_COMMIT = "a239a7085722f71f8d84b57407ccb1acdeda7b5b";
8
9
  /** Lean toolchain recorded by the vendored manifest. */
9
10
  export declare const PHYSJS_TOOLCHAIN = "leanprover/lean4:v4.34.1";
10
11
  /** Mathlib version recorded by the vendored manifest. */
11
12
  export declare const PHYSJS_MATHLIB = "v4.34.1";
12
13
  /** PhysLib commit recorded by the vendored manifest. */
13
14
  export declare const PHYSJS_PHYS_LIB = "af484f78ee0701290595f8bf892b157b10d64940";
14
- /** Compiled entry table copied from the vendored manifest entries. */
15
+ /**
16
+ * Compiled entry table copied from the vendored manifest entries. Each
17
+ * statement, nested ones included, carries its manifest kind and the Lean file
18
+ * that declares it; each nested statement is named by its manifest field.
19
+ */
15
20
  export declare const PHYSJS_ENTRIES: readonly [{
16
21
  readonly key: "ab-kg-schrodinger";
17
22
  readonly bridgeId: "ab-kg-schrodinger";
23
+ readonly kind: "bridge";
18
24
  readonly theorem: "PhysJS.KgSchrodinger.covers_bound_delta";
25
+ readonly file: "KgSchrodinger.lean";
19
26
  readonly covers: "bound.delta exactly, at the dispersion relation";
20
27
  readonly coverage: "covers its statement only";
21
28
  readonly leanProof: "complete";
22
29
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
23
- readonly planeWave: {
30
+ readonly nested: readonly [{
31
+ readonly name: "planeWave";
32
+ readonly kind: "derivation-step";
24
33
  readonly theorem: "PhysJS.KgSchrodinger.planeWave_iff_dispersion";
34
+ readonly file: "KgSchrodinger.lean";
25
35
  readonly covers: "a plane wave solves the PDE iff ω(k) obeys the dispersion relation";
26
36
  readonly coverage: "covers its statement only";
27
37
  readonly leanProof: "complete";
28
38
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
29
- };
39
+ }];
30
40
  }, {
31
41
  readonly key: "ab-klein-gordon-wave";
32
42
  readonly bridgeId: "ab-klein-gordon-wave";
43
+ readonly kind: "bridge";
33
44
  readonly theorem: "PhysJS.KleinGordonWave.covers_bound_delta";
45
+ readonly file: "KleinGordonWave.lean";
34
46
  readonly covers: "bound.delta exactly, at the dispersion relation";
35
47
  readonly coverage: "covers its statement only";
36
48
  readonly leanProof: "complete";
37
49
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
38
- readonly planeWave: {
50
+ readonly nested: readonly [{
51
+ readonly name: "planeWave";
52
+ readonly kind: "derivation-step";
39
53
  readonly theorem: "PhysJS.KleinGordonWave.planeWave_iff_dispersion";
54
+ readonly file: "KleinGordonWave.lean";
40
55
  readonly covers: "a plane wave solves the PDE iff ω(k) obeys the dispersion relation";
41
56
  readonly coverage: "covers its statement only";
42
57
  readonly leanProof: "complete";
43
58
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
44
- };
59
+ }];
45
60
  }, {
46
61
  readonly key: "ab-stiff-string";
47
62
  readonly bridgeId: "ab-stiff-string";
63
+ readonly kind: "bridge";
48
64
  readonly theorem: "PhysJS.StiffString.covers_bound_delta";
65
+ readonly file: "StiffString.lean";
49
66
  readonly covers: "bound.delta exactly, at the dispersion relation";
50
67
  readonly coverage: "covers its statement only";
51
68
  readonly leanProof: "complete";
52
69
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
53
- readonly planeWave: {
70
+ readonly nested: readonly [{
71
+ readonly name: "planeWave";
72
+ readonly kind: "derivation-step";
54
73
  readonly theorem: "PhysJS.StiffString.planeWave_iff_dispersion";
74
+ readonly file: "StiffString.lean";
55
75
  readonly covers: "a plane wave solves the PDE iff ω(k) obeys the dispersion relation";
56
76
  readonly coverage: "covers its statement only";
57
77
  readonly leanProof: "complete";
58
78
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
59
- };
79
+ }];
60
80
  }, {
61
81
  readonly key: "ab-telegraph-diffusion";
62
82
  readonly bridgeId: "ab-telegraph-diffusion";
83
+ readonly kind: "bridge";
63
84
  readonly theorem: "PhysJS.TelegraphDiffusion.covers_bound_delta";
85
+ readonly file: "TelegraphDiffusion.lean";
64
86
  readonly covers: "bound.delta exactly, at the dispersion relation";
65
87
  readonly coverage: "covers its statement only";
66
88
  readonly leanProof: "complete";
67
89
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
68
- readonly planeWave: {
90
+ readonly nested: readonly [{
91
+ readonly name: "planeWave";
92
+ readonly kind: "derivation-step";
69
93
  readonly theorem: "PhysJS.TelegraphDiffusion.planeWave_iff_dispersion";
94
+ readonly file: "TelegraphDiffusion.lean";
70
95
  readonly covers: "a plane wave solves the PDE iff ω(k) obeys the dispersion relation";
71
96
  readonly coverage: "covers its statement only";
72
97
  readonly leanProof: "complete";
73
98
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
74
- };
99
+ }];
75
100
  }, {
76
101
  readonly key: "ab-telegraph-wave";
77
102
  readonly bridgeId: "ab-telegraph-wave";
103
+ readonly kind: "bridge";
78
104
  readonly theorem: "PhysJS.TelegraphWave.covers_bound_delta";
105
+ readonly file: "TelegraphWave.lean";
79
106
  readonly covers: "bound.delta exactly, at the dispersion relation";
80
107
  readonly coverage: "covers its statement only";
81
108
  readonly leanProof: "complete";
82
109
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
83
- readonly planeWave: {
110
+ readonly nested: readonly [{
111
+ readonly name: "planeWave";
112
+ readonly kind: "derivation-step";
84
113
  readonly theorem: "PhysJS.TelegraphWave.planeWave_iff_dispersion";
114
+ readonly file: "TelegraphWave.lean";
85
115
  readonly covers: "a plane wave solves the PDE iff ω(k) obeys the dispersion relation";
86
116
  readonly coverage: "covers its statement only";
87
117
  readonly leanProof: "complete";
88
118
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
89
- };
119
+ }];
90
120
  }, {
91
121
  readonly key: "ab-pendulum-linear";
92
122
  readonly bridgeId: "ab-pendulum-linear";
123
+ readonly kind: "bridge";
93
124
  readonly theorem: "PhysJS.Pendulum.linearizedEquationOfMotion_iff";
125
+ readonly file: "Pendulum.lean";
94
126
  readonly covers: "the transformation, not bound.delta";
95
127
  readonly coverage: "covers its statement only";
96
128
  readonly leanProof: "complete";
97
129
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
98
130
  readonly imports: "ClassicalMechanics.SimplePendulum.linearizedEquationOfMotion_iff";
131
+ readonly nested: readonly [];
99
132
  }, {
100
133
  readonly key: "ab-kg-oscillator";
101
134
  readonly bridgeId: "ab-kg-oscillator";
135
+ readonly kind: "bridge";
102
136
  readonly theorem: "PhysJS.KgOscillator.uniform_solves_equationOfMotion";
137
+ readonly file: "KgOscillator.lean";
103
138
  readonly covers: "the restriction, in Physlib's own terms";
104
139
  readonly coverage: "covers its statement only";
105
140
  readonly leanProof: "complete";
106
141
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
142
+ readonly nested: readonly [];
107
143
  }, {
108
144
  readonly key: "ab-spring-lc";
109
145
  readonly bridgeId: "ab-spring-lc";
146
+ readonly kind: "bridge";
110
147
  readonly theorem: "PhysJS.SpringLc.time_rescale_equationOfMotion";
148
+ readonly file: "OscillatorDictionary.lean";
111
149
  readonly covers: "the oscillator dictionary";
112
150
  readonly coverage: "covers its statement only";
113
151
  readonly leanProof: "complete";
114
152
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
153
+ readonly nested: readonly [];
115
154
  }, {
116
155
  readonly key: "ab-damped-rlc";
117
156
  readonly bridgeId: "ab-damped-rlc";
157
+ readonly kind: "bridge";
118
158
  readonly theorem: "PhysJS.DampedRlc.time_rescale_equationOfMotion";
159
+ readonly file: "OscillatorDictionary.lean";
119
160
  readonly covers: "the oscillator dictionary";
120
161
  readonly coverage: "covers its statement only";
121
162
  readonly leanProof: "complete";
122
163
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
164
+ readonly nested: readonly [];
123
165
  }, {
124
166
  readonly key: "ab-wave-dalembert";
125
167
  readonly bridgeId: "ab-wave-dalembert";
168
+ readonly kind: "bridge";
126
169
  readonly theorem: "PhysJS.WaveDalembert.solution_eq_profiles";
170
+ readonly file: "WaveDalembert.lean";
127
171
  readonly covers: "the missing direction of d'Alembert's formula";
128
172
  readonly coverage: "covers its statement only";
129
173
  readonly leanProof: "complete";
130
174
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
175
+ readonly nested: readonly [];
131
176
  }, {
132
177
  readonly key: "be-64";
133
178
  readonly bridgeId: "be-64";
179
+ readonly kind: "derivation-step";
134
180
  readonly theorem: "PhysJS.Eddington.balance_iff";
135
- readonly covers: "derivation-step: the r² cancellation in the Eddington force balance, not a hard cap";
181
+ readonly file: "Eddington.lean";
182
+ readonly covers: "the r² cancellation in the Eddington force balance, not a hard cap";
136
183
  readonly coverage: "covers its statement only";
137
184
  readonly leanProof: "complete";
138
185
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
186
+ readonly nested: readonly [];
139
187
  }, {
140
188
  readonly key: "be-53";
141
189
  readonly bridgeId: "be-53";
190
+ readonly kind: "derivation-step";
142
191
  readonly theorem: "PhysJS.YangMills.b0_pos_iff_nf_le";
143
- readonly covers: "derivation-step: b₀ > 0 iff N_f ≤ 16 for SU(3), not a running procedure past one loop";
192
+ readonly file: "YangMills.lean";
193
+ readonly covers: "b₀ > 0 iff N_f ≤ 16 for SU(3), not a running procedure past one loop";
144
194
  readonly coverage: "covers its statement only";
145
195
  readonly leanProof: "complete";
146
196
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
147
- readonly oneLoop: {
197
+ readonly nested: readonly [{
198
+ readonly name: "oneLoop";
199
+ readonly kind: "derivation-step";
148
200
  readonly theorem: "PhysJS.YangMills.alphaRun_hasDerivAt";
149
- readonly covers: "derivation-step: α(t) = α₀ / (1 + b₀ α₀ t / (2π)) solves the one-loop running equation where the denominator is positive";
201
+ readonly file: "YangMills.lean";
202
+ readonly covers: "α(t) = α₀ / (1 + b₀ α₀ t / (2π)) solves the one-loop running equation where the denominator is positive";
150
203
  readonly coverage: "covers its statement only";
151
204
  readonly leanProof: "complete";
152
205
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
153
- };
206
+ }];
154
207
  }, {
155
208
  readonly key: "be-58";
156
209
  readonly bridgeId: "be-58";
210
+ readonly kind: "limit";
157
211
  readonly theorem: "PhysJS.JohnsonNyquist.tendsto_classical";
158
- readonly covers: "limit: the classical Johnson–Nyquist spectrum is the ω → 0⁺ limit of the quantum parent, not the fluctuation–dissipation theorem";
212
+ readonly file: "JohnsonNyquist.lean";
213
+ readonly covers: "the classical Johnson–Nyquist spectrum is the ω → 0⁺ limit of the quantum parent, not the fluctuation–dissipation theorem";
159
214
  readonly coverage: "covers its statement only";
160
215
  readonly leanProof: "complete";
161
216
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
217
+ readonly nested: readonly [];
162
218
  }, {
163
219
  readonly key: "be-38";
164
220
  readonly bridgeId: "be-38";
221
+ readonly kind: "limit";
165
222
  readonly theorem: "PhysJS.Mond.tendsto_nu_limits";
166
- readonly covers: "limit: ν → 1 as z → ∞, ν √z → 1 as z → 0⁺, and F_N ν(z) / √(m F_N a₀) → 1 as F_N → 0⁺; not ν → √(2/z), and not the SPARC confrontation";
223
+ readonly file: "Mond.lean";
224
+ readonly covers: "ν → 1 as z → ∞, ν √z → 1 as z → 0⁺, and F_N ν(z) / √(m F_N a₀) → 1 as F_N → 0⁺; not ν → √(2/z), and not the SPARC confrontation";
167
225
  readonly coverage: "covers its statement only";
168
226
  readonly leanProof: "complete";
169
227
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
170
- readonly inversion: {
228
+ readonly nested: readonly [{
229
+ readonly name: "inversion";
230
+ readonly kind: "derivation-step";
171
231
  readonly theorem: "PhysJS.Mond.mu_inversion";
172
- readonly covers: "derivation-step: for z > 0, y = z ν(z) satisfies y² / √(1 + y²) = z, which inverts μ(x) = x / √(1 + x²)";
232
+ readonly file: "Mond.lean";
233
+ readonly covers: "for z > 0, y = z ν(z) satisfies y² / √(1 + y²) = z, which inverts μ(x) = x / √(1 + x²)";
173
234
  readonly coverage: "covers its statement only";
174
235
  readonly leanProof: "complete";
175
236
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
176
- };
237
+ }];
177
238
  }, {
178
239
  readonly key: "be-13";
179
240
  readonly bridgeId: "be-13";
241
+ readonly kind: "reduction";
180
242
  readonly theorem: "PhysJS.Einstein.trace_eq";
181
- readonly covers: "reduction: contracting G_μν + Λ g_μν = κ T_μν in four dimensions gives R = 4Λ − κ T, not Jacobson's thermodynamic derivation";
243
+ readonly file: "Einstein.lean";
244
+ readonly covers: "contracting G_μν + Λ g_μν = κ T_μν in four dimensions gives R = 4Λ − κ T, not Jacobson's thermodynamic derivation";
182
245
  readonly coverage: "covers its statement only";
183
246
  readonly leanProof: "complete";
184
247
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
185
- readonly vacuum: {
248
+ readonly nested: readonly [{
249
+ readonly name: "vacuum";
250
+ readonly kind: "reduction";
186
251
  readonly theorem: "PhysJS.Einstein.vacuum_density";
187
- readonly covers: "reduction: with κ = 8πG/c⁴, T_μν = −ρ c² g_μν and Λ g = −κ T rearrange to ρ = c² Λ / (8π G). The opposite sign does not. This is the BE-20 density; BE-20 has no reference of its own";
252
+ readonly file: "Einstein.lean";
253
+ readonly covers: "with κ = 8πG/c⁴, T_μν = −ρ c² g_μν and Λ g = −κ T rearrange to ρ = c² Λ / (8π G). The opposite sign does not. This is the BE-20 density; BE-20 has no reference of its own";
188
254
  readonly coverage: "covers its statement only";
189
255
  readonly leanProof: "complete";
190
256
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
191
- };
192
- readonly corollary: {
257
+ }, {
258
+ readonly name: "corollary";
259
+ readonly kind: "derivation-step";
193
260
  readonly theorem: "PhysJS.Einstein.friedmann_corollary";
194
- readonly covers: "derivation-step: the vacuum density gives (8πG/3) ρ = Λ c² / 3, the cosmological term of FirstOrderFriedmann. A fluid of this density added to matter, with the explicit Λ set to zero, is that equation at k = 0. The Einstein-static density Λ c²/(4π G) is twice that term. Dropping c² fails when c² ≠ 1. The density is not reproved. BE-20 has no reference of its own";
261
+ readonly file: "VacuumFriedmann.lean";
262
+ readonly covers: "the vacuum density gives (8πG/3) ρ = Λ c² / 3, the cosmological term of FirstOrderFriedmann. A fluid of this density added to matter, with the explicit Λ set to zero, is that equation at k = 0. The Einstein-static density Λ c²/(4π G) is twice that term. Dropping c² fails when c² ≠ 1. The density is not reproved. BE-20 has no reference of its own";
195
263
  readonly coverage: "covers its statement only";
196
264
  readonly leanProof: "complete";
197
265
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
198
- };
266
+ }];
199
267
  }, {
200
268
  readonly key: "be-34";
201
269
  readonly bridgeId: "be-34";
270
+ readonly kind: "derivation-step";
202
271
  readonly theorem: "PhysJS.KibbleZurek.exponent";
203
- readonly covers: "derivation-step: the freeze-out power ε̂ = (τ₀/τ_Q)^(1/(1+zν)) and the defect density without the Boltzmann factor; omitting the 1 in the exponent fails. Not the reheating factor, and not a repair of the missing 1/a^d prefactor";
272
+ readonly file: "KibbleZurek.lean";
273
+ readonly covers: "the freeze-out power ε̂ = (τ₀/τ_Q)^(1/(1+zν)) and the defect density without the Boltzmann factor; omitting the 1 in the exponent fails. Not the reheating factor, and not a repair of the missing 1/a^d prefactor";
204
274
  readonly coverage: "covers its statement only";
205
275
  readonly leanProof: "complete";
206
276
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
277
+ readonly nested: readonly [];
207
278
  }, {
208
279
  readonly key: "be-42";
209
280
  readonly bridgeId: "be-42";
281
+ readonly kind: "cross-check";
210
282
  readonly theorem: "PhysJS.HawkingUnruh.dictionary";
211
- readonly covers: "cross-check: T_H(2GM/c²) = T_H(M) and T_U(c⁴/(4GM)) = T_H(M), naming BE-57 and be-42-via-rs. T_U(c⁴/(2GM)) is not T_H(M). Not the Hawking effect";
283
+ readonly file: "HawkingUnruh.lean";
284
+ readonly covers: "T_H(2GM/c²) = T_H(M) and T_U(c⁴/(4GM)) = T_H(M), naming BE-57 and be-42-via-rs. T_U(c⁴/(2GM)) is not T_H(M). Not the Hawking effect";
212
285
  readonly coverage: "covers its statement only";
213
286
  readonly leanProof: "complete";
214
287
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
288
+ readonly nested: readonly [];
215
289
  }, {
216
290
  readonly key: "be-24";
217
291
  readonly bridgeId: "be-24";
292
+ readonly kind: "cross-check";
218
293
  readonly theorem: "PhysJS.Fret.dictionary";
219
- readonly covers: "cross-check: η = R₀⁶/(R₀⁶+R⁶) = 1/(1+(R/R₀)⁶) = k_FRET/(k_FRET+1/τ_D), and η decreases on (0, ∞). At R = 2 R₀ the exponent 4 is not the exponent 6. Not the dipole–dipole law";
294
+ readonly file: "Fret.lean";
295
+ readonly covers: "η = R₀⁶/(R₀⁶+R⁶) = 1/(1+(R/R₀)⁶) = k_FRET/(k_FRET+1/τ_D), and η decreases on (0, ∞). At R = 2 R₀ the exponent 4 is not the exponent 6. Not the dipole–dipole law";
220
296
  readonly coverage: "covers its statement only";
221
297
  readonly leanProof: "complete";
222
298
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
299
+ readonly nested: readonly [];
223
300
  }, {
224
301
  readonly key: "be-19";
225
302
  readonly bridgeId: "be-19";
303
+ readonly kind: "cross-check";
226
304
  readonly theorem: "PhysJS.QuantumBounce.dictionary";
227
- readonly covers: "cross-check: H²_LQC equals H²_RS at σ = −ρ_c/2, both tend to (8πG/3)ρ + Λ/3 at infinity, and H²_LQC = 0 at ρ = ρ_c and Λ = 0, naming BE-54. σ = +ρ_c/2 is not that polynomial. σ < 0 is not a physical Randall–Sundrum brane";
305
+ readonly file: "QuantumBounce.lean";
306
+ readonly covers: "H²_LQC equals H²_RS at σ = −ρ_c/2, both tend to (8πG/3)ρ + Λ/3 at infinity, and H²_LQC = 0 at ρ = ρ_c and Λ = 0, naming BE-54. σ = +ρ_c/2 is not that polynomial. σ < 0 is not a physical Randall–Sundrum brane";
228
307
  readonly coverage: "covers its statement only";
229
308
  readonly leanProof: "complete";
230
309
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
310
+ readonly nested: readonly [];
231
311
  }, {
232
312
  readonly key: "be-16";
233
313
  readonly bridgeId: "be-16";
314
+ readonly kind: "bridge";
234
315
  readonly theorem: "PhysJS.Landauer.erasure_eq";
235
- readonly covers: "derivation-step: for T > 0, the equal-level two-state ensemble has ⟨E⟩ − F = k_B T log 2. equal_levels remains the entropy k_B log 2. At T > 0, levels E and E+δ do not have that deficit. At T = 0 the Helmholtz closed form does not separate the levels. Not E ≥ T ΔS for an arbitrary protocol, and not the Bérut confrontation";
316
+ readonly file: "Landauer.lean";
317
+ readonly covers: "for T > 0, the equal-level two-state ensemble has ⟨E⟩ − F = k_B T log 2. equal_levels remains the entropy k_B log 2. At T > 0, levels E and E+δ do not have that deficit. At T = 0 the Helmholtz closed form does not separate the levels. Not E ≥ T ΔS for an arbitrary protocol, and not the Bérut confrontation";
236
318
  readonly coverage: "covers its statement only";
237
319
  readonly leanProof: "complete";
238
320
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
321
+ readonly nested: readonly [];
239
322
  }, {
240
323
  readonly key: "be-29";
241
324
  readonly bridgeId: "be-29";
325
+ readonly kind: "property";
242
326
  readonly theorem: "PhysJS.Jarzynski.jensen_work";
243
- readonly covers: "property: for a finite probability and β > 0, ∑ p_i W_i ≥ −(1/β) log(∑ p_i exp(−β W_i)). The reversed inequality fails on two unequal work values. Not Jarzynski's theorem, and not the Gaussian identity";
327
+ readonly file: "Jarzynski.lean";
328
+ readonly covers: "for a finite probability and β > 0, ∑ p_i W_i ≥ −(1/β) log(∑ p_i exp(−β W_i)). The reversed inequality fails on two unequal work values. Not Jarzynski's theorem, and not the Gaussian identity";
244
329
  readonly coverage: "covers its statement only";
245
330
  readonly leanProof: "complete";
246
331
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
332
+ readonly nested: readonly [];
247
333
  }, {
248
334
  readonly key: "be-11";
249
335
  readonly bridgeId: "be-11";
336
+ readonly kind: "property";
250
337
  readonly theorem: "PhysJS.Lindblad.preserve";
251
- readonly covers: "property: one channel of the displayed GKSL generator has trace zero, and it is Hermitian when H and ρ are. L need not be Hermitian. Dropping the anticommutator makes the trace nonzero. Not Born–Markov coarse-graining";
338
+ readonly file: "Lindblad.lean";
339
+ readonly covers: "one channel of the displayed GKSL generator has trace zero, and it is Hermitian when H and ρ are. L need not be Hermitian. Dropping the anticommutator makes the trace nonzero. Not Born–Markov coarse-graining";
252
340
  readonly coverage: "covers its statement only";
253
341
  readonly leanProof: "complete";
254
342
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
343
+ readonly nested: readonly [];
255
344
  }, {
256
345
  readonly key: "be-65";
257
346
  readonly bridgeId: "be-65";
347
+ readonly kind: "derivation-step";
258
348
  readonly theorem: "PhysJS.Jeans.mass_eq";
259
- readonly covers: "derivation-step: the encoded Jeans mass (5 k T / (G μ m_u))^(3/2) (3 / (4 π ρ))^(1/2) follows from the virial convention with factor 5 and M = 4 π R³ ρ / 3. Replacing 5 by 3 fails. Not the virial theorem";
349
+ readonly file: "Jeans.lean";
350
+ readonly covers: "the encoded Jeans mass (5 k T / (G μ m_u))^(3/2) (3 / (4 π ρ))^(1/2) follows from the virial convention with factor 5 and M = 4 π R³ ρ / 3. Replacing 5 by 3 fails. Not the virial theorem";
260
351
  readonly coverage: "covers its statement only";
261
352
  readonly leanProof: "complete";
262
353
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
354
+ readonly nested: readonly [];
263
355
  }, {
264
356
  readonly key: "be-51";
265
357
  readonly bridgeId: "be-51";
358
+ readonly kind: "derivation-step";
266
359
  readonly theorem: "PhysJS.Deflection.line_integral";
267
- readonly covers: "derivation-step: (1+γ)/c² ∫_ℝ G M b / (b² + z²)^{3/2} dz = 2(1+γ) G M / (b c²), and at γ = 1 this is the encoded angle 4 G M / (b c²). γ = 0 is half. Not a geodesic";
360
+ readonly file: "Deflection.lean";
361
+ readonly covers: "(1+γ)/c² ∫_ℝ G M b / (b² + z²)^{3/2} dz = 2(1+γ) G M / (b c²), and at γ = 1 this is the encoded angle 4 G M / (b c²). γ = 0 is half. Not a geodesic";
268
362
  readonly coverage: "covers its statement only";
269
363
  readonly leanProof: "complete";
270
364
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
365
+ readonly nested: readonly [];
271
366
  }, {
272
367
  readonly key: "be-61";
273
368
  readonly bridgeId: "be-61";
369
+ readonly kind: "derivation-step";
274
370
  readonly theorem: "PhysJS.Sommerfeld.integral_eq";
275
- readonly covers: "derivation-step: ∫_ℝ x² e^x / (1+e^x)² dx = π²/3, the factor in the encoded Lorenz number. The integrand is even, so the half-line is half of π²/3. Claiming the half-line equals π²/3 fails. Not the transport law";
371
+ readonly file: "Sommerfeld.lean";
372
+ readonly covers: "∫_ℝ x² e^x / (1+e^x)² dx = π²/3, the factor in the encoded Lorenz number. The integrand is even, so the half-line is half of π²/3. Claiming the half-line equals π²/3 fails. Not the transport law";
276
373
  readonly coverage: "covers its statement only";
277
374
  readonly leanProof: "complete";
278
375
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
376
+ readonly nested: readonly [];
279
377
  }, {
280
378
  readonly key: "be-12";
281
379
  readonly bridgeId: "be-12";
380
+ readonly kind: "bridge";
282
381
  readonly theorem: "PhysJS.ThermalDeBroglie.wavelength_eq";
283
- readonly covers: "derivation-step: √(2π ℏ²/(m k_B T)) = h/√(2π m k_B T) for h = 2πℏ and ℏ > 0. The non-negative square root needs ℏ > 0. The Wave Q form ℏ/√(m k_B T), with ℏ in the numerator and no √(2π), fails, as does ℏ/√(2 m k_B T). Not Caldeira–Leggett dephasing";
382
+ readonly file: "ThermalDeBroglie.lean";
383
+ readonly covers: "√(2π ℏ²/(m k_B T)) = h/√(2π m k_B T) for h = 2πℏ and ℏ > 0. The non-negative square root needs ℏ > 0. The Wave Q form ℏ/√(m k_B T), with ℏ in the numerator and no √(2π), fails, as does ℏ/√(2 m k_B T). Not Caldeira–Leggett dephasing";
284
384
  readonly coverage: "covers its statement only";
285
385
  readonly leanProof: "complete";
286
386
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
387
+ readonly nested: readonly [];
287
388
  }, {
288
389
  readonly key: "be-59";
289
390
  readonly bridgeId: "be-59";
391
+ readonly kind: "bridge";
290
392
  readonly theorem: "PhysJS.Josephson.frequency_eq";
291
- readonly covers: "derivation-step: f = (2e/h) V, K_J = 2e/h, and f = K_J V. Clearing h recovers 2e. The factor 2 is the Cooper-pair charge, taken as a premise. Replacing 2e by e fails. Not the tunneling Hamiltonian";
393
+ readonly file: "Josephson.lean";
394
+ readonly covers: "f = (2e/h) V, K_J = 2e/h, and f = K_J V. Clearing h recovers 2e. The factor 2 is the Cooper-pair charge, taken as a premise. Replacing 2e by e fails. Not the tunneling Hamiltonian";
292
395
  readonly coverage: "covers its statement only";
293
396
  readonly leanProof: "complete";
294
397
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
398
+ readonly nested: readonly [];
295
399
  }, {
296
400
  readonly key: "be-55";
297
401
  readonly bridgeId: "be-55";
402
+ readonly kind: "bridge";
298
403
  readonly theorem: "PhysJS.QuantumHall.reciprocal";
299
- readonly covers: "derivation-step: for a nonzero integer C and e ≠ 0, σ_xy = C e²/h, R_H = h/(C e²), and R_K = h/e², so σ_xy R_H = 1 and R_H = R_K/C. The shifted index C+1 is a different conductance. Replacing e² by e fails the product when e ≠ 1. Not TKNN";
404
+ readonly file: "QuantumHall.lean";
405
+ readonly covers: "for a nonzero integer C and e ≠ 0, σ_xy = C e²/h, R_H = h/(C e²), and R_K = h/e², so σ_xy R_H = 1 and R_H = R_K/C. The shifted index C+1 is a different conductance. Replacing e² by e fails the product when e ≠ 1. Not TKNN";
300
406
  readonly coverage: "covers its statement only";
301
407
  readonly leanProof: "complete";
302
408
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
409
+ readonly nested: readonly [];
303
410
  }, {
304
411
  readonly key: "be-60";
305
412
  readonly bridgeId: "be-60";
413
+ readonly kind: "bridge";
306
414
  readonly theorem: "PhysJS.Laughlin.filling_fraction";
307
- readonly covers: "derivation-step: for integers p ≠ 0 and q ≠ 0, with ν = p/q, σ_xy = ν e²/h and R_xy = R_K/ν = (q/p) h/e². The charge and Planck's constant are not assumed nonzero. Oddness of q is the Laughlin selection rule and is not this identity. Not the Laughlin wavefunction, and not the anyon charge e/3";
415
+ readonly file: "Laughlin.lean";
416
+ readonly covers: "for integers p ≠ 0 and q ≠ 0, with ν = p/q, σ_xy = ν e²/h and R_xy = R_K/ν = (q/p) h/e². The charge and Planck's constant are not assumed nonzero. Oddness of q is the Laughlin selection rule and is not this identity. Not the Laughlin wavefunction, and not the anyon charge e/3";
308
417
  readonly coverage: "covers its statement only";
309
418
  readonly leanProof: "complete";
310
419
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
420
+ readonly nested: readonly [];
311
421
  }, {
312
422
  readonly key: "be-21";
313
423
  readonly bridgeId: "be-21";
424
+ readonly kind: "bridge";
314
425
  readonly theorem: "PhysJS.Kss.saturating";
315
- readonly covers: "derivation-step: η/s = ℏ/(4π k_B) is the equality 4π k_B (η/s) = ℏ for k_B ≠ 0. The Hawking factor 8π in place of 4π is 2ℏ, not ℏ, once ℏ ≠ 0. Not the inequality η/s ≥ ℏ/(4π k_B)";
426
+ readonly file: "Kss.lean";
427
+ readonly covers: "η/s = ℏ/(4π k_B) is the equality 4π k_B (η/s) = ℏ for k_B ≠ 0. The Hawking factor 8π in place of 4π is 2ℏ, not ℏ, once ℏ ≠ 0. Not the inequality η/s ≥ ℏ/(4π k_B)";
316
428
  readonly coverage: "covers its statement only";
317
429
  readonly leanProof: "complete";
318
430
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
431
+ readonly nested: readonly [];
319
432
  }, {
320
433
  readonly key: "be-14";
321
434
  readonly bridgeId: "be-14";
435
+ readonly kind: "derivation-step";
322
436
  readonly theorem: "PhysJS.PlanckArea.area_law";
323
- readonly covers: "derivation-step: k_B c³ A/(4 G ℏ) = k_B A/(4 ℓ_P²) for ℓ_P² = ℏ G/c³. The area is an input. ℓ_P² = ℏ G/c² fails when c ≠ 1. The factor 2 in place of 4 fails. The same lemma is be-43. Not the minimal-surface theorem";
437
+ readonly file: "PlanckArea.lean";
438
+ readonly covers: "k_B c³ A/(4 G ℏ) = k_B A/(4 ℓ_P²) for ℓ_P² = ℏ G/c³. The area is an input. ℓ_P² = ℏ G/c² fails when c ≠ 1. The factor 2 in place of 4 fails. The same lemma is be-43. Not the minimal-surface theorem";
324
439
  readonly coverage: "covers its statement only";
325
440
  readonly leanProof: "complete";
326
441
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
442
+ readonly nested: readonly [];
327
443
  }, {
328
444
  readonly key: "be-43";
329
445
  readonly bridgeId: "be-43";
446
+ readonly kind: "bridge";
330
447
  readonly theorem: "PhysJS.PlanckArea.area_law";
331
- readonly covers: "derivation-step: the be-14 lemma on a wormhole area. k_B A/(4 ℓ_P²) equals k_B c³ A/(4 G ℏ) for ℓ_P² = ℏ G/c³. ℓ_P² = ℏ G/c² fails when c ≠ 1, and the factor 2 fails. Not ER=EPR";
448
+ readonly file: "PlanckArea.lean";
449
+ readonly covers: "the be-14 lemma on a wormhole area. k_B A/(4 ℓ_P²) equals k_B c³ A/(4 G ℏ) for ℓ_P² = ℏ G/c³. ℓ_P² = ℏ G/c² fails when c ≠ 1, and the factor 2 fails. Not ER=EPR";
332
450
  readonly coverage: "covers its statement only";
333
451
  readonly leanProof: "complete";
334
452
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
453
+ readonly nested: readonly [];
335
454
  }, {
336
455
  readonly key: "be-37";
337
456
  readonly bridgeId: "be-37";
457
+ readonly kind: "bridge";
338
458
  readonly theorem: "PhysJS.Shapiro.radial_integral";
339
- readonly covers: "derivation-step: for 0 < R_near < R_far and c ≠ 0, ∫_{R_near}^{R_far} (2 G M / c³) (dr / r) = (2 G M / c³) ln(R_far / R_near). The factor 1 in place of 2 is half, once G ≠ 0 and M ≠ 0. log₁₀ of the radius ratio is not ln. Not the impact-parameter formula, and not the Cassini measurement";
459
+ readonly file: "Shapiro.lean";
460
+ readonly covers: "for 0 < R_near < R_far and c ≠ 0, ∫_{R_near}^{R_far} (2 G M / c³) (dr / r) = (2 G M / c³) ln(R_far / R_near). The factor 1 in place of 2 is half, once G ≠ 0 and M ≠ 0. log₁₀ of the radius ratio is not ln. Not the impact-parameter formula, and not the Cassini measurement";
340
461
  readonly coverage: "covers its statement only";
341
462
  readonly leanProof: "complete";
342
463
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
464
+ readonly nested: readonly [];
343
465
  }, {
344
466
  readonly key: "be-54";
345
467
  readonly bridgeId: "be-54";
468
+ readonly kind: "bridge";
346
469
  readonly theorem: "PhysJS.RandallSundrum.brane_friedmann";
347
- readonly covers: "derivation-step: for σ ≠ 0, H²_RS = (8πG/3) ρ (1 + ρ/(2σ)) + Λ/3, which equals the Friedmann term plus (8πG/3) ρ²/(2σ). Not a derivation from the five-dimensional Einstein equation";
470
+ readonly file: "RandallSundrum.lean";
471
+ readonly covers: "for σ ≠ 0, H²_RS = (8πG/3) ρ (1 + ρ/(2σ)) + Λ/3, which equals the Friedmann term plus (8πG/3) ρ²/(2σ). Not a derivation from the five-dimensional Einstein equation";
348
472
  readonly coverage: "covers its statement only";
349
473
  readonly leanProof: "complete";
350
474
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
351
- readonly friedmann: {
475
+ readonly nested: readonly [{
476
+ readonly name: "friedmann";
477
+ readonly kind: "derivation-step";
352
478
  readonly theorem: "PhysJS.RandallSundrum.flat_friedmann";
353
- readonly covers: "derivation-step: H²_FRW with the module Λ equal to Physlib's Λ c² is FirstOrderFriedmann at k = 0. Identifying the two Λ symbols and dropping c² fails when c² ≠ 1 and Λ ≠ 0";
479
+ readonly file: "RandallSundrum.lean";
480
+ readonly covers: "H²_FRW with the module Λ equal to Physlib's Λ c² is FirstOrderFriedmann at k = 0. Identifying the two Λ symbols and dropping c² fails when c² ≠ 1 and Λ ≠ 0";
354
481
  readonly coverage: "covers its statement only";
355
482
  readonly leanProof: "complete";
356
483
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
357
- };
484
+ }];
358
485
  }, {
359
486
  readonly key: "be-17";
360
487
  readonly bridgeId: "be-17";
488
+ readonly kind: "derivation-step";
361
489
  readonly theorem: "PhysJS.EinsteinCartan.inversion";
362
- readonly covers: "derivation-step: if κ = 8πG/c⁴ ≠ 0 and every component satisfies T = κ S, then S·S = T·T / κ² = (c⁴/(8πG))² T·T. κ² in the numerator is the inversion backwards, and it fails when T·T ≠ 0 and κ⁴ ≠ 1. Not the Einstein–Cartan field equation, and not a Newtonian limit";
490
+ readonly file: "EinsteinCartan.lean";
491
+ readonly covers: "if κ = 8πG/c⁴ ≠ 0 and every component satisfies T = κ S, then S·S = T·T / κ² = (c⁴/(8πG))² T·T. κ² in the numerator is the inversion backwards, and it fails when T·T ≠ 0 and κ⁴ ≠ 1. Not the Einstein–Cartan field equation, and not a Newtonian limit";
363
492
  readonly coverage: "covers its statement only";
364
493
  readonly leanProof: "complete";
365
494
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
366
- readonly torsionMonomial: {
495
+ readonly nested: readonly [{
496
+ readonly name: "torsionMonomial";
497
+ readonly kind: "derivation-step";
367
498
  readonly theorem: "PhysJS.EinsteinCartan.torsion_monomial";
368
- readonly covers: "derivation-step: [κ] and [S] are independent base dimensions and [T] = [κ][S]. If a positive component is dimensionally homogeneous in those dimensions, every positive pair is a unit change of (1, 1) and T = C κ S with C = f(1, 1). C is not fixed. Not the Einstein–Cartan field equation";
499
+ readonly file: "EinsteinCartan.lean";
500
+ readonly covers: "[κ] and [S] are independent base dimensions and [T] = [κ][S]. If a positive component is dimensionally homogeneous in those dimensions, every positive pair is a unit change of (1, 1) and T = C κ S with C = f(1, 1). C is not fixed. Not the Einstein–Cartan field equation";
369
501
  readonly coverage: "covers its statement only";
370
502
  readonly leanProof: "complete";
371
503
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
372
- };
373
- readonly coefficientNotFixed: {
504
+ }, {
505
+ readonly name: "coefficientNotFixed";
506
+ readonly kind: "derivation-step";
374
507
  readonly theorem: "PhysJS.EinsteinCartan.coefficient_not_fixed";
375
- readonly covers: "derivation-step: if C ≠ 1 and κ S ≠ 0, then C κ S ≠ κ S. A factor other than 1 is not the catalog coefficient";
508
+ readonly file: "EinsteinCartan.lean";
509
+ readonly covers: "if C ≠ 1 and κ S ≠ 0, then C κ S ≠ κ S. A factor other than 1 is not the catalog coefficient";
376
510
  readonly coverage: "covers its statement only";
377
511
  readonly leanProof: "complete";
378
512
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
379
- };
380
- readonly unitCoefficient: {
513
+ }, {
514
+ readonly name: "unitCoefficient";
515
+ readonly kind: "derivation-step";
381
516
  readonly theorem: "PhysJS.EinsteinCartan.inversion_of_unit_coefficient";
382
- readonly covers: "derivation-step: if C = 1 and every component satisfies T = C κ S, then inversion gives S·S = T·T / κ². C = 1 is a hypothesis. The Einstein trace stays a hypothesis of PhysJS.Einstein.trace_eq";
517
+ readonly file: "EinsteinCartan.lean";
518
+ readonly covers: "if C = 1 and every component satisfies T = C κ S, then inversion gives S·S = T·T / κ². C = 1 is a hypothesis. The Einstein trace stays a hypothesis of PhysJS.Einstein.trace_eq";
383
519
  readonly coverage: "covers its statement only";
384
520
  readonly leanProof: "complete";
385
521
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
386
- };
522
+ }];
387
523
  }, {
388
524
  readonly key: "be-27";
389
525
  readonly bridgeId: "be-27";
526
+ readonly kind: "bridge";
390
527
  readonly theorem: "PhysJS.EffectiveTemperature.sum_eq";
391
- readonly covers: "derivation-step: for T ≠ 0 and k_B ≠ 0, T (1 + Σ_active/(k_B T)) = T + Σ_active/k_B, and this equals T iff Σ_active = 0. The product T · Σ_active/(k_B T), with the 1 omitted, is not that sum. Not the frequency-dependent Cugliandolo–Kurchan T_eff(ω)";
528
+ readonly file: "EffectiveTemperature.lean";
529
+ readonly covers: "for T ≠ 0 and k_B ≠ 0, T (1 + Σ_active/(k_B T)) = T + Σ_active/k_B, and this equals T iff Σ_active = 0. The product T · Σ_active/(k_B T), with the 1 omitted, is not that sum. Not the frequency-dependent Cugliandolo–Kurchan T_eff(ω)";
392
530
  readonly coverage: "covers its statement only";
393
531
  readonly leanProof: "complete";
394
532
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
533
+ readonly nested: readonly [];
395
534
  }, {
396
535
  readonly key: "be-22";
397
536
  readonly bridgeId: "be-22";
537
+ readonly kind: "derivation-step";
398
538
  readonly theorem: "PhysJS.ToricCode.toric";
399
- readonly covers: "derivation-step: four anyons of quantum dimension 1 have D = √4 = 2 and γ = ln 2 in nats. The encoded decomposition is S = α L − γ, with the O(L⁻¹) term dropped. log₂ 2 = 1 is the bit convention, not ln 2. D = √2 is one anyon pair, not the toric code. Not the Kitaev–Preskill theorem, and not a quantum-gravity boundary";
539
+ readonly file: "ToricCode.lean";
540
+ readonly covers: "four anyons of quantum dimension 1 have D = √4 = 2 and γ = ln 2 in nats. The encoded decomposition is S = α L − γ, with the O(L⁻¹) term dropped. log₂ 2 = 1 is the bit convention, not ln 2. D = √2 is one anyon pair, not the toric code. Not the Kitaev–Preskill theorem, and not a quantum-gravity boundary";
400
541
  readonly coverage: "covers its statement only";
401
542
  readonly leanProof: "complete";
402
543
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
544
+ readonly nested: readonly [];
403
545
  }, {
404
546
  readonly key: "be-15";
405
547
  readonly bridgeId: "be-15";
548
+ readonly kind: "derivation-step";
406
549
  readonly theorem: "PhysJS.Coarsening.exponent_iff";
407
- readonly covers: "derivation-step: for Γ = L₀²/t₀ > 0, t > 0, t ≠ t₀, and z > 0, L(t) = L₀ (t/t₀)^{1/z} obeys L(t)² = Γ t iff z = 2. At t = t₀ the ratio holds for every z. Model B's z = 3 gives L³ ∝ t and fails L² = Γ t. Not the Model A Langevin equation. The Langevin kinetic coefficient is a different Γ";
550
+ readonly file: "Coarsening.lean";
551
+ readonly covers: "for Γ = L₀²/t₀ > 0, t > 0, t ≠ t₀, and z > 0, L(t) = L₀ (t/t₀)^{1/z} obeys L(t)² = Γ t iff z = 2. At t = t₀ the ratio holds for every z. Model B's z = 3 gives L³ ∝ t and fails L² = Γ t. Not the Model A Langevin equation. The Langevin kinetic coefficient is a different Γ";
408
552
  readonly coverage: "covers its statement only";
409
553
  readonly leanProof: "complete";
410
554
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
411
- readonly lengthMonomial: {
555
+ readonly nested: readonly [{
556
+ readonly name: "lengthMonomial";
557
+ readonly kind: "derivation-step";
412
558
  readonly theorem: "PhysJS.Coarsening.length_monomial_at";
413
- readonly covers: "derivation-step: if L is a dimensionally homogeneous function of Γ and t alone and [Γ] = L^z T⁻¹ for a positive rational z, then L = C (Γ t)^{1/z} with C = f(1, 1). C is not fixed. Every positive rational z is allowed, so z = 2 is not derived. Not the Model A Langevin equation";
559
+ readonly file: "Coarsening.lean";
560
+ readonly covers: "if L is a dimensionally homogeneous function of Γ and t alone and [Γ] = L^z T⁻¹ for a positive rational z, then L = C (Γ t)^{1/z} with C = f(1, 1). C is not fixed. Every positive rational z is allowed, so z = 2 is not derived. Not the Model A Langevin equation";
414
561
  readonly coverage: "covers its statement only";
415
562
  readonly leanProof: "complete";
416
563
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
417
- };
564
+ }];
418
565
  }, {
419
566
  readonly key: "be-33";
420
567
  readonly bridgeId: "be-33";
568
+ readonly kind: "bridge";
421
569
  readonly theorem: "PhysJS.QuantumCritical.thermal_scaling";
422
- readonly covers: "derivation-step: ξ(T) = ξ₀ (T/T₀)^{−1/z}, and at z = 1 this is ξ(T) = ξ₀ (T/T₀)^{−1} = ξ₀ T₀/T for T > 0 and T₀ > 0. Not Hertz–Millis theory, and not a universality class";
570
+ readonly file: "QuantumCritical.lean";
571
+ readonly covers: "ξ(T) = ξ₀ (T/T₀)^{−1/z}, and at z = 1 this is ξ(T) = ξ₀ (T/T₀)^{−1} = ξ₀ T₀/T for T > 0 and T₀ > 0. Not Hertz–Millis theory, and not a universality class";
423
572
  readonly coverage: "covers its statement only";
424
573
  readonly leanProof: "complete";
425
574
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
426
- readonly scalingShape: {
575
+ readonly nested: readonly [{
576
+ readonly name: "scalingShape";
577
+ readonly kind: "derivation-step";
427
578
  readonly theorem: "PhysJS.QuantumCritical.scaling_shape";
428
- readonly covers: "derivation-step: if ξ is a dimensionally homogeneous function of a length ξ₀ and two temperatures, then ξ = ξ₀ φ(T/T₀) with φ(u) = f(1, u, 1). φ is not fixed. Not Hertz–Millis theory";
579
+ readonly file: "QuantumCritical.lean";
580
+ readonly covers: "if ξ is a dimensionally homogeneous function of a length ξ₀ and two temperatures, then ξ = ξ₀ φ(T/T₀) with φ(u) = f(1, u, 1). φ is not fixed. Not Hertz–Millis theory";
429
581
  readonly coverage: "covers its statement only";
430
582
  readonly leanProof: "complete";
431
583
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
432
- };
433
- readonly everyPower: {
584
+ }, {
585
+ readonly name: "everyPower";
586
+ readonly kind: "derivation-step";
434
587
  readonly theorem: "PhysJS.QuantumCritical.every_power_homogeneous";
435
- readonly covers: "derivation-step: for every real p and positive scale factors, (λ_s ξ₀) ((λ_e T)/(λ_e T₀))^p = λ_s (ξ₀ (T/T₀)^p). The exponent p is not chosen. Not Hertz–Millis theory";
588
+ readonly file: "QuantumCritical.lean";
589
+ readonly covers: "for every real p and positive scale factors, (λ_s ξ₀) ((λ_e T)/(λ_e T₀))^p = λ_s (ξ₀ (T/T₀)^p). The exponent p is not chosen. Not Hertz–Millis theory";
436
590
  readonly coverage: "covers its statement only";
437
591
  readonly leanProof: "complete";
438
592
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
439
- };
593
+ }];
440
594
  }, {
441
595
  readonly key: "be-50";
442
596
  readonly bridgeId: "be-50";
597
+ readonly kind: "bridge";
443
598
  readonly theorem: "PhysJS.TimeSymmetric.wheeler_feynman";
444
- readonly covers: "derivation-step: A_μ(x) = (A_μ^ret(x) + A_μ^adv(x))/2, and twice that component is the sum. The id is contested. This lemma does not decide the contest. Not the absorber boundary condition as a theory of radiation reaction";
599
+ readonly file: "TimeSymmetric.lean";
600
+ readonly covers: "A_μ(x) = (A_μ^ret(x) + A_μ^adv(x))/2, and twice that component is the sum. The id is contested. This lemma does not decide the contest. Not the absorber boundary condition as a theory of radiation reaction";
445
601
  readonly coverage: "covers its statement only";
446
602
  readonly leanProof: "complete";
447
603
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
604
+ readonly nested: readonly [];
448
605
  }, {
449
606
  readonly key: "be-32";
450
607
  readonly bridgeId: "be-32";
608
+ readonly kind: "derivation-step";
451
609
  readonly theorem: "PhysJS.BornOverlap.modulus_sq";
452
- readonly covers: "derivation-step: |c + s i|² = c² + s², which is normSq of one complex matrix element. A sum of squares above 1 is not a probability in [0, 1], the module's rejection of c² + s² > 1. c² − s² is not that square when s ≠ 0. Not the Giacomini–Castro-Ruiz–Brukner transformation, and not a Haar integral. The catalog records this id as not-a-bridge; this lemma does not decide that";
610
+ readonly file: "BornOverlap.lean";
611
+ readonly covers: "|c + s i|² = c² + s², which is normSq of one complex matrix element. A sum of squares above 1 is not a probability in [0, 1], the module's rejection of c² + s² > 1. c² − s² is not that square when s ≠ 0. Not the Giacomini–Castro-Ruiz–Brukner transformation, and not a Haar integral. The catalog records this id as not-a-bridge; this lemma does not decide that";
453
612
  readonly coverage: "covers its statement only";
454
613
  readonly leanProof: "complete";
455
614
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
615
+ readonly nested: readonly [];
456
616
  }, {
457
617
  readonly key: "be-28";
458
618
  readonly bridgeId: "be-28";
619
+ readonly kind: "property";
459
620
  readonly theorem: "PhysJS.EntropyProduction.nonneg";
460
- readonly covers: "derivation-step: σ = Σ_i J_i X_i is the definition of σ. If every product is ≥ 0 then σ ≥ 0. One flipped sign, with the other products zero and the flipped product strictly positive, is not σ, and that flipped sum is negative. Not the variational maximum-entropy-production principle. The catalog records this id as not-a-bridge; this lemma does not decide that";
621
+ readonly file: "EntropyProduction.lean";
622
+ readonly covers: "σ = Σ_i J_i X_i is the definition of σ. If every product is ≥ 0 then σ ≥ 0. One flipped sign, with the other products zero and the flipped product strictly positive, is not σ, and that flipped sum is negative. Not the variational maximum-entropy-production principle. The catalog records this id as not-a-bridge; this lemma does not decide that";
461
623
  readonly coverage: "covers its statement only";
462
624
  readonly leanProof: "complete";
463
625
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
626
+ readonly nested: readonly [];
464
627
  }, {
465
628
  readonly key: "be-40";
466
629
  readonly bridgeId: "be-40";
630
+ readonly kind: "bridge";
467
631
  readonly theorem: "PhysJS.CompositeHiggs.scale_free";
468
- readonly covers: "derivation-step: for f ≠ 0 and θ = h/f, V(h)/f⁴ = −α sin²θ + β [sin⁴θ − sin²θ cos²θ]. Both terms carry f⁴, so the ratio depends on h only through θ. The pre-correction first term −α f² sin²θ, divided by f⁴, is −α sin²θ / f². It depends on f, and it agrees with −α sin²θ only when f² = 1. Not SILH matching onto a confining theory. The catalog records this id as not-a-bridge; this lemma does not decide that";
632
+ readonly file: "CompositeHiggs.lean";
633
+ readonly covers: "for f ≠ 0 and θ = h/f, V(h)/f⁴ = −α sin²θ + β [sin⁴θ − sin²θ cos²θ]. Both terms carry f⁴, so the ratio depends on h only through θ. The pre-correction first term −α f² sin²θ, divided by f⁴, is −α sin²θ / f². It depends on f, and it agrees with −α sin²θ only when f² = 1. Not SILH matching onto a confining theory. The catalog records this id as not-a-bridge; this lemma does not decide that";
469
634
  readonly coverage: "covers its statement only";
470
635
  readonly leanProof: "complete";
471
636
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
637
+ readonly nested: readonly [];
472
638
  }, {
473
639
  readonly key: "be-35";
474
640
  readonly bridgeId: "be-35";
641
+ readonly kind: "derivation-step";
475
642
  readonly theorem: "PhysJS.Crossing.antisymmetry";
476
- readonly covers: "derivation-step: for a real function g, g(u,v) − g(v,u) = −(g(v,u) − g(u,v)). The swap is the negation of a difference. The residual is 0 for every g when u = v, including u = v = 1/4, so that point is not a control. A block that is not symmetric does not vanish at u = 1/2, v = 1/4. Not the infinite sum over (Δ, ℓ), and not positivity or unitarity. The catalog records this id as not-a-bridge; this lemma does not decide that";
643
+ readonly file: "Crossing.lean";
644
+ readonly covers: "for a real function g, g(u,v) − g(v,u) = −(g(v,u) − g(u,v)). The swap is the negation of a difference. The residual is 0 for every g when u = v, including u = v = 1/4, so that point is not a control. A block that is not symmetric does not vanish at u = 1/2, v = 1/4. Not the infinite sum over (Δ, ℓ), and not positivity or unitarity. The catalog records this id as not-a-bridge; this lemma does not decide that";
477
645
  readonly coverage: "covers its statement only";
478
646
  readonly leanProof: "complete";
479
647
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
648
+ readonly nested: readonly [];
480
649
  }, {
481
650
  readonly key: "be-63";
482
651
  readonly bridgeId: "be-63";
652
+ readonly kind: "bridge";
483
653
  readonly theorem: "PhysJS.Chandrasekhar.prefactor";
484
- readonly covers: "derivation-step: with n = ρ/(μ_e m_u), p_F = ℏ (3π² n)^{1/3}, and P = (1/4) n p_F c, one has P = K_ρ ρ^{4/3} where K_ρ = K_n/(μ_e m_u)^{4/3} and K_n = (ℏ c/4)(3π²)^{1/3}. For the n = 3 Lane–Emden scale the central density cancels, and M = (ω₃⁰ √(3π)/2) (ℏ c/G)^{3/2} (μ_e m_u)^{−2}. ω₃⁰ stays symbolic; the decimal 2.01824 is not in the theorem. With ℏ = c = μ_e = m_u = 1 both routes give the same K. √π/2 in place of √(3π)/2 fails when ω₃⁰ ≠ 0, and dropping ω₃⁰ fails when ω₃⁰ ≠ 1. Not stellar rotation or magnetic support";
654
+ readonly file: "Chandrasekhar.lean";
655
+ readonly covers: "with n = ρ/(μ_e m_u), p_F = ℏ (3π² n)^{1/3}, and P = (1/4) n p_F c, one has P = K_ρ ρ^{4/3} where K_ρ = K_n/(μ_e m_u)^{4/3} and K_n = (ℏ c/4)(3π²)^{1/3}. For the n = 3 Lane–Emden scale the central density cancels, and M = (ω₃⁰ √(3π)/2) (ℏ c/G)^{3/2} (μ_e m_u)^{−2}. ω₃⁰ stays symbolic; the decimal 2.01824 is not in the theorem. With ℏ = c = μ_e = m_u = 1 both routes give the same K. √π/2 in place of √(3π)/2 fails when ω₃⁰ ≠ 0, and dropping ω₃⁰ fails when ω₃⁰ ≠ 1. Not stellar rotation or magnetic support";
485
656
  readonly coverage: "covers its statement only";
486
657
  readonly leanProof: "complete";
487
658
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
659
+ readonly nested: readonly [];
488
660
  }, {
489
661
  readonly key: "be-30";
490
662
  readonly bridgeId: "be-30";
663
+ readonly kind: "derivation-step";
491
664
  readonly theorem: "PhysJS.Entanglement.first_variation";
492
- readonly covers: "derivation-step: for a smooth curve of full-rank density matrices that stay diagonal in a fixed basis and have trace 1, d/dt S(ρ(t)) = −⟪ρ̇(t), log ρ(t)⟫, the trace inner product. The modular Hamiltonian K = −log ρ is frozen at the base point, and that derivative equals d/dt ⟨K⟩. A finite jump from diag(1/2, 1/2) to diag(3/4, 1/4) leaves ⟨K⟩ unchanged and changes S. Not the holographic first law that identifies K with an area variation";
665
+ readonly file: "Entanglement.lean";
666
+ readonly covers: "for a smooth curve of full-rank density matrices that stay diagonal in a fixed basis and have trace 1, d/dt S(ρ(t)) = −⟪ρ̇(t), log ρ(t)⟫, the trace inner product. The modular Hamiltonian K = −log ρ is frozen at the base point, and that derivative equals d/dt ⟨K⟩. A finite jump from diag(1/2, 1/2) to diag(3/4, 1/4) leaves ⟨K⟩ unchanged and changes S. Not the holographic first law that identifies K with an area variation";
493
667
  readonly coverage: "covers its statement only";
494
668
  readonly leanProof: "complete";
495
669
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
670
+ readonly nested: readonly [];
496
671
  }, {
497
672
  readonly key: "be-66";
498
673
  readonly bridgeId: "be-66";
674
+ readonly kind: "bridge";
499
675
  readonly theorem: "PhysJS.RadiationPressure.pressure_eq";
500
- readonly covers: "derivation-step: foreshortening I cos θ, normal momentum per energy (cos θ)/c, and an opaque split that deposits the absorbed fraction once and the specular fraction twice give P_n = (I/c)(1+R) cos²θ. R = 0, θ = 0 is I/c and R = 1, θ = 0 is 2I/c. A single cosine is not that pressure when cos θ is neither 0 nor 1. Homogeneity in I and c gives P = C I/c with C = f(1,1) unfixed. Not the Maxwell stress tensor, and not the Eddington luminosity";
676
+ readonly file: "RadiationPressure.lean";
677
+ readonly covers: "foreshortening I cos θ, normal momentum per energy (cos θ)/c, and an opaque split that deposits the absorbed fraction once and the specular fraction twice give P_n = (I/c)(1+R) cos²θ. R = 0, θ = 0 is I/c and R = 1, θ = 0 is 2I/c. A single cosine is not that pressure when cos θ is neither 0 nor 1. Homogeneity in I and c gives P = C I/c with C = f(1,1) unfixed. Not the Maxwell stress tensor, and not the Eddington luminosity";
501
678
  readonly coverage: "covers its statement only";
502
679
  readonly leanProof: "complete";
503
680
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
681
+ readonly nested: readonly [];
504
682
  }, {
505
683
  readonly key: "be-67";
506
684
  readonly bridgeId: "be-67";
685
+ readonly kind: "bridge";
507
686
  readonly theorem: "PhysJS.AlfvenSpeed.speed_eq";
508
- readonly covers: "derivation-step: one transverse monochromatic polarization along a uniform field, with ∂b/∂t = B ∂v/∂z and ρ ∂v/∂t = (B/μ0) ∂b/∂z, has phase speed |ω/k| = B/√(μ0 ρ) for B > 0, μ0 > 0, ρ > 0, and k ≠ 0. ρ is the density in that momentum premise, read as the total mass density. Proton-only n m_p is a different density when electrons contribute, and a density r ρ with r ≠ 1 is a different speed. Inserting tesla and the SI density into B/√(4πρ) is not the SI speed. 4π×10^{-7} is the permeability stand-in, not a measured μ0. A factor C ≠ 1 is not the catalog speed. Not a kinetic dispersion relation";
687
+ readonly file: "AlfvenSpeed.lean";
688
+ readonly covers: "one transverse monochromatic polarization along a uniform field, with ∂b/∂t = B ∂v/∂z and ρ ∂v/∂t = (B/μ0) ∂b/∂z, has phase speed |ω/k| = B/√(μ0 ρ) for B > 0, μ0 > 0, ρ > 0, and k ≠ 0. ρ is the density in that momentum premise, read as the total mass density. Proton-only n m_p is a different density when electrons contribute, and a density r ρ with r ≠ 1 is a different speed. Inserting tesla and the SI density into B/√(4πρ) is not the SI speed. 4π×10^{-7} is the permeability stand-in, not a measured μ0. A factor C ≠ 1 is not the catalog speed. Not a kinetic dispersion relation";
509
689
  readonly coverage: "covers its statement only";
510
690
  readonly leanProof: "complete";
511
691
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
692
+ readonly nested: readonly [];
512
693
  }, {
513
694
  readonly key: "be-68";
514
695
  readonly bridgeId: "be-68";
696
+ readonly kind: "bridge";
515
697
  readonly theorem: "PhysJS.TolmanEhrenfest.hydrostatic_constant";
516
- readonly covers: "derivation-step: on a static interval with g_00 < 0, hydrostatic balance dp = -(ρ+p) d ln √(-g_00) and the equilibrium Gibbs relation dp = (ρ+p) d ln T, with ρ+p ≠ 0, give T √(-g_00) equal at the endpoints. The 1930 writing T √g_44 agrees when g_44 = -g_00. Real.sqrt g_00 = 0 when g_00 < 0, so the product without the minus is 0. d ln T = 0 is not g dr/c². Not a horizon temperature and not PhysJS.HawkingUnruh.dictionary. T ‖ξ‖ = const is out of scope. The hydrostatic equation is not derived from ∇_μ T^{μν} = 0, and the Gibbs relation is not derived from an equation of state";
698
+ readonly file: "TolmanEhrenfest.lean";
699
+ readonly covers: "on a static interval with g_00 < 0, hydrostatic balance dp = -(ρ+p) d ln √(-g_00) and the equilibrium Gibbs relation dp = (ρ+p) d ln T, with ρ+p ≠ 0, give T √(-g_00) equal at the endpoints. The 1930 writing T √g_44 agrees when g_44 = -g_00. Real.sqrt g_00 = 0 when g_00 < 0, so the product without the minus is 0. d ln T = 0 is not g dr/c². Not a horizon temperature and not PhysJS.HawkingUnruh.dictionary. T ‖ξ‖ = const is out of scope. The hydrostatic equation is not derived from ∇_μ T^{μν} = 0, and the Gibbs relation is not derived from an equation of state";
517
700
  readonly coverage: "covers its statement only";
518
701
  readonly leanProof: "complete";
519
702
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
703
+ readonly nested: readonly [];
520
704
  }, {
521
705
  readonly key: "be-69";
522
706
  readonly bridgeId: "be-69";
707
+ readonly kind: "bridge";
523
708
  readonly theorem: "PhysJS.FastMagnetosonic.speed_eq";
524
- readonly covers: "derivation-step: a monochromatic compressional polarization perpendicular to a uniform field, with ∂b/∂t = −B ∂v/∂x, ∂δρ/∂t = −ρ ∂v/∂x, δp = c_s² δρ, and ρ ∂v/∂t = −∂δp/∂x − (B/μ0) ∂b/∂x, has phase speed |ω/k| = √(c_s² + B²/(μ0 ρ)) for μ0 > 0, ρ > 0, and k ≠ 0. The velocity wave is not identically zero. c_s² = γ p / ρ is a reading of the closure, not an energy equation. The textbook quartic at k_∥ = 0 has roots ω² = 0 and ω² = (c_s² + v_A²) k²; ω = 0 does not solve compressional induction. √(c_s² + v_A²) is not c_s, not v_A, and not c_s + v_A when the other speed is nonzero. c_s = 0 recovers B/√(μ0 ρ), the Alfvén value of a different polarization. A factor C ≠ 1 is not the catalog speed. Not a kinetic dispersion relation, and not the oblique fast mode. The linearized equations are hypotheses";
709
+ readonly file: "FastMagnetosonic.lean";
710
+ readonly covers: "a monochromatic compressional polarization perpendicular to a uniform field, with ∂b/∂t = −B ∂v/∂x, ∂δρ/∂t = −ρ ∂v/∂x, δp = c_s² δρ, and ρ ∂v/∂t = −∂δp/∂x − (B/μ0) ∂b/∂x, has phase speed |ω/k| = √(c_s² + B²/(μ0 ρ)) for μ0 > 0, ρ > 0, and k ≠ 0. The velocity wave is not identically zero. c_s² = γ p / ρ is a reading of the closure, not an energy equation. The textbook quartic at k_∥ = 0 has roots ω² = 0 and ω² = (c_s² + v_A²) k²; ω = 0 does not solve compressional induction. √(c_s² + v_A²) is not c_s, not v_A, and not c_s + v_A when the other speed is nonzero. c_s = 0 recovers B/√(μ0 ρ), the Alfvén value of a different polarization. A factor C ≠ 1 is not the catalog speed. Not a kinetic dispersion relation, and not the oblique fast mode. The linearized equations are hypotheses";
525
711
  readonly coverage: "covers its statement only";
526
712
  readonly leanProof: "complete";
527
713
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
528
- readonly perpendicularQuartic: {
714
+ readonly nested: readonly [{
715
+ readonly name: "perpendicularQuartic";
716
+ readonly kind: "derivation-step";
529
717
  readonly theorem: "PhysJS.FastMagnetosonic.perpendicular_of_dispersion";
530
- readonly covers: "derivation-step: if ω⁴ − ω² k² (c_s² + v_A²) + c_s² v_A² k² k_∥² = 0 and k_∥ = 0, then ω² = 0 or ω² = (c_s² + v_A²) k². The quartic is a hypothesis. The compressional polarization selects the second root";
718
+ readonly file: "FastMagnetosonic.lean";
719
+ readonly covers: "if ω⁴ − ω² k² (c_s² + v_A²) + c_s² v_A² k² k_∥² = 0 and k_∥ = 0, then ω² = 0 or ω² = (c_s² + v_A²) k². The quartic is a hypothesis. The compressional polarization selects the second root";
531
720
  readonly coverage: "covers its statement only";
532
721
  readonly leanProof: "complete";
533
722
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
534
- };
723
+ }];
535
724
  }, {
536
725
  readonly key: "be-70";
537
726
  readonly bridgeId: "be-70";
727
+ readonly kind: "bridge";
538
728
  readonly theorem: "PhysJS.EinsteinRelation.diffusion_eq";
539
- readonly covers: "derivation-step: for the Boltzmann profile n = n_ref exp(−q V/(k_B T)) with n_ref > 0, k_B T ≠ 0, and q ≠ 0, a nonzero field E = −dV/dx at which the drift flux μ n E cancels the diffusion flux D dn/dx gives D = μ k_B T / q. The force-mobility writing D = μ_force k_B T needs μ_force = μ/q. Dropping q fails when q ≠ 1. The Fermi-liquid form μ E_F / q fails when E_F ≠ k_B T. Stokes–Einstein fails unless μ/q = 1/(6 π η a). A factor C ≠ 1 is not this diffusivity. Not a master equation, and not a Fermi liquid";
729
+ readonly file: "EinsteinRelation.lean";
730
+ readonly covers: "for the Boltzmann profile n = n_ref exp(−q V/(k_B T)) with n_ref > 0, k_B T ≠ 0, and q ≠ 0, a nonzero field E = −dV/dx at which the drift flux μ n E cancels the diffusion flux D dn/dx gives D = μ k_B T / q. The force-mobility writing D = μ_force k_B T needs μ_force = μ/q. Dropping q fails when q ≠ 1. The Fermi-liquid form μ E_F / q fails when E_F ≠ k_B T. Stokes–Einstein fails unless μ/q = 1/(6 π η a). A factor C ≠ 1 is not this diffusivity. Not a master equation, and not a Fermi liquid";
540
731
  readonly coverage: "covers its statement only";
541
732
  readonly leanProof: "complete";
542
733
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
734
+ readonly nested: readonly [];
543
735
  }, {
544
736
  readonly key: "be-71";
545
737
  readonly bridgeId: "be-71";
738
+ readonly kind: "bridge";
546
739
  readonly theorem: "PhysJS.Clapeyron.slope_eq";
547
- readonly covers: "derivation-step: where the specific Gibbs energies agree along coexistence and each phase obeys dg = −s dT + v dP, dP/dT = (s2−s1)/(v2−v1). With L = T (s2−s1), T ≠ 0, and Δv ≠ 0, dP/dT = L/(T Δv). Dropping T fails when T ≠ 1. Replacing Δv by one phase volume fails when the other volume is nonzero. A factor C ≠ 1 is not this slope. Not the ideal-gas integrated vapor-pressure law. The Gibbs differential is a hypothesis, not a Legendre transform";
740
+ readonly file: "Clapeyron.lean";
741
+ readonly covers: "where the specific Gibbs energies agree along coexistence and each phase obeys dg = −s dT + v dP, dP/dT = (s2−s1)/(v2−v1). With L = T (s2−s1), T ≠ 0, and Δv ≠ 0, dP/dT = L/(T Δv). Dropping T fails when T ≠ 1. Replacing Δv by one phase volume fails when the other volume is nonzero. A factor C ≠ 1 is not this slope. Not the ideal-gas integrated vapor-pressure law. The Gibbs differential is a hypothesis, not a Legendre transform";
548
742
  readonly coverage: "covers its statement only";
549
743
  readonly leanProof: "complete";
550
744
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
745
+ readonly nested: readonly [];
551
746
  }, {
552
747
  readonly key: "be-72";
553
748
  readonly bridgeId: "be-72";
749
+ readonly kind: "bridge";
554
750
  readonly theorem: "PhysJS.GravitationalRedshift.frequency_ratio";
555
- readonly covers: "derivation-step: two static observers of one coordinate period, with ν √(−g_00) = 1/Δt and g_00 < 0, have ν1/ν2 = √(−g2)/√(−g1) = √(g2/g1). If the Tolman products T √(−g_00) also agree, then T1/T2 = ν1/ν2. Equal temperatures on g_00 = −1 and g_00 = −4 are not a Tolman equilibrium, while the frequency ratio is 2. For g_00 = −(1+2Φ/c²) at c = 1, Φ = 0 and Φ = 4, the exact ratio is neither (Φ2−Φ1)/c² nor 1+(Φ2−Φ1)/c². z = 0 is not Φ/c². Not PhysJS.TolmanEhrenfest.hydrostatic_constant, not a horizon temperature, and not PhysJS.HawkingUnruh.dictionary";
751
+ readonly file: "GravitationalRedshift.lean";
752
+ readonly covers: "two static observers of one coordinate period, with ν √(−g_00) = 1/Δt and g_00 < 0, have ν1/ν2 = √(−g2)/√(−g1) = √(g2/g1). If the Tolman products T √(−g_00) also agree, then T1/T2 = ν1/ν2. Equal temperatures on g_00 = −1 and g_00 = −4 are not a Tolman equilibrium, while the frequency ratio is 2. For g_00 = −(1+2Φ/c²) at c = 1, Φ = 0 and Φ = 4, the exact ratio is neither (Φ2−Φ1)/c² nor 1+(Φ2−Φ1)/c². z = 0 is not Φ/c². Not PhysJS.TolmanEhrenfest.hydrostatic_constant, not a horizon temperature, and not PhysJS.HawkingUnruh.dictionary";
556
753
  readonly coverage: "covers its statement only";
557
754
  readonly leanProof: "complete";
558
755
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
559
- readonly tolmanRatio: {
756
+ readonly nested: readonly [{
757
+ readonly name: "tolmanRatio";
758
+ readonly kind: "derivation-step";
560
759
  readonly theorem: "PhysJS.GravitationalRedshift.tolman_same_ratio";
561
- readonly covers: "derivation-step: if T √(−g_00) agrees at two static observers and the frequency ratio equals √(−g2)/√(−g1), then T1/T2 = ν1/ν2. Neither factor is derived from the other";
760
+ readonly file: "GravitationalRedshift.lean";
761
+ readonly covers: "if T √(−g_00) agrees at two static observers and the frequency ratio equals √(−g2)/√(−g1), then T1/T2 = ν1/ν2. Neither factor is derived from the other";
562
762
  readonly coverage: "covers its statement only";
563
763
  readonly leanProof: "complete";
564
764
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
565
- };
765
+ }];
566
766
  }, {
567
767
  readonly key: "be-73";
568
768
  readonly bridgeId: "be-73";
769
+ readonly kind: "bridge";
569
770
  readonly theorem: "PhysJS.KelvinRelation.peltier_eq";
570
- readonly covers: "derivation-step: for J_e = L11 E/T + L12 (−∇T)/T² and J_q = L21 E/T + L22 (−∇T)/T², the open-circuit Seebeck coefficient S = E/∇T and the isothermal Peltier coefficient Π = J_q/J_e satisfy Π = S T when L12 = L21. That equality is ThermoelectricOnsager.onsager, a structure field naming microscopic reversibility, not an axiom. Without it the two coefficients disagree. Not the first Thomson relation μ = T dS/dT, and not a measured thermopower. The linear fluxes are hypotheses";
771
+ readonly file: "KelvinRelation.lean";
772
+ readonly covers: "for J_e = L11 E/T + L12 (−∇T)/T² and J_q = L21 E/T + L22 (−∇T)/T², the open-circuit Seebeck coefficient S = E/∇T and the isothermal Peltier coefficient Π = J_q/J_e satisfy Π = S T when L12 = L21. That equality is ThermoelectricOnsager.onsager, a structure field naming microscopic reversibility, not an axiom. Without it the two coefficients disagree. Not the first Thomson relation μ = T dS/dT, and not a measured thermopower. The linear fluxes are hypotheses";
571
773
  readonly coverage: "covers its statement only";
572
774
  readonly leanProof: "complete";
573
775
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
776
+ readonly nested: readonly [];
574
777
  }, {
575
778
  readonly key: "be-74";
576
779
  readonly bridgeId: "be-74";
780
+ readonly kind: "bridge";
577
781
  readonly theorem: "PhysJS.MagneticPressure.pressure_eq";
578
- readonly covers: "derivation-step: a linear inductor with dU/dI = L I and U(0) = 0 stores U = (L/2) I². A long solenoid with B = μ0 n I and flux linkage Λ = (n ℓ) B A has L = μ0 n² V. At fixed current the battery supplies I ΔΛ. The stored energy rises by half of that, and the difference is the mechanical work p ΔV, so p = B²/(2 μ0). Homogeneity in B and μ0 gives p = C B²/μ0 with C unfixed. C = 1 is the battery work per volume, not this pressure. Not a kinetic pressure, and not a Lagrangian derivation of the Maxwell stress tensor. Ampere's law, the flux linkage, and the quasistatic work balance are hypotheses";
782
+ readonly file: "MagneticPressure.lean";
783
+ readonly covers: "a linear inductor with dU/dI = L I and U(0) = 0 stores U = (L/2) I². A long solenoid with B = μ0 n I and flux linkage Λ = (n ℓ) B A has L = μ0 n² V. At fixed current the battery supplies I ΔΛ. The stored energy rises by half of that, and the difference is the mechanical work p ΔV, so p = B²/(2 μ0). Homogeneity in B and μ0 gives p = C B²/μ0 with C unfixed. C = 1 is the battery work per volume, not this pressure. Not a kinetic pressure, and not a Lagrangian derivation of the Maxwell stress tensor. Ampere's law, the flux linkage, and the quasistatic work balance are hypotheses";
579
784
  readonly coverage: "covers its statement only";
580
785
  readonly leanProof: "complete";
581
786
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
787
+ readonly nested: readonly [];
582
788
  }, {
583
789
  readonly key: "be-75";
584
790
  readonly bridgeId: "be-75";
791
+ readonly kind: "bridge";
585
792
  readonly theorem: "PhysJS.LondonPenetration.depth_eq";
586
- readonly covers: "derivation-step: on B(x) = B0 exp(−x/λ) with λ > 0, Ampere's law j = −(1/μ0) dB/dx and the London equation dj/dx = −(n e²/m) B give λ = √(m/(μ0 n e²)). e is the elementary charge. The dimension matrix of {m, μ0, n, e} admits both that monomial and μ0 e²/m, so units do not choose. Those lengths disagree when n (μ0 e²/m)³ ≠ 1. The growing exponential is not the screened field. Replacing e by 2e at the same n and m fails, and dropping the square on e fails when e ≠ 1. A factor C ≠ 1 is not this depth. Not the classical skin depth. The London equation and Ampere's law are hypotheses";
793
+ readonly file: "LondonPenetration.lean";
794
+ readonly covers: "on B(x) = B0 exp(−x/λ) with λ > 0, Ampere's law j = −(1/μ0) dB/dx and the London equation dj/dx = −(n e²/m) B give λ = √(m/(μ0 n e²)). e is the elementary charge. The dimension matrix of {m, μ0, n, e} admits both that monomial and μ0 e²/m, so units do not choose. Those lengths disagree when n (μ0 e²/m)³ ≠ 1. The growing exponential is not the screened field. Replacing e by 2e at the same n and m fails, and dropping the square on e fails when e ≠ 1. A factor C ≠ 1 is not this depth. Not the classical skin depth. The London equation and Ampere's law are hypotheses";
587
795
  readonly coverage: "covers its statement only";
588
796
  readonly leanProof: "complete";
589
797
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
798
+ readonly nested: readonly [];
590
799
  }, {
591
800
  readonly key: "be-76";
592
801
  readonly bridgeId: "be-76";
802
+ readonly kind: "bridge";
593
803
  readonly theorem: "PhysJS.PlasmaBeta.beta_eq";
594
- readonly covers: "derivation-step: β = p_gas / p_B where p_B is PhysJS.MagneticPressure.pressure_eq, so β = p_gas / (B²/(2 μ0)) = 2 μ0 p_gas / B². The ideal-gas closure p_gas = n k_B T gives β = 2 μ0 n k_B T / B². B ≠ 0. Using B²/μ0 in place of the magnetic pressure is a different ratio. The constant 1 is dimensionless and is not this beta when the ratio is not 1. A factor C ≠ 1 is not this beta. Dropping p = n k_B T fails. Not a unique monomial, and not a plasma-β inequality";
804
+ readonly file: "PlasmaBeta.lean";
805
+ readonly covers: "β = p_gas / p_B where p_B is PhysJS.MagneticPressure.pressure_eq, so β = p_gas / (B²/(2 μ0)) = 2 μ0 p_gas / B². The ideal-gas closure p_gas = n k_B T gives β = 2 μ0 n k_B T / B². B ≠ 0. Using B²/μ0 in place of the magnetic pressure is a different ratio. The constant 1 is dimensionless and is not this beta when the ratio is not 1. A factor C ≠ 1 is not this beta. Dropping p = n k_B T fails. Not a unique monomial, and not a plasma-β inequality";
595
806
  readonly coverage: "covers its statement only";
596
807
  readonly leanProof: "complete";
597
808
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
809
+ readonly nested: readonly [];
598
810
  }, {
599
811
  readonly key: "be-77";
600
812
  readonly bridgeId: "be-77";
813
+ readonly kind: "bridge";
601
814
  readonly theorem: "PhysJS.HagenPoiseuille.flow_eq";
602
- readonly covers: "derivation-step: steady axisymmetric Newtonian flow with d/dr (r du/dr) = (G/μ) r, centerline slope 0, and no-slip u(R) = 0 integrates to u = (G/(4μ))(r²−R²). With G = −ΔP/L the flux Q = ∫ u 2π r dr is π R⁴ ΔP/(8 μ L). Darcy's definition then gives f_D Re = 64. The same wall shear with the Fanning normalization is 16. A factor other than 8 is not this flux. Not a square duct. The axial balance, no-slip, and the Darcy definitions are hypotheses";
815
+ readonly file: "HagenPoiseuille.lean";
816
+ readonly covers: "steady axisymmetric Newtonian flow with d/dr (r du/dr) = (G/μ) r, centerline slope 0, and no-slip u(R) = 0 integrates to u = (G/(4μ))(r²−R²). With G = −ΔP/L the flux Q = ∫ u 2π r dr is π R⁴ ΔP/(8 μ L). Darcy's definition then gives f_D Re = 64. The same wall shear with the Fanning normalization is 16. A factor other than 8 is not this flux. Not a square duct. The axial balance, no-slip, and the Darcy definitions are hypotheses";
603
817
  readonly coverage: "covers its statement only";
604
818
  readonly leanProof: "complete";
605
819
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
820
+ readonly nested: readonly [];
606
821
  }, {
607
822
  readonly key: "be-78";
608
823
  readonly bridgeId: "be-78";
824
+ readonly kind: "bridge";
609
825
  readonly theorem: "PhysJS.EulerBuckling.critical_load";
610
- readonly covers: "derivation-step: the Euler–Bernoulli balance y'' = −ω² y with ω² = P/(E I) and pinned ends y(0) = y(L) = 0 has the eigenfunction sin(π x/L) at P = π² E I/L², and every nontrivial solution has ω L = n π for a nonzero integer n, so the load is at least that value. The clamped-free column is π² E I/(4 L²). That factor is not the pinned load. Not read off from units. The beam equation is a hypothesis";
826
+ readonly file: "EulerBuckling.lean";
827
+ readonly covers: "the Euler–Bernoulli balance y'' = −ω² y with ω² = P/(E I) and pinned ends y(0) = y(L) = 0 has the eigenfunction sin(π x/L) at P = π² E I/L², and every nontrivial solution has ω L = n π for a nonzero integer n, so the load is at least that value. The clamped-free column is π² E I/(4 L²). That factor is not the pinned load. Not read off from units. The beam equation is a hypothesis";
611
828
  readonly coverage: "covers its statement only";
612
829
  readonly leanProof: "complete";
613
830
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
831
+ readonly nested: readonly [];
614
832
  }, {
615
833
  readonly key: "be-79";
616
834
  readonly bridgeId: "be-79";
835
+ readonly kind: "bridge";
617
836
  readonly theorem: "PhysJS.PullIn.pull_in_eq";
618
- readonly covers: "derivation-step: C = ε0 A/g has dC/dg = −ε0 A/g². Equilibrium of a linear spring against the coenergy force is k(g0−g) = ε0 A V²/(2 g²), so V² is proportional to (g0−g) g². The derivative 2 g0 g − 3 g² vanishes only at g = 0 and g = 2 g0/3, and the second derivative at the fold is −2 g0. Substituting the gap gives V_pi² = 8 k g0³/(27 ε0 A) = 8 k g0²/(27 C0) with C0 = ε0 A/g0. g = g0/2 is not the fold. Not a fringing field. The parallel-plate law and the quasi-static balance are hypotheses";
837
+ readonly file: "PullIn.lean";
838
+ readonly covers: "C = ε0 A/g has dC/dg = −ε0 A/g². Equilibrium of a linear spring against the coenergy force is k(g0−g) = ε0 A V²/(2 g²), so V² is proportional to (g0−g) g². The derivative 2 g0 g − 3 g² vanishes only at g = 0 and g = 2 g0/3, and the second derivative at the fold is −2 g0. Substituting the gap gives V_pi² = 8 k g0³/(27 ε0 A) = 8 k g0²/(27 C0) with C0 = ε0 A/g0. g = g0/2 is not the fold. Not a fringing field. The parallel-plate law and the quasi-static balance are hypotheses";
619
839
  readonly coverage: "covers its statement only";
620
840
  readonly leanProof: "complete";
621
841
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
842
+ readonly nested: readonly [];
622
843
  }, {
623
844
  readonly key: "be-80";
624
845
  readonly bridgeId: "be-80";
846
+ readonly kind: "bridge";
625
847
  readonly theorem: "PhysJS.MottGurney.current_eq";
626
- readonly covers: "derivation-step: drift J = q n μ E and Poisson dE/dx = q n/ε give E dE/dx = J/(ε μ). With E(0) = 0 the integral is E²/2 = J x/(ε μ). The nonnegative root integrated from 0 to d is V = sqrt(2 J/(ε μ)) (2/3) d^{3/2}, so J = (9/8) ε μ V²/d³. A factor other than 9/8 is not this current. Not Child–Langmuir. Drift, Poisson, and the injecting contact are hypotheses";
848
+ readonly file: "MottGurney.lean";
849
+ readonly covers: "drift J = q n μ E and Poisson dE/dx = q n/ε give E dE/dx = J/(ε μ). With E(0) = 0 the integral is E²/2 = J x/(ε μ). The nonnegative root integrated from 0 to d is V = sqrt(2 J/(ε μ)) (2/3) d^{3/2}, so J = (9/8) ε μ V²/d³. A factor other than 9/8 is not this current. Not Child–Langmuir. Drift, Poisson, and the injecting contact are hypotheses";
627
850
  readonly coverage: "covers its statement only";
628
851
  readonly leanProof: "complete";
629
852
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
853
+ readonly nested: readonly [];
630
854
  }, {
631
855
  readonly key: "be-81";
632
856
  readonly bridgeId: "be-81";
857
+ readonly kind: "bridge";
633
858
  readonly theorem: "PhysJS.ChildLangmuir.current_eq";
634
- readonly covers: "derivation-step: collisionless energy (1/2) m v² = e φ, J = ρ v, and Poisson φ'' = ρ/ε0 give J = ε0 φ'' v. A power φ ∝ x^α makes φ'' v independent of x only for α = 4/3. The profile φ = V (x/d)^{4/3} has φ(0) = 0, φ(d) = V, and cathode field 0, and for x > 0 its current is (4 ε0/9) sqrt(2 e/m) V^{3/2}/d². e is the elementary charge. The Mott–Gurney exponent 3/2 does not cancel. Poisson is not claimed at x = 0. Not a drift-only solid";
859
+ readonly file: "ChildLangmuir.lean";
860
+ readonly covers: "collisionless energy (1/2) m v² = e φ, J = ρ v, and Poisson φ'' = ρ/ε0 give J = ε0 φ'' v. A power φ ∝ x^α makes φ'' v independent of x only for α = 4/3. The profile φ = V (x/d)^{4/3} has φ(0) = 0, φ(d) = V, and cathode field 0, and for x > 0 its current is (4 ε0/9) sqrt(2 e/m) V^{3/2}/d². e is the elementary charge. The Mott–Gurney exponent 3/2 does not cancel. Poisson is not claimed at x = 0. Not a drift-only solid";
635
861
  readonly coverage: "covers its statement only";
636
862
  readonly leanProof: "complete";
637
863
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
864
+ readonly nested: readonly [];
638
865
  }, {
639
866
  readonly key: "be-82";
640
867
  readonly bridgeId: "be-82";
868
+ readonly kind: "bridge";
641
869
  readonly theorem: "PhysJS.ShockleyDiode.shockley_eq";
642
- readonly covers: "derivation-step: quasi-equilibrium multiplies the equilibrium flux by exp(e V/(η k_B T)). Ideality 1 sets η = 1. Detailed balance sets the reverse flux equal to the forward flux at V = 0, and low injection keeps that reverse flux under bias. The net current is I = I_s (exp(e V/(k_B T)) − 1). Zero bias carries zero current. Ideality 2 is not this current when e V ≠ 0. e is the elementary charge. Not a diffusion-length ODE";
870
+ readonly file: "ShockleyDiode.lean";
871
+ readonly covers: "quasi-equilibrium multiplies the equilibrium flux by exp(e V/(η k_B T)). Ideality 1 sets η = 1. Detailed balance sets the reverse flux equal to the forward flux at V = 0, and low injection keeps that reverse flux under bias. The net current is I = I_s (exp(e V/(k_B T)) − 1). Zero bias carries zero current. Ideality 2 is not this current when e V ≠ 0. e is the elementary charge. Not a diffusion-length ODE";
643
872
  readonly coverage: "covers its statement only";
644
873
  readonly leanProof: "complete";
645
874
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
875
+ readonly nested: readonly [];
646
876
  }, {
647
877
  readonly key: "be-83";
648
878
  readonly bridgeId: "be-83";
879
+ readonly kind: "bridge";
649
880
  readonly theorem: "PhysJS.Thomson.thomson_eq";
650
- readonly covers: "derivation-step: the Kelvin relation Π(t) = S(t) t, which is PhysJS.KelvinRelation.peltier_eq read along temperature, and the Thomson split μ = dΠ/dT − S, give μ = T dS/dT by the product rule. dΠ/dT is not μ when S T ≠ 0. Not a second copy of Π = S T. The functional Kelvin relation and the Thomson split are hypotheses";
881
+ readonly file: "Thomson.lean";
882
+ readonly covers: "the Kelvin relation Π(t) = S(t) t, which is PhysJS.KelvinRelation.peltier_eq read along temperature, and the Thomson split μ = dΠ/dT − S, give μ = T dS/dT by the product rule. dΠ/dT is not μ when S T ≠ 0. Not a second copy of Π = S T. The functional Kelvin relation and the Thomson split are hypotheses";
651
883
  readonly coverage: "covers its statement only";
652
884
  readonly leanProof: "complete";
653
885
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
886
+ readonly nested: readonly [];
654
887
  }, {
655
888
  readonly key: "be-84";
656
889
  readonly bridgeId: "be-84";
890
+ readonly kind: "bridge";
657
891
  readonly theorem: "PhysJS.FourPoint.sheet_eq";
658
- readonly covers: "derivation-step: on an infinite sheet the radial field of a point current is (I R_s)/(2 π r), and the potential drop is the integral of 1/r. Probes at 0, s, 2s, and 3s, with current in at 0 and out at 3s, each contribute (I R_s/(2 π)) ln 2 on the inner pair. Superposition gives R_s = (π/ln 2)(V/I). A sink at 4s gives 2π/ln 3 instead. Not PhysJS.Crossing.antisymmetry. The Laplace field and linear superposition are hypotheses";
892
+ readonly file: "FourPoint.lean";
893
+ readonly covers: "on an infinite sheet the radial field of a point current is (I R_s)/(2 π r), and the potential drop is the integral of 1/r. Probes at 0, s, 2s, and 3s, with current in at 0 and out at 3s, each contribute (I R_s/(2 π)) ln 2 on the inner pair. Superposition gives R_s = (π/ln 2)(V/I). A sink at 4s gives 2π/ln 3 instead. Not PhysJS.Crossing.antisymmetry. The Laplace field and linear superposition are hypotheses";
659
894
  readonly coverage: "covers its statement only";
660
895
  readonly leanProof: "complete";
661
896
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
897
+ readonly nested: readonly [];
662
898
  }, {
663
899
  readonly key: "be-85";
664
900
  readonly bridgeId: "be-85";
901
+ readonly kind: "bridge";
665
902
  readonly theorem: "PhysJS.ShotNoise.shot_eq";
666
- readonly covers: "derivation-step: in a window of length T the count N has mean (I/e) T, and the Poisson premise is Var(N) = mean(N). Charge e scales the variance by e² and the windowed current divides by T, so Var(I) = e I/T. The one-sided bandwidth of that window is Δf = 1/(2 T), and S_I = Var(I)/Δf is 2 e I. The two-sided bandwidth Δf = 1/T gives e I. e is the elementary charge. Not a Fourier theorem and not Johnson–Nyquist. The Poisson variance and the one-sided convention are hypotheses";
903
+ readonly file: "ShotNoise.lean";
904
+ readonly covers: "in a window of length T the count N has mean (I/e) T, and the Poisson premise is Var(N) = mean(N). Charge e scales the variance by e² and the windowed current divides by T, so Var(I) = e I/T. The one-sided bandwidth of that window is Δf = 1/(2 T), and S_I = Var(I)/Δf is 2 e I. The two-sided bandwidth Δf = 1/T gives e I. e is the elementary charge. Not a Fourier theorem and not Johnson–Nyquist. The Poisson variance and the one-sided convention are hypotheses";
667
905
  readonly coverage: "covers its statement only";
668
906
  readonly leanProof: "complete";
669
907
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
908
+ readonly nested: readonly [];
670
909
  }, {
671
910
  readonly key: "be-86";
672
911
  readonly bridgeId: "be-86";
912
+ readonly kind: "bridge";
673
913
  readonly theorem: "PhysJS.ReynoldsAnalogy.reynolds_eq";
674
- readonly covers: "derivation-step: wall fluxes τ = μ du/dy and q = k dT/dy, with C_f = τ/(ρ U²/2), h = q/ΔT, St = h/(ρ U c_p), and Pr = μ c_p/k, satisfy St Pr = C_f/2 when the normalized wall gradients agree. That common slope is the equal-diffusivity hypothesis. At Pr = 1, St = C_f/2. Pr ≠ 1 with nonzero skin friction is not this equality. Not a Nusselt correlation";
914
+ readonly file: "ReynoldsAnalogy.lean";
915
+ readonly covers: "wall fluxes τ = μ du/dy and q = k dT/dy, with C_f = τ/(ρ U²/2), h = q/ΔT, St = h/(ρ U c_p), and Pr = μ c_p/k, satisfy St Pr = C_f/2 when the normalized wall gradients agree. That common slope is the equal-diffusivity hypothesis. At Pr = 1, St = C_f/2. Pr ≠ 1 with nonzero skin friction is not this equality. Not a Nusselt correlation";
675
916
  readonly coverage: "covers its statement only";
676
917
  readonly leanProof: "complete";
677
918
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
919
+ readonly nested: readonly [];
678
920
  }, {
679
921
  readonly key: "be-87";
680
922
  readonly bridgeId: "be-87";
923
+ readonly kind: "bridge";
681
924
  readonly theorem: "PhysJS.CapacitorNoise.noise_eq";
682
- readonly covers: "derivation-step: dU/dV = C V and U(0) = 0 integrate to U = (C/2) V². The normalized Boltzmann weight of that energy is the Gaussian of mean 0 and variance k_B T/C, because the partition function is the Gaussian integral. The mean square on that law is k_B T/C, and (C/2) of it is (1/2) k_B T. (3/2) k_B T/C is not this variance. Dropping the energy half replaces it by k_B T/(2 C). Not three kinetic degrees of freedom";
925
+ readonly file: "CapacitorNoise.lean";
926
+ readonly covers: "dU/dV = C V and U(0) = 0 integrate to U = (C/2) V². The normalized Boltzmann weight of that energy is the Gaussian of mean 0 and variance k_B T/C, because the partition function is the Gaussian integral. The mean square on that law is k_B T/C, and (C/2) of it is (1/2) k_B T. (3/2) k_B T/C is not this variance. Dropping the energy half replaces it by k_B T/(2 C). Not three kinetic degrees of freedom";
683
927
  readonly coverage: "covers its statement only";
684
928
  readonly leanProof: "complete";
685
929
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
930
+ readonly nested: readonly [];
686
931
  }, {
687
932
  readonly key: "be-88";
688
933
  readonly bridgeId: "be-88";
934
+ readonly kind: "bridge";
689
935
  readonly theorem: "PhysJS.FermiSea.fermi_sea";
690
- readonly covers: "derivation-step: two spin states times the sphere (4π/3) k_F³/(2π)³ give n, so k_F³ = 3 π² n and the nonnegative root is k_F = (3 π² n)^{1/3}. The isotropic parabola E = ℏ² k²/(2 m*) is E_F at k_F. Its first derivative is v_F = ℏ k_F/m*, and ℏ⁻² times the second derivative is 1/m*. One spin is k_F³ = 6 π² n. Not a lattice band. The band, the two-spin count, and T = 0 are hypotheses";
936
+ readonly file: "FermiSea.lean";
937
+ readonly covers: "two spin states times the sphere (4π/3) k_F³/(2π)³ give n, so k_F³ = 3 π² n and the nonnegative root is k_F = (3 π² n)^{1/3}. The isotropic parabola E = ℏ² k²/(2 m*) is E_F at k_F. Its first derivative is v_F = ℏ k_F/m*, and ℏ⁻² times the second derivative is 1/m*. One spin is k_F³ = 6 π² n. Not a lattice band. The band, the two-spin count, and T = 0 are hypotheses";
691
938
  readonly coverage: "covers its statement only";
692
939
  readonly leanProof: "complete";
693
940
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
941
+ readonly nested: readonly [];
694
942
  }, {
695
943
  readonly key: "be-89";
696
944
  readonly bridgeId: "be-89";
945
+ readonly kind: "bridge";
697
946
  readonly theorem: "PhysJS.DebyeCutoff.debye_cutoff";
698
- readonly covers: "derivation-step: three acoustic branches filling 3n states, 3·(4π/3) k_D³/(2π)³ = 3n, give k_D³ = 6 π² n. A linear branch ω_D = v_s k_D is ω_D = v_s (6 π² n)^{1/3}. Equating the three-branch sum to n gives k_D³ = 2 π² n. The branch count and the common speed are hypotheses";
947
+ readonly file: "DebyeCutoff.lean";
948
+ readonly covers: "three acoustic branches filling 3n states, 3·(4π/3) k_D³/(2π)³ = 3n, give k_D³ = 6 π² n. A linear branch ω_D = v_s k_D is ω_D = v_s (6 π² n)^{1/3}. Equating the three-branch sum to n gives k_D³ = 2 π² n. The branch count and the common speed are hypotheses";
699
949
  readonly coverage: "covers its statement only";
700
950
  readonly leanProof: "complete";
701
951
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
952
+ readonly nested: readonly [];
702
953
  }, {
703
954
  readonly key: "be-90";
704
955
  readonly bridgeId: "be-90";
956
+ readonly kind: "bridge";
705
957
  readonly theorem: "PhysJS.DebyeHeat.debye_heat";
706
- readonly covers: "derivation-step: the mode integral ∫₀^{ω_D} 9 N ω²/ω_D³ dω = 3 N. The Debye energy with the integral extended to infinity is the hypothesis U = 9 N k_B T (T/θ_D)³ I, and I = π⁴/15 is a hypothesis, not an evaluation of ∫ x³/(exp(x)−1) dx. Nine times π⁴/15 is 3 π⁴/5, and U = A T⁴ differentiates to C_V = (12 π⁴/5) N k_B (T/θ_D)³. The energy prefactor 3 π⁴/5 is not the heat capacity. The phonon integral, the extension to infinity, and π⁴/15 are hypotheses";
958
+ readonly file: "DebyeHeat.lean";
959
+ readonly covers: "the mode integral ∫₀^{ω_D} 9 N ω²/ω_D³ dω = 3 N. The Debye energy with the integral extended to infinity is the hypothesis U = 9 N k_B T (T/θ_D)³ I, and I = π⁴/15 is a hypothesis, not an evaluation of ∫ x³/(exp(x)−1) dx. Nine times π⁴/15 is 3 π⁴/5, and U = A T⁴ differentiates to C_V = (12 π⁴/5) N k_B (T/θ_D)³. The energy prefactor 3 π⁴/5 is not the heat capacity. The phonon integral, the extension to infinity, and π⁴/15 are hypotheses";
707
960
  readonly coverage: "covers its statement only";
708
961
  readonly leanProof: "complete";
709
962
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
963
+ readonly nested: readonly [];
710
964
  }, {
711
965
  readonly key: "be-91";
712
966
  readonly bridgeId: "be-91";
967
+ readonly kind: "bridge";
713
968
  readonly theorem: "PhysJS.EinsteinSolid.einstein_heat";
714
- readonly covers: "derivation-step: three Planck oscillators per atom, each of energy k_B θ_E/(exp(θ_E/T)−1), differentiate to C_V = 3 N k_B (θ_E/T)² exp(θ_E/T)/(exp(θ_E/T)−1)². The zero-point k_B θ_E/2 is constant. The kernel x² e^x/(e^x−1)² tends to 1 as x → 0⁺, so the high-temperature limit is 3 N k_B. One oscillator tends to N k_B. Three oscillators and the Einstein spectrum are hypotheses";
969
+ readonly file: "EinsteinSolid.lean";
970
+ readonly covers: "three Planck oscillators per atom, each of energy k_B θ_E/(exp(θ_E/T)−1), differentiate to C_V = 3 N k_B (θ_E/T)² exp(θ_E/T)/(exp(θ_E/T)−1)². The zero-point k_B θ_E/2 is constant. The kernel x² e^x/(e^x−1)² tends to 1 as x → 0⁺, so the high-temperature limit is 3 N k_B. One oscillator tends to N k_B. Three oscillators and the Einstein spectrum are hypotheses";
715
971
  readonly coverage: "covers its statement only";
716
972
  readonly leanProof: "complete";
717
973
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
974
+ readonly nested: readonly [];
718
975
  }, {
719
976
  readonly key: "be-92";
720
977
  readonly bridgeId: "be-92";
978
+ readonly kind: "bridge";
721
979
  readonly theorem: "PhysJS.SommerfeldHeat.electronic_heat";
722
- readonly covers: "derivation-step: the Sommerfeld energy correction δU = (π²/6) (k_B T)² g(E_F) is a hypothesis, and its temperature derivative is c_V = (π²/3) k_B² T g(E_F). PhysJS.FermiSea.dos_factor is g(E_F) = (3/2) n/E_F for a √E density, so c_V = (π²/2) n k_B² T/E_F. A flat density g = n/E_F leaves π²/3. Not the Wiedemann–Franz law and not a second proof of be-61";
980
+ readonly file: "SommerfeldHeat.lean";
981
+ readonly covers: "the Sommerfeld energy correction δU = (π²/6) (k_B T)² g(E_F) is a hypothesis, and its temperature derivative is c_V = (π²/3) k_B² T g(E_F). PhysJS.FermiSea.dos_factor is g(E_F) = (3/2) n/E_F for a √E density, so c_V = (π²/2) n k_B² T/E_F. A flat density g = n/E_F leaves π²/3. Not the Wiedemann–Franz law and not a second proof of be-61";
723
982
  readonly coverage: "covers its statement only";
724
983
  readonly leanProof: "complete";
725
984
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
985
+ readonly nested: readonly [];
726
986
  }, {
727
987
  readonly key: "be-93";
728
988
  readonly bridgeId: "be-93";
989
+ readonly kind: "bridge";
729
990
  readonly theorem: "PhysJS.CurieWeiss.curie_weiss";
730
- readonly covers: "derivation-step: linear response χ k_B T = μ₀ n (g μ_B)² ⟨S_z²⟩ with the high-temperature moment ⟨S_z²⟩ = S(S+1)/3 gives the Curie constant C = μ₀ n g² μ_B² S(S+1)/(3 k_B). Equal weights on m = ±1/2 give 1/4 = S(S+1)/3 at S = 1/2. Mean field B_eff = B + λ M with θ = C λ/μ₀ gives χ = C/(T−θ). θ = 0 is C/T. A classical moment uses μ²/3. The second moment and the mean-field shift are hypotheses. Not an su(2) derivation";
991
+ readonly file: "CurieWeiss.lean";
992
+ readonly covers: "linear response χ k_B T = μ₀ n (g μ_B)² ⟨S_z²⟩ with the high-temperature moment ⟨S_z²⟩ = S(S+1)/3 gives the Curie constant C = μ₀ n g² μ_B² S(S+1)/(3 k_B). Equal weights on m = ±1/2 give 1/4 = S(S+1)/3 at S = 1/2. Mean field B_eff = B + λ M with θ = C λ/μ₀ gives χ = C/(T−θ). θ = 0 is C/T. A classical moment uses μ²/3. The second moment and the mean-field shift are hypotheses. Not an su(2) derivation";
731
993
  readonly coverage: "covers its statement only";
732
994
  readonly leanProof: "complete";
733
995
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
996
+ readonly nested: readonly [];
734
997
  }, {
735
998
  readonly key: "be-94";
736
999
  readonly bridgeId: "be-94";
1000
+ readonly kind: "bridge";
737
1001
  readonly theorem: "PhysJS.PauliParamagnetism.pauli";
738
- readonly covers: "derivation-step: the Zeeman imbalance M = μ_B² g(E_F) B is a hypothesis, and χ_P = μ₀ M/B is μ₀ μ_B² g(E_F). PhysJS.FermiSea.dos_factor supplies g(E_F) = (3/2) n/E_F, so χ_P = μ₀ μ_B² (3 n)/(2 E_F). A flat density leaves the factor 1. Not Landau diamagnetism";
1002
+ readonly file: "PauliParamagnetism.lean";
1003
+ readonly covers: "the Zeeman imbalance M = μ_B² g(E_F) B is a hypothesis, and χ_P = μ₀ M/B is μ₀ μ_B² g(E_F). PhysJS.FermiSea.dos_factor supplies g(E_F) = (3/2) n/E_F, so χ_P = μ₀ μ_B² (3 n)/(2 E_F). A flat density leaves the factor 1. Not Landau diamagnetism";
739
1004
  readonly coverage: "covers its statement only";
740
1005
  readonly leanProof: "complete";
741
1006
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1007
+ readonly nested: readonly [];
742
1008
  }, {
743
1009
  readonly key: "be-95";
744
1010
  readonly bridgeId: "be-95";
1011
+ readonly kind: "bridge";
745
1012
  readonly theorem: "PhysJS.GinzburgLandau.type_boundary";
746
- readonly covers: "derivation-step: in the normalization with gradient coefficient 1/κ², quartic (1/2)(1−f²)², and field B², the density at κ² = 1/2 is (√2 f' − a f)² + (B + (1−f²)/√2)² minus √2 times the derivative of a(1−f²). Vanishing squares and equal endpoints make that wall integral zero. A trial profile with that critical integral has energy (1/κ² − 2) times the gradient integral: negative when κ > 1/√2, zero at κ = 1/√2, and positive when κ < 1/√2. The positive side is this trial, not every minimizer. The GL density and the profile are hypotheses";
1013
+ readonly file: "GinzburgLandau.lean";
1014
+ readonly covers: "in the normalization with gradient coefficient 1/κ², quartic (1/2)(1−f²)², and field B², the density at κ² = 1/2 is (√2 f' − a f)² + (B + (1−f²)/√2)² minus √2 times the derivative of a(1−f²). Vanishing squares and equal endpoints make that wall integral zero. A trial profile with that critical integral has energy (1/κ² − 2) times the gradient integral: negative when κ > 1/√2, zero at κ = 1/√2, and positive when κ < 1/√2. The positive side is this trial, not every minimizer. The GL density and the profile are hypotheses";
747
1015
  readonly coverage: "covers its statement only";
748
1016
  readonly leanProof: "complete";
749
1017
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1018
+ readonly nested: readonly [];
750
1019
  }, {
751
1020
  readonly key: "be-96";
752
1021
  readonly bridgeId: "be-96";
1022
+ readonly kind: "bridge";
753
1023
  readonly theorem: "PhysJS.UpperCritical.critical_field";
754
- readonly covers: "derivation-step: the linearized GL instability sets the Landau-level ground energy ℏ q B/(2 m*) of charge q = 2e equal to |α| = ℏ²/(2 m* ξ²). That level is a hypothesis, not the spectrum of the covariant Laplacian. The field is B = ℏ/(2 e ξ²). With Φ₀ = h/(2e) and h = 2 π ℏ this is B_c2 = Φ₀/(2 π ξ²). Charge e instead of 2e is a different field";
1024
+ readonly file: "UpperCritical.lean";
1025
+ readonly covers: "the linearized GL instability sets the Landau-level ground energy ℏ q B/(2 m*) of charge q = 2e equal to |α| = ℏ²/(2 m* ξ²). That level is a hypothesis, not the spectrum of the covariant Laplacian. The field is B = ℏ/(2 e ξ²). With Φ₀ = h/(2e) and h = 2 π ℏ this is B_c2 = Φ₀/(2 π ξ²). Charge e instead of 2e is a different field";
755
1026
  readonly coverage: "covers its statement only";
756
1027
  readonly leanProof: "complete";
757
1028
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1029
+ readonly nested: readonly [];
758
1030
  }, {
759
1031
  readonly key: "be-97";
760
1032
  readonly bridgeId: "be-97";
1033
+ readonly kind: "bridge";
761
1034
  readonly theorem: "PhysJS.AmbegaokarBaratoff.ambegaokar_baratoff";
762
- readonly covers: "derivation-step: the chain rule along E = Δ cosh t pulls the coherence-factor integrand back to sech t for t > 0. ∫₀^T sech = arctan(sinh T), and the limit T → ∞ is π/2. The tunnel Hamiltonian at zero temperature and identical gaps is the hypothesis that e I_c R_n is Δ times that improper integral, so I_c R_n = π Δ/(2 e). A coefficient other than π/2 fails. Not the finite-temperature tanh factor";
1035
+ readonly file: "AmbegaokarBaratoff.lean";
1036
+ readonly covers: "the chain rule along E = Δ cosh t pulls the coherence-factor integrand back to sech t for t > 0. ∫₀^T sech = arctan(sinh T), and the limit T → ∞ is π/2. The tunnel Hamiltonian at zero temperature and identical gaps is the hypothesis that e I_c R_n is Δ times that improper integral, so I_c R_n = π Δ/(2 e). A coefficient other than π/2 fails. Not the finite-temperature tanh factor";
763
1037
  readonly coverage: "covers its statement only";
764
1038
  readonly leanProof: "complete";
765
1039
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1040
+ readonly nested: readonly [];
766
1041
  }, {
767
1042
  readonly key: "be-98";
768
1043
  readonly bridgeId: "be-98";
1044
+ readonly kind: "bridge";
769
1045
  readonly theorem: "PhysJS.BcsJump.heat_jump";
770
- readonly covers: "derivation-step: the weak-coupling excess free energy F = N(0) (T−T_c)/T_c · Δ² + 7 ζ N(0)/(16 π² T_c²) · Δ⁴ is a hypothesis, with k_B = 1. Its minimum is −α₀² (T−T_c)²/(4 β), and −T ∂²F/∂T² at T_c is ΔC = T_c α₀²/(2 β) = 8 π² N(0) T_c/(7 ζ). The normal heat capacity C_n = (2 π²/3) N(0) T_c is the both-spin Sommerfeld value, a hypothesis. The ratio is 12/(7 ζ). ζ is the quartic coefficient, not a series evaluation. One spin in C_n misses the ratio. Not 2π exp(−γ)";
1046
+ readonly file: "BcsJump.lean";
1047
+ readonly covers: "the weak-coupling excess free energy F = N(0) (T−T_c)/T_c · Δ² + 7 ζ N(0)/(16 π² T_c²) · Δ⁴ is a hypothesis, with k_B = 1. Its minimum is −α₀² (T−T_c)²/(4 β), and −T ∂²F/∂T² at T_c is ΔC = T_c α₀²/(2 β) = 8 π² N(0) T_c/(7 ζ). The normal heat capacity C_n = (2 π²/3) N(0) T_c is the both-spin Sommerfeld value, a hypothesis. The ratio is 12/(7 ζ). ζ is the quartic coefficient, not a series evaluation. One spin in C_n misses the ratio. Not 2π exp(−γ)";
771
1048
  readonly coverage: "covers its statement only";
772
1049
  readonly leanProof: "complete";
773
1050
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1051
+ readonly nested: readonly [];
774
1052
  }, {
775
1053
  readonly key: "be-99";
776
1054
  readonly bridgeId: "be-99";
1055
+ readonly kind: "bridge";
777
1056
  readonly theorem: "PhysJS.MassAction.mass_action";
778
- readonly covers: "derivation-step: the Boltzmann tails n = N_c exp(−(E_c−μ)/(k_B T)) and p = N_v exp(−(μ−E_v)/(k_B T)), with E_g = E_c − E_v, multiply to N_c N_v exp(−E_g/(k_B T)). That product is the square of n_i = √(N_c N_v) exp(−E_g/(2 k_B T)). Dropping the 2 in the exponent is a different density. The tails are hypotheses. Not a Fermi–Dirac integral";
1057
+ readonly file: "MassAction.lean";
1058
+ readonly covers: "the Boltzmann tails n = N_c exp(−(E_c−μ)/(k_B T)) and p = N_v exp(−(μ−E_v)/(k_B T)), with E_g = E_c − E_v, multiply to N_c N_v exp(−E_g/(k_B T)). That product is the square of n_i = √(N_c N_v) exp(−E_g/(2 k_B T)). Dropping the 2 in the exponent is a different density. The tails are hypotheses. Not a Fermi–Dirac integral";
779
1059
  readonly coverage: "covers its statement only";
780
1060
  readonly leanProof: "complete";
781
1061
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1062
+ readonly nested: readonly [];
782
1063
  }, {
783
1064
  readonly key: "be-100";
784
1065
  readonly bridgeId: "be-100";
1066
+ readonly kind: "bridge";
785
1067
  readonly theorem: "PhysJS.LyddaneSachsTeller.lst";
786
- readonly covers: "derivation-step: the undamped oscillator ε(ω) = ε(∞) + S/(ω_TO² − ω²) has a zero at ω_LO, which fixes S, and ε(0) is the same function at zero frequency. The ratio is ω_LO²/ω_TO² = ε(0)/ε(∞). The unsquared frequency ratio fails when ω_LO ≠ ω_TO. No damping is a hypothesis";
1068
+ readonly file: "LyddaneSachsTeller.lean";
1069
+ readonly covers: "the undamped oscillator ε(ω) = ε(∞) + S/(ω_TO² − ω²) has a zero at ω_LO, which fixes S, and ε(0) is the same function at zero frequency. The ratio is ω_LO²/ω_TO² = ε(0)/ε(∞). The unsquared frequency ratio fails when ω_LO ≠ ω_TO. No damping is a hypothesis";
787
1070
  readonly coverage: "covers its statement only";
788
1071
  readonly leanProof: "complete";
789
1072
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1073
+ readonly nested: readonly [];
790
1074
  }, {
791
1075
  readonly key: "be-101";
792
1076
  readonly bridgeId: "be-101";
1077
+ readonly kind: "bridge";
793
1078
  readonly theorem: "PhysJS.BktJump.bkt_jump";
794
- readonly covers: "derivation-step: the phase gradient of a θ = φ vortex integrates to π J ln(R/a) between the core and radius R. The entropy hypothesis is the area of core positions, S = k_B ln((R/a)²) = 2 k_B ln(R/a). The free energy E − T S vanishes at a radius past the core only when k_B T = π J/2. Circumference entropy unbinds at π J. J is the stiffness in the vortex energy. Not the renormalization-group flow";
1079
+ readonly file: "BktJump.lean";
1080
+ readonly covers: "the phase gradient of a θ = φ vortex integrates to π J ln(R/a) between the core and radius R. The entropy hypothesis is the area of core positions, S = k_B ln((R/a)²) = 2 k_B ln(R/a). The free energy E − T S vanishes at a radius past the core only when k_B T = π J/2. Circumference entropy unbinds at π J. J is the stiffness in the vortex energy. Not the renormalization-group flow";
795
1081
  readonly coverage: "covers its statement only";
796
1082
  readonly leanProof: "complete";
797
1083
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1084
+ readonly nested: readonly [];
798
1085
  }, {
799
1086
  readonly key: "be-102";
800
1087
  readonly bridgeId: "be-102";
1088
+ readonly kind: "bridge";
801
1089
  readonly theorem: "PhysJS.LandauerConductance.conductance_eq";
802
- readonly covers: "derivation-step: a one-dimensional mode of speed v in a length L has density of states L/(h v) per spin, and the flux times v/L cancels to 1/h. Current is spin · e · (Σ T_n) · (1/h) · Δμ with spin = 2 and Δμ = e V, so G = (2 e²/h) Σ T_n. One spin is e²/h. The transmissions and the bias window are hypotheses. Not the Hall conductance and not Landauer erasure";
1090
+ readonly file: "LandauerConductance.lean";
1091
+ readonly covers: "a one-dimensional mode of speed v in a length L has density of states L/(h v) per spin, and the flux times v/L cancels to 1/h. Current is spin · e · (Σ T_n) · (1/h) · Δμ with spin = 2 and Δμ = e V, so G = (2 e²/h) Σ T_n. One spin is e²/h. The transmissions and the bias window are hypotheses. Not the Hall conductance and not Landauer erasure";
803
1092
  readonly coverage: "covers its statement only";
804
1093
  readonly leanProof: "complete";
805
1094
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1095
+ readonly nested: readonly [];
806
1096
  }, {
807
1097
  readonly key: "be-103";
808
1098
  readonly bridgeId: "be-103";
1099
+ readonly kind: "bridge";
809
1100
  readonly theorem: "PhysJS.BohmSheath.cold_bohm_threshold";
810
- readonly covers: "derivation-step: cold ions, with n_i(φ) = n0 / sqrt(1 − 2 e φ/(m u0²)) and Boltzmann electrons, have edge slopes whose ratio is at least 1 only when u0² ≥ k_B T_e / m_i. The sound-speed root is the non-negative one. γ_i = 3, from p ∝ n³, is the nested warmSound object and is not γ_i = 5/3. Not a kinetic sheath";
1101
+ readonly file: "BohmSheath.lean";
1102
+ readonly covers: "cold ions, with n_i(φ) = n0 / sqrt(1 − 2 e φ/(m u0²)) and Boltzmann electrons, have edge slopes whose ratio is at least 1 only when u0² ≥ k_B T_e / m_i. The sound-speed root is the non-negative one. γ_i = 3, from p ∝ n³, is the nested warmSound object and is not γ_i = 5/3. Not a kinetic sheath";
811
1103
  readonly coverage: "covers its statement only";
812
1104
  readonly leanProof: "complete";
813
1105
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
814
- readonly warmSound: {
1106
+ readonly nested: readonly [{
1107
+ readonly name: "warmSound";
1108
+ readonly kind: "derivation-step";
815
1109
  readonly theorem: "PhysJS.BohmSheath.warm_sound_eq";
816
- readonly covers: "derivation-step: isothermal electrons and p ∝ n³ give c_s² = (k_B T_e + 3 k_B T_i)/m_i. γ_i = 5/3 is not that one-dimensional closure";
1110
+ readonly file: "BohmSheath.lean";
1111
+ readonly covers: "isothermal electrons and p ∝ n³ give c_s² = (k_B T_e + 3 k_B T_i)/m_i. γ_i = 5/3 is not that one-dimensional closure";
817
1112
  readonly coverage: "covers its statement only";
818
1113
  readonly leanProof: "complete";
819
1114
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
820
- };
1115
+ }];
821
1116
  }, {
822
1117
  readonly key: "be-104";
823
1118
  readonly bridgeId: "be-104";
1119
+ readonly kind: "bridge";
824
1120
  readonly theorem: "PhysJS.IonAcoustic.dispersion_eq";
825
- readonly covers: "derivation-step: cold ions, continuity, ion momentum, and Poisson with Boltzmann electrons inside Poisson give ω² = k² c_s² / (1 + k² λ_De²), with c_s² = k_B T_e / m_i and λ_De² = ε0 k_B T_e / (n0 e²), for k ≠ 0. Warm ions and a kinetic dispersion are not this row";
1121
+ readonly file: "IonAcoustic.lean";
1122
+ readonly covers: "cold ions, continuity, ion momentum, and Poisson with Boltzmann electrons inside Poisson give ω² = k² c_s² / (1 + k² λ_De²), with c_s² = k_B T_e / m_i and λ_De² = ε0 k_B T_e / (n0 e²), for k ≠ 0. Warm ions and a kinetic dispersion are not this row";
826
1123
  readonly coverage: "covers its statement only";
827
1124
  readonly leanProof: "complete";
828
1125
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1126
+ readonly nested: readonly [];
829
1127
  }, {
830
1128
  readonly key: "be-105";
831
1129
  readonly bridgeId: "be-105";
1130
+ readonly kind: "bridge";
832
1131
  readonly theorem: "PhysJS.UpperHybrid.upper_hybrid_eq";
833
- readonly covers: "derivation-step: cold electrons, B along z, and the ansatz Ex = E0 cos(ω t), vx = vx0 sin(ω t), vy = vy0 cos(ω t), with charge −e and ∂Ex/∂t = n e vx / ε0, give ω² = n e²/(ε0 m) + (e B/m)². Not a cyclotron monomial and not ω_pe alone";
1132
+ readonly file: "UpperHybrid.lean";
1133
+ readonly covers: "cold electrons, B along z, and the ansatz Ex = E0 cos(ω t), vx = vx0 sin(ω t), vy = vy0 cos(ω t), with charge −e and ∂Ex/∂t = n e vx / ε0, give ω² = n e²/(ε0 m) + (e B/m)². Not a cyclotron monomial and not ω_pe alone";
834
1134
  readonly coverage: "covers its statement only";
835
1135
  readonly leanProof: "complete";
836
1136
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1137
+ readonly nested: readonly [];
837
1138
  }, {
838
1139
  readonly key: "be-106";
839
1140
  readonly bridgeId: "be-106";
1141
+ readonly kind: "bridge";
840
1142
  readonly theorem: "PhysJS.ColdPlasmaCutoff.cutoff_R";
841
- readonly covers: "derivation-step: the cold Stix index n_R² = 1 − ω_p²/(ω(ω − ω_c)) is a hypothesis. Vanishing n is ω(ω − ω_c) = ω_p². For ω_c ≥ 0 the nonnegative root is ω_R = (ω_c + sqrt(ω_c² + 4 ω_p²))/2. The L root and the whistler limit are nested. The Stix dielectric is not re-derived";
1143
+ readonly file: "ColdPlasmaCutoff.lean";
1144
+ readonly covers: "the cold Stix index n_R² = 1 − ω_p²/(ω(ω − ω_c)) is a hypothesis. Vanishing n is ω(ω − ω_c) = ω_p². For ω_c ≥ 0 the nonnegative root is ω_R = (ω_c + sqrt(ω_c² + 4 ω_p²))/2. The L root and the whistler limit are nested. The Stix dielectric is not re-derived";
842
1145
  readonly coverage: "covers its statement only";
843
1146
  readonly leanProof: "complete";
844
1147
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
845
- readonly cutoffL: {
1148
+ readonly nested: readonly [{
1149
+ readonly name: "cutoffL";
1150
+ readonly kind: "derivation-step";
846
1151
  readonly theorem: "PhysJS.ColdPlasmaCutoff.cutoff_L";
847
- readonly covers: "derivation-step: n_L² = 1 − ω_p²/(ω(ω + ω_c)) is a hypothesis. For ω_c ≥ 0 the nonnegative root of ω(ω + ω_c) = ω_p² is ω_L = (−ω_c + sqrt(ω_c² + 4 ω_p²))/2";
1152
+ readonly file: "ColdPlasmaCutoff.lean";
1153
+ readonly covers: "n_L² = 1 − ω_p²/(ω(ω + ω_c)) is a hypothesis. For ω_c ≥ 0 the nonnegative root of ω(ω + ω_c) = ω_p² is ω_L = (−ω_c + sqrt(ω_c² + 4 ω_p²))/2";
848
1154
  readonly coverage: "covers its statement only";
849
1155
  readonly leanProof: "complete";
850
1156
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
851
- };
852
- readonly whistlerLimit: {
1157
+ }, {
1158
+ readonly name: "whistlerLimit";
1159
+ readonly kind: "derivation-step";
853
1160
  readonly theorem: "PhysJS.ColdPlasmaCutoff.whistler_limit";
854
- readonly covers: "derivation-step: dropping the leading 1 and replacing ω_c − ω by ω_c are hypotheses, leaving n² = ω_p²/(ω ω_c). With n = c k/ω and d_e = c/ω_p this is ω = ω_c (k d_e)²";
1161
+ readonly file: "ColdPlasmaCutoff.lean";
1162
+ readonly covers: "dropping the leading 1 and replacing ω_c − ω by ω_c are hypotheses, leaving n² = ω_p²/(ω ω_c). With n = c k/ω and d_e = c/ω_p this is ω = ω_c (k d_e)²";
855
1163
  readonly coverage: "covers its statement only";
856
1164
  readonly leanProof: "complete";
857
1165
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
858
- };
1166
+ }];
859
1167
  }, {
860
1168
  readonly key: "be-107";
861
1169
  readonly bridgeId: "be-107";
1170
+ readonly kind: "bridge";
862
1171
  readonly theorem: "PhysJS.LowerHybrid.lower_hybrid_eq";
863
- readonly covers: "derivation-step: cold singly charged fluids satisfy ω_pe²/ω_ce² = ω_pi²/(ω_ci ω_ce). The ordered balance 1 + ω_pi²/(ω_ci ω_ce) = ω_pi²/ω² is a hypothesis and gives ω² = 1/(1/ω_pi² + 1/(ω_ci ω_ce)). Dropping the leading 1 is a separate hypothesis and leaves ω² = ω_ci ω_ce. Not a cyclotron monomial";
1172
+ readonly file: "LowerHybrid.lean";
1173
+ readonly covers: "cold singly charged fluids satisfy ω_pe²/ω_ce² = ω_pi²/(ω_ci ω_ce). The ordered balance 1 + ω_pi²/(ω_ci ω_ce) = ω_pi²/ω² is a hypothesis and gives ω² = 1/(1/ω_pi² + 1/(ω_ci ω_ce)). Dropping the leading 1 is a separate hypothesis and leaves ω² = ω_ci ω_ce. Not a cyclotron monomial";
864
1174
  readonly coverage: "covers its statement only";
865
1175
  readonly leanProof: "complete";
866
1176
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1177
+ readonly nested: readonly [];
867
1178
  }, {
868
1179
  readonly key: "be-108";
869
1180
  readonly bridgeId: "be-108";
1181
+ readonly kind: "bridge";
870
1182
  readonly theorem: "PhysJS.ObliqueMagnetosonic.phase_speed_eq";
871
- readonly covers: "derivation-step: the be-69 quartic with k_∥ = k cos θ is a hypothesis. The phase-speed squares are ½[c_s² + v_A² ± sqrt((c_s² + v_A²)² − 4 c_s² v_A² cos²θ)] for c_s², v_A² ≥ 0. At θ = π/2 the fast root is c_s² + v_A² and the slow root is 0, the perpendicular values and not a second proof of that polarization. At θ = 0 the roots are the larger and smaller of c_s² and v_A²";
1183
+ readonly file: "ObliqueMagnetosonic.lean";
1184
+ readonly covers: "the be-69 quartic with k_∥ = k cos θ is a hypothesis. The phase-speed squares are ½[c_s² + v_A² ± sqrt((c_s² + v_A²)² − 4 c_s² v_A² cos²θ)] for c_s², v_A² ≥ 0. At θ = π/2 the fast root is c_s² + v_A² and the slow root is 0, the perpendicular values and not a second proof of that polarization. At θ = 0 the roots are the larger and smaller of c_s² and v_A²";
872
1185
  readonly coverage: "covers its statement only";
873
1186
  readonly leanProof: "complete";
874
1187
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1188
+ readonly nested: readonly [];
875
1189
  }, {
876
1190
  readonly key: "be-109";
877
1191
  readonly bridgeId: "be-109";
1192
+ readonly kind: "bridge";
878
1193
  readonly theorem: "PhysJS.BennettPinch.bennett_eq";
879
- readonly covers: "derivation-step: a steady z-pinch with B = μ0 I/(2 π r), dI/dr = 2 π r j, and dp/dr = −j B cancels off the axis in d/dr[π r² p + μ0 I²/(8 π)]. Differentiability through the axis is a hypothesis. With I(0) = 0 and p(R) = 0 the fundamental theorem gives μ0 I(R)²/(8 π) = ∫₀^R 2 π r p dr. Equal temperatures are the nested equalTemperature object. The single-population current uses ∫ p dA = N k_B T and is not that hydrogenic current";
1194
+ readonly file: "BennettPinch.lean";
1195
+ readonly covers: "a steady z-pinch with B = μ0 I/(2 π r), dI/dr = 2 π r j, and dp/dr = −j B cancels off the axis in d/dr[π r² p + μ0 I²/(8 π)]. Differentiability through the axis is a hypothesis. With I(0) = 0 and p(R) = 0 the fundamental theorem gives μ0 I(R)²/(8 π) = ∫₀^R 2 π r p dr. Equal temperatures are the nested equalTemperature object. The single-population current uses ∫ p dA = N k_B T and is not that hydrogenic current";
880
1196
  readonly coverage: "covers its statement only";
881
1197
  readonly leanProof: "complete";
882
1198
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
883
- readonly equalTemperature: {
1199
+ readonly nested: readonly [{
1200
+ readonly name: "equalTemperature";
1201
+ readonly kind: "derivation-step";
884
1202
  readonly theorem: "PhysJS.BennettPinch.equal_temperature_current";
885
- readonly covers: "derivation-step: N_e = N_i = N and T_e = T_i = T read the Bennett integral as 2 N k_B T, so I = sqrt(16 π N k_B T / μ0) for I ≥ 0. The factor 8 is the single-population current";
1203
+ readonly file: "BennettPinch.lean";
1204
+ readonly covers: "N_e = N_i = N and T_e = T_i = T read the Bennett integral as 2 N k_B T, so I = sqrt(16 π N k_B T / μ0) for I ≥ 0. The factor 8 is the single-population current";
886
1205
  readonly coverage: "covers its statement only";
887
1206
  readonly leanProof: "complete";
888
1207
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
889
- };
1208
+ }];
890
1209
  }, {
891
1210
  readonly key: "be-110";
892
1211
  readonly bridgeId: "be-110";
1212
+ readonly kind: "bridge";
893
1213
  readonly theorem: "PhysJS.LossCone.loss_cone_eq";
894
- readonly covers: "derivation-step: μ = m v_⊥²/(2 B) and the kinetic energy are constant along a field line. Parallel speed vanishes at the mirror, so sin² θ_lc = B0/Bm = 1/R_m with R_m = Bm/B0. Pitch-angle scattering is not this statement";
1214
+ readonly file: "LossCone.lean";
1215
+ readonly covers: "μ = m v_⊥²/(2 B) and the kinetic energy are constant along a field line. Parallel speed vanishes at the mirror, so sin² θ_lc = B0/Bm = 1/R_m with R_m = Bm/B0. Pitch-angle scattering is not this statement";
895
1216
  readonly coverage: "covers its statement only";
896
1217
  readonly leanProof: "complete";
897
1218
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1219
+ readonly nested: readonly [];
898
1220
  }, {
899
1221
  readonly key: "be-111";
900
1222
  readonly bridgeId: "be-111";
1223
+ readonly kind: "bridge";
901
1224
  readonly theorem: "PhysJS.GradBDrift.drift_magnitude";
902
- readonly covers: "derivation-step: μ = m v_⊥²/(2 B) and the grad-B speed μ |∇B|/(q B) give m v_⊥² |∇B|/(2 q B²). Vacuum low-β curvature uses κ = |∇B|/B, so the curvature speed is m v_∥² |∇B|/(q B²) and the sum is m (v_∥² + v_⊥²/2) |∇B|/(q B²). High-β curvature, where κ ≠ |∇B|/B, is a different vector for m ≠ 0. q is the signed charge";
1225
+ readonly file: "GradBDrift.lean";
1226
+ readonly covers: "μ = m v_⊥²/(2 B) and the grad-B speed μ |∇B|/(q B) give m v_⊥² |∇B|/(2 q B²). Vacuum low-β curvature uses κ = |∇B|/B, so the curvature speed is m v_∥² |∇B|/(q B²) and the sum is m (v_∥² + v_⊥²/2) |∇B|/(q B²). High-β curvature, where κ ≠ |∇B|/B, is a different vector for m ≠ 0. q is the signed charge";
903
1227
  readonly coverage: "covers its statement only";
904
1228
  readonly leanProof: "complete";
905
1229
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1230
+ readonly nested: readonly [];
906
1231
  }, {
907
1232
  readonly key: "be-112";
908
1233
  readonly bridgeId: "be-112";
1234
+ readonly kind: "bridge";
909
1235
  readonly theorem: "PhysJS.ExBDrift.drift_eq";
910
- readonly covers: "derivation-step: steady q E + q v × B = 0 with B along z gives v_x = E_y/B and v_y = −E_x/B for q ≠ 0 and B ≠ 0. The opposite charge has the same solution. Not a finite-Larmor-radius drift";
1236
+ readonly file: "ExBDrift.lean";
1237
+ readonly covers: "steady q E + q v × B = 0 with B along z gives v_x = E_y/B and v_y = −E_x/B for q ≠ 0 and B ≠ 0. The opposite charge has the same solution. Not a finite-Larmor-radius drift";
911
1238
  readonly coverage: "covers its statement only";
912
1239
  readonly leanProof: "complete";
913
1240
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1241
+ readonly nested: readonly [];
914
1242
  }, {
915
1243
  readonly key: "be-113";
916
1244
  readonly bridgeId: "be-113";
1245
+ readonly kind: "bridge";
917
1246
  readonly theorem: "PhysJS.LandauDamping.damping_eq";
918
- readonly covers: "derivation-step: the Maxwellian f = n/(v_t sqrt(2π)) exp(−v²/(2 v_t²)) has slope −(v/v_t²) f. The residue formula γ = (π ω³/(2 n k²)) (∂f/∂v)|_{ω/k} is a hypothesis, not a contour integral, and gives γ = −sqrt(π/8) ω (ω/(k v_t))³ exp(−ω²/(2 k² v_t²)). Bohm–Gross is the nested bohmGross object and does not replace ω by ω_p in this prefactor";
1247
+ readonly file: "LandauDamping.lean";
1248
+ readonly covers: "the Maxwellian f = n/(v_t sqrt(2π)) exp(−v²/(2 v_t²)) has slope −(v/v_t²) f. The residue formula γ = (π ω³/(2 n k²)) (∂f/∂v)|_{ω/k} is a hypothesis, not a contour integral, and gives γ = −sqrt(π/8) ω (ω/(k v_t))³ exp(−ω²/(2 k² v_t²)). Bohm–Gross is the nested bohmGross object and does not replace ω by ω_p in this prefactor";
919
1249
  readonly coverage: "covers its statement only";
920
1250
  readonly leanProof: "complete";
921
1251
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
922
- readonly bohmGross: {
1252
+ readonly nested: readonly [{
1253
+ readonly name: "bohmGross";
1254
+ readonly kind: "derivation-step";
923
1255
  readonly theorem: "PhysJS.LandauDamping.bohm_gross_exponent";
924
- readonly covers: "derivation-step: ω² = ω_p² (1 + 3 k² λ_D²) and λ_D² = v_t²/ω_p² give ω²/(2 k² v_t²) = 3/2 + 1/(2 k² λ_D²). This does not set ω = ω_p";
1256
+ readonly file: "LandauDamping.lean";
1257
+ readonly covers: "ω² = ω_p² (1 + 3 k² λ_D²) and λ_D² = v_t²/ω_p² give ω²/(2 k² v_t²) = 3/2 + 1/(2 k² λ_D²). This does not set ω = ω_p";
925
1258
  readonly coverage: "covers its statement only";
926
1259
  readonly leanProof: "complete";
927
1260
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
928
- };
1261
+ }];
929
1262
  }, {
930
1263
  readonly key: "be-114";
931
1264
  readonly bridgeId: "be-114";
1265
+ readonly kind: "bridge";
932
1266
  readonly theorem: "PhysJS.DebyeSphere.coulomb_argument";
933
- readonly covers: "derivation-step: N_D = (4π/3) n λ_D³. The Rutherford b_90 = e²/(4π ε0 μ v_rel²), at (1/2) μ v_rel² = (3/2) k_B T, is e²/(12 π ε0 k_B T). Then Λ = λ_D/b_90 = 12 π n λ_D³ = 9 N_D. The one-species Debye length is an input. The angular integral and ln Λ are not evaluated";
1267
+ readonly file: "DebyeSphere.lean";
1268
+ readonly covers: "N_D = (4π/3) n λ_D³. The Rutherford b_90 = e²/(4π ε0 μ v_rel²), at (1/2) μ v_rel² = (3/2) k_B T, is e²/(12 π ε0 k_B T). Then Λ = λ_D/b_90 = 12 π n λ_D³ = 9 N_D. The one-species Debye length is an input. The angular integral and ln Λ are not evaluated";
934
1269
  readonly coverage: "covers its statement only";
935
1270
  readonly leanProof: "complete";
936
1271
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1272
+ readonly nested: readonly [];
937
1273
  }, {
938
1274
  readonly key: "be-115";
939
1275
  readonly bridgeId: "be-115";
1276
+ readonly kind: "bridge";
940
1277
  readonly theorem: "PhysJS.MultiDebye.debye_two";
941
- readonly covers: "derivation-step: two linearized Boltzmann responses and Poisson give 1/λ_D² = 1/λ₁² + 1/λ₂², with λ_s² = ε0 k_B T_s/(n_s q_s²). Dropping a responding species leaves a different length. The one-species length is not restated";
1278
+ readonly file: "MultiDebye.lean";
1279
+ readonly covers: "two linearized Boltzmann responses and Poisson give 1/λ_D² = 1/λ₁² + 1/λ₂², with λ_s² = ε0 k_B T_s/(n_s q_s²). Dropping a responding species leaves a different length. The one-species length is not restated";
942
1280
  readonly coverage: "covers its statement only";
943
1281
  readonly leanProof: "complete";
944
1282
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1283
+ readonly nested: readonly [];
945
1284
  }, {
946
1285
  readonly key: "be-116";
947
1286
  readonly bridgeId: "be-116";
1287
+ readonly kind: "bridge";
948
1288
  readonly theorem: "PhysJS.LorentzResistivity.resistivity_eq";
949
- readonly covers: "derivation-step: σ_tr = 4π b0² ln Λ is a hypothesis, with b0 = Z e²/(4π ε0 m v²). At v_T² = 2 k_B T/m, ν(v_T) = n_i Z² e⁴ ln Λ √2 / (16 π ε0² √m (k_B T √(k_B T))). The conductivity moment σ = (8/√π) n_e e²/(m ν(v_T)) is a hypothesis, not the Gaussian integral. With n_e = Z n_i it gives η = (π √(2π)/8) Z e² √m ln Λ / ((4π ε0)² (k_B T √(k_B T))). The typed reference closure is nested. The Spitzer–Härm factor 0.51 is not this row";
1289
+ readonly file: "LorentzResistivity.lean";
1290
+ readonly covers: "σ_tr = 4π b0² ln Λ is a hypothesis, with b0 = Z e²/(4π ε0 m v²). At v_T² = 2 k_B T/m, ν(v_T) = n_i Z² e⁴ ln Λ √2 / (16 π ε0² √m (k_B T √(k_B T))). The conductivity moment σ = (8/√π) n_e e²/(m ν(v_T)) is a hypothesis, not the Gaussian integral. With n_e = Z n_i it gives η = (π √(2π)/8) Z e² √m ln Λ / ((4π ε0)² (k_B T √(k_B T))). The typed reference closure is nested. The Spitzer–Härm factor 0.51 is not this row";
950
1291
  readonly coverage: "covers its statement only";
951
1292
  readonly leanProof: "complete";
952
1293
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
953
- readonly referenceResistivity: {
1294
+ readonly nested: readonly [{
1295
+ readonly name: "referenceResistivity";
1296
+ readonly kind: "derivation-step";
954
1297
  readonly theorem: "PhysJS.LorentzResistivity.reference_resistivity";
955
- readonly covers: "derivation-step: the conventional link 1/τ_e = (4/(3 √π)) ν(v_T), not a derived moment, and η = m/(n_e e² τ) give η_ref = (4 √(2π)/3) times the same monomial. On one ν, η_ref = (32/(3π)) η_kin";
1298
+ readonly file: "LorentzResistivity.lean";
1299
+ readonly covers: "the conventional link 1/τ_e = (4/(3 √π)) ν(v_T), not a derived moment, and η = m/(n_e e² τ) give η_ref = (4 √(2π)/3) times the same monomial. On one ν, η_ref = (32/(3π)) η_kin";
956
1300
  readonly coverage: "covers its statement only";
957
1301
  readonly leanProof: "complete";
958
1302
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
959
- };
1303
+ }];
960
1304
  }, {
961
1305
  readonly key: "be-117";
962
1306
  readonly bridgeId: "be-117";
1307
+ readonly kind: "bridge";
963
1308
  readonly theorem: "PhysJS.ResistiveSlab.decay_time";
964
- readonly covers: "derivation-step: η_m = 1/(μ0 σ) and ∂B/∂t = η_m ∂²B/∂x² are hypotheses. The slab mode B0 sin(π x/L) exp(−t/τ) decays at τ = μ0 σ L²/π². A denominator 4π is not π². Rm and the Lundquist number are the nested lundquist object. Not the Reynolds analogy";
1309
+ readonly file: "ResistiveSlab.lean";
1310
+ readonly covers: "η_m = 1/(μ0 σ) and ∂B/∂t = η_m ∂²B/∂x² are hypotheses. The slab mode B0 sin(π x/L) exp(−t/τ) decays at τ = μ0 σ L²/π². A denominator 4π is not π². Rm and the Lundquist number are the nested lundquist object. Not the Reynolds analogy";
965
1311
  readonly coverage: "covers its statement only";
966
1312
  readonly leanProof: "complete";
967
1313
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
968
- readonly lundquist: {
1314
+ readonly nested: readonly [{
1315
+ readonly name: "lundquist";
1316
+ readonly kind: "derivation-step";
969
1317
  readonly theorem: "PhysJS.ResistiveSlab.lundquist_ratio";
970
- readonly covers: "derivation-step: Rm = μ0 σ v L and S = μ0 σ v_A L give S/Rm = v_A/v when v ≠ 0";
1318
+ readonly file: "ResistiveSlab.lean";
1319
+ readonly covers: "Rm = μ0 σ v L and S = μ0 σ v_A L give S/Rm = v_A/v when v ≠ 0";
971
1320
  readonly coverage: "covers its statement only";
972
1321
  readonly leanProof: "complete";
973
1322
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
974
- };
1323
+ }];
975
1324
  }, {
976
1325
  readonly key: "be-118";
977
1326
  readonly bridgeId: "be-118";
1327
+ readonly kind: "bridge";
978
1328
  readonly theorem: "PhysJS.ParkerCritical.critical_radius";
979
- readonly covers: "derivation-step: an isothermal spherical wind factors as (v − c_s²/v) dv = (2 c_s²/r − G M/r²) dr. The critical point is both factors vanishing: v² = c_s² and r_c = G M/(2 c_s²). The 2 is spherical divergence. A vanishing coefficient alone does not force the geometric side to vanish";
1329
+ readonly file: "ParkerCritical.lean";
1330
+ readonly covers: "an isothermal spherical wind factors as (v − c_s²/v) dv = (2 c_s²/r − G M/r²) dr. The critical point is both factors vanishing: v² = c_s² and r_c = G M/(2 c_s²). The 2 is spherical divergence. A vanishing coefficient alone does not force the geometric side to vanish";
980
1331
  readonly coverage: "covers its statement only";
981
1332
  readonly leanProof: "complete";
982
1333
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1334
+ readonly nested: readonly [];
983
1335
  }, {
984
1336
  readonly key: "be-119";
985
1337
  readonly bridgeId: "be-119";
1338
+ readonly kind: "bridge";
986
1339
  readonly theorem: "PhysJS.ParkerSpiral.spiral_ratio";
987
- readonly covers: "derivation-step: B_φ/B_r = r sinθ dφ/dr and the frozen-in angle dφ/dr = −Ω/v_r give B_φ/B_r = −Ω r sinθ/v_r. sinθ is a real parameter. Dropping the sign is a different spiral";
1340
+ readonly file: "ParkerSpiral.lean";
1341
+ readonly covers: "B_φ/B_r = r sinθ dφ/dr and the frozen-in angle dφ/dr = −Ω/v_r give B_φ/B_r = −Ω r sinθ/v_r. sinθ is a real parameter. Dropping the sign is a different spiral";
988
1342
  readonly coverage: "covers its statement only";
989
1343
  readonly leanProof: "complete";
990
1344
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1345
+ readonly nested: readonly [];
991
1346
  }, {
992
1347
  readonly key: "be-120";
993
1348
  readonly bridgeId: "be-120";
1349
+ readonly kind: "bridge";
994
1350
  readonly theorem: "PhysJS.ChapmanFerraro.standoff_eq";
995
- readonly covers: "derivation-step: a doubled dipole B_mp = 2 B_E (R_E/r)³ is a hypothesis. Ram balance ρ v² = B_mp²/(2 μ0) at K = 1 gives (R/R_E)⁶ = 2 B_E²/(μ0 ρ v²). Specular 2 ρ v² replaces the numerator 2 by 1. Magnetic pressure is an input, not a proof of be-74";
1351
+ readonly file: "ChapmanFerraro.lean";
1352
+ readonly covers: "a doubled dipole B_mp = 2 B_E (R_E/r)³ is a hypothesis. Ram balance ρ v² = B_mp²/(2 μ0) at K = 1 gives (R/R_E)⁶ = 2 B_E²/(μ0 ρ v²). Specular 2 ρ v² replaces the numerator 2 by 1. Magnetic pressure is an input, not a proof of be-74";
996
1353
  readonly coverage: "covers its statement only";
997
1354
  readonly leanProof: "complete";
998
1355
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1356
+ readonly nested: readonly [];
999
1357
  }, {
1000
1358
  readonly key: "be-121";
1001
1359
  readonly bridgeId: "be-121";
1360
+ readonly kind: "bridge";
1002
1361
  readonly theorem: "PhysJS.LawsonBreakeven.breakeven_eq";
1003
- readonly covers: "derivation-step: a 50–50 Maxwellian DT mix, with bremsstrahlung neglected, has fusion power (n² ⟨σv⟩/4) E and thermal power 3 n k_B T/τ. Breakeven gives n τ = 12 k_B T/(⟨σv⟩ E). The 12 is 4 × 3, not either factor alone. The Maxwellian average is not computed, and this is not an evaluated triple product";
1362
+ readonly file: "LawsonBreakeven.lean";
1363
+ readonly covers: "a 50–50 Maxwellian DT mix, with bremsstrahlung neglected, has fusion power (n² ⟨σv⟩/4) E and thermal power 3 n k_B T/τ. Breakeven gives n τ = 12 k_B T/(⟨σv⟩ E). The 12 is 4 × 3, not either factor alone. The Maxwellian average is not computed, and this is not an evaluated triple product";
1004
1364
  readonly coverage: "covers its statement only";
1005
1365
  readonly leanProof: "complete";
1006
1366
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1367
+ readonly nested: readonly [];
1007
1368
  }, {
1008
1369
  readonly key: "be-122";
1009
1370
  readonly bridgeId: "be-122";
1371
+ readonly kind: "bridge";
1010
1372
  readonly theorem: "PhysJS.LangmuirProbe.floating_potential";
1011
- readonly covers: "derivation-step: Γ_e = n0 exp(e Φ/(k_B T)) sqrt(k_B T/(2 π m_e)). Equating it to the Bohm ion flux gives e Φ/(k_B T) = (1/2) ln(2 π m_e/m_i) − 1/2. The ion flux is the nested bohmFlux object. Not Child–Langmuir";
1373
+ readonly file: "LangmuirProbe.lean";
1374
+ readonly covers: "Γ_e = n0 exp(e Φ/(k_B T)) sqrt(k_B T/(2 π m_e)). Equating it to the Bohm ion flux gives e Φ/(k_B T) = (1/2) ln(2 π m_e/m_i) − 1/2. The ion flux is the nested bohmFlux object. Not Child–Langmuir";
1012
1375
  readonly coverage: "covers its statement only";
1013
1376
  readonly leanProof: "complete";
1014
1377
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1015
- readonly bohmFlux: {
1378
+ readonly nested: readonly [{
1379
+ readonly name: "bohmFlux";
1380
+ readonly kind: "derivation-step";
1016
1381
  readonly theorem: "PhysJS.LangmuirProbe.bohm_flux";
1017
- readonly covers: "derivation-step: a presheath drop e Δφ = k_B T_e/2 multiplies the cold Bohm flux by exp(−1/2), so Γ_i = n0 exp(−1/2) sqrt(k_B T_e/m_i)";
1382
+ readonly file: "LangmuirProbe.lean";
1383
+ readonly covers: "a presheath drop e Δφ = k_B T_e/2 multiplies the cold Bohm flux by exp(−1/2), so Γ_i = n0 exp(−1/2) sqrt(k_B T_e/m_i)";
1018
1384
  readonly coverage: "covers its statement only";
1019
1385
  readonly leanProof: "complete";
1020
1386
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1021
- };
1387
+ }];
1022
1388
  }, {
1023
1389
  readonly key: "be-123";
1024
1390
  readonly bridgeId: "be-123";
1391
+ readonly kind: "bridge";
1025
1392
  readonly theorem: "PhysJS.CrossFieldDiffusion.diffusion_ratio";
1026
- readonly covers: "derivation-step: q E + q v × B − m v/τ = 0, with μ = q τ/m and α = μ B, solves to v_x = μ (E_x + α E_y)/(1+α²) and v_y = μ (E_y − α E_x)/(1+α²). Einstein's relation D = μ k_B T/q on μ and on μ/(1+α²), the same relation as be-70 and not re-proved here, gives D_⊥/D_∥ = 1/(1+ω_c² τ²) for E along x. The ratio is even in the sign of ω_c. Bohm's 1/16 equals this ratio only when α² = 15";
1393
+ readonly file: "CrossFieldDiffusion.lean";
1394
+ readonly covers: "q E + q v × B − m v/τ = 0, with μ = q τ/m and α = μ B, solves to v_x = μ (E_x + α E_y)/(1+α²) and v_y = μ (E_y − α E_x)/(1+α²). Einstein's relation D = μ k_B T/q on μ and on μ/(1+α²), the same relation as be-70 and not re-proved here, gives D_⊥/D_∥ = 1/(1+ω_c² τ²) for E along x. The ratio is even in the sign of ω_c. Bohm's 1/16 equals this ratio only when α² = 15";
1027
1395
  readonly coverage: "covers its statement only";
1028
1396
  readonly leanProof: "complete";
1029
1397
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1398
+ readonly nested: readonly [];
1030
1399
  }, {
1031
1400
  readonly key: "be-124";
1032
1401
  readonly bridgeId: "be-124";
1402
+ readonly kind: "bridge";
1033
1403
  readonly theorem: "PhysJS.Firehose.firehose_threshold";
1034
- readonly covers: "derivation-step: the CGL root ω² = (k_∥²/ρ) (B²/μ0 + p_⊥ − p_∥) is a hypothesis. It is negative iff p_∥ − p_⊥ > B²/μ0. With β = 2 μ0 p/B², the be-76 definition and not the solenoid hypotheses of beta_eq, the threshold is β_∥ − β_⊥ > 2. The CGL closure is not derived. be-76 does not prove this inequality";
1404
+ readonly file: "Firehose.lean";
1405
+ readonly covers: "the CGL root ω² = (k_∥²/ρ) (B²/μ0 + p_⊥ − p_∥) is a hypothesis. It is negative iff p_∥ − p_⊥ > B²/μ0. With β = 2 μ0 p/B², the be-76 definition and not the solenoid hypotheses of beta_eq, the threshold is β_∥ − β_⊥ > 2. The CGL closure is not derived. be-76 does not prove this inequality";
1035
1406
  readonly coverage: "covers its statement only";
1036
1407
  readonly leanProof: "complete";
1037
1408
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1409
+ readonly nested: readonly [];
1038
1410
  }, {
1039
1411
  readonly key: "be-125";
1040
1412
  readonly bridgeId: "be-125";
1413
+ readonly kind: "bridge";
1041
1414
  readonly theorem: "PhysJS.MirrorInstability.mirror_threshold";
1042
- readonly covers: "derivation-step: the mirror threshold β_⊥ (T_⊥/T_∥ − 1) > 1 is a hypothesis, equivalent to T_⊥/T_∥ − 1 > 1/β_⊥, with β = 2 μ0 p/B². A beta that omits the 2 replaces 1/β by 2/β. The temperature ratio is not the temperature difference. The kinetic integral is not evaluated. Not the loss cone and not a proof of be-76";
1415
+ readonly file: "MirrorInstability.lean";
1416
+ readonly covers: "the mirror threshold β_⊥ (T_⊥/T_∥ − 1) > 1 is a hypothesis, equivalent to T_⊥/T_∥ − 1 > 1/β_⊥, with β = 2 μ0 p/B². A beta that omits the 2 replaces 1/β by 2/β. The temperature ratio is not the temperature difference. The kinetic integral is not evaluated. Not the loss cone and not a proof of be-76";
1043
1417
  readonly coverage: "covers its statement only";
1044
1418
  readonly leanProof: "complete";
1045
1419
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1420
+ readonly nested: readonly [];
1046
1421
  }, {
1047
1422
  readonly key: "be-126";
1048
1423
  readonly bridgeId: "be-126";
1424
+ readonly kind: "bridge";
1049
1425
  readonly theorem: "PhysJS.CombDrive.force_eq";
1050
- readonly covers: "derivation-step: both sidewalls give C = 2 n ε h x / g. Voltage-controlled coenergy (1/2) C V² has lateral force (1/2) V² dC/dx, so the sidewall 2 and the coenergy 1/2 cancel and F = n ε h V² / g. One sidewall leaves the 1/2. Not the normal pull-in of be-79";
1426
+ readonly file: "CombDrive.lean";
1427
+ readonly covers: "both sidewalls give C = 2 n ε h x / g. Voltage-controlled coenergy (1/2) C V² has lateral force (1/2) V² dC/dx, so the sidewall 2 and the coenergy 1/2 cancel and F = n ε h V² / g. One sidewall leaves the 1/2. Not the normal pull-in of be-79";
1051
1428
  readonly coverage: "covers its statement only";
1052
1429
  readonly leanProof: "complete";
1053
1430
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1431
+ readonly nested: readonly [];
1054
1432
  }, {
1055
1433
  readonly key: "be-127";
1056
1434
  readonly bridgeId: "be-127";
1435
+ readonly kind: "bridge";
1057
1436
  readonly theorem: "PhysJS.SubthresholdSwing.swing_eq";
1058
- readonly covers: "derivation-step: ln(I2/I1) = e (ψ2 − ψ1)/(k_B T) and the capacitive divider ψ2 − ψ1 = C_ox/(C_ox + C_d) (Vg2 − Vg1). One decade, I2/I1 = 10, gives S = ln(10) (k_B T/e) (1 + C_d/C_ox). Dropping C_d is not the swing when C_d ≠ 0. Not the ideal diode of be-82";
1437
+ readonly file: "SubthresholdSwing.lean";
1438
+ readonly covers: "ln(I2/I1) = e (ψ2 − ψ1)/(k_B T) and the capacitive divider ψ2 − ψ1 = C_ox/(C_ox + C_d) (Vg2 − Vg1). One decade, I2/I1 = 10, gives S = ln(10) (k_B T/e) (1 + C_d/C_ox). Dropping C_d is not the swing when C_d ≠ 0. Not the ideal diode of be-82";
1059
1439
  readonly coverage: "covers its statement only";
1060
1440
  readonly leanProof: "complete";
1061
1441
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1442
+ readonly nested: readonly [];
1062
1443
  }, {
1063
1444
  readonly key: "be-128";
1064
1445
  readonly bridgeId: "be-128";
1446
+ readonly kind: "bridge";
1065
1447
  readonly theorem: "PhysJS.BoostConverter.boost_ratio";
1066
- readonly covers: "derivation-step: ideal continuous-conduction volt-second balance Vin D + (Vin − Vout)(1 − D) = 0 gives Vout/Vin = 1/(1 − D) for D ≠ 1. No real duty equals both this ratio and the buck ratio D";
1448
+ readonly file: "BoostConverter.lean";
1449
+ readonly covers: "ideal continuous-conduction volt-second balance Vin D + (Vin − Vout)(1 − D) = 0 gives Vout/Vin = 1/(1 − D) for D ≠ 1. No real duty equals both this ratio and the buck ratio D";
1067
1450
  readonly coverage: "covers its statement only";
1068
1451
  readonly leanProof: "complete";
1069
1452
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1453
+ readonly nested: readonly [];
1070
1454
  }, {
1071
1455
  readonly key: "be-129";
1072
1456
  readonly bridgeId: "be-129";
1457
+ readonly kind: "bridge";
1073
1458
  readonly theorem: "PhysJS.FinEfficiency.efficiency_eq";
1074
- readonly covers: "derivation-step: θ'' = m² θ, an adiabatic tip θ'(L) = 0, and θ(0) = θ_b give θ(x) = θ_b cosh(m(L − x))/cosh(m L). Base Fourier heat over h P L θ_b is η = tanh(m L)/(m L) when m² = h P/(k A). A rectangle with P/A = 2/t gives m = √(2 h/(k t)). One face is not that m. tanh is not 1, so this is not an infinite fin";
1459
+ readonly file: "FinEfficiency.lean";
1460
+ readonly covers: "θ'' = m² θ, an adiabatic tip θ'(L) = 0, and θ(0) = θ_b give θ(x) = θ_b cosh(m(L − x))/cosh(m L). Base Fourier heat over h P L θ_b is η = tanh(m L)/(m L) when m² = h P/(k A). A rectangle with P/A = 2/t gives m = √(2 h/(k t)). One face is not that m. tanh is not 1, so this is not an infinite fin";
1075
1461
  readonly coverage: "covers its statement only";
1076
1462
  readonly leanProof: "complete";
1077
1463
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1464
+ readonly nested: readonly [];
1078
1465
  }, {
1079
1466
  readonly key: "be-130";
1080
1467
  readonly bridgeId: "be-130";
1468
+ readonly kind: "bridge";
1081
1469
  readonly theorem: "PhysJS.ThermoelectricGenerator.efficiency_eq";
1082
- readonly covers: "derivation-step: hot-junction heat is Q = S Th I − I² R/2 − K ΔT with ΔT = Tc − Th, and load power is P = I (S (Th − Tc) − I R). The Joule 1/2 and the 2 in P' are derivatives. Stationarity P' Q = P Q' at I = S Δ/(R (1 + m)), with m = √(1 + Z Tm), Z = S²/(R K), Δ = Th − Tc, and Tm = (Th + Tc)/2, gives η = (1 − Tc/Th) (m − 1)/(m + Tc/Th). Matched load m = 1 is not stationary when Z Tm ≠ 0. The Carnot factor alone is not this efficiency";
1470
+ readonly file: "ThermoelectricGenerator.lean";
1471
+ readonly covers: "hot-junction heat is Q = S Th I − I² R/2 − K ΔT with ΔT = Tc − Th, and load power is P = I (S (Th − Tc) − I R). The Joule 1/2 and the 2 in P' are derivatives. Stationarity P' Q = P Q' at I = S Δ/(R (1 + m)), with m = √(1 + Z Tm), Z = S²/(R K), Δ = Th − Tc, and Tm = (Th + Tc)/2, gives η = (1 − Tc/Th) (m − 1)/(m + Tc/Th). Matched load m = 1 is not stationary when Z Tm ≠ 0. The Carnot factor alone is not this efficiency";
1083
1472
  readonly coverage: "covers its statement only";
1084
1473
  readonly leanProof: "complete";
1085
1474
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1475
+ readonly nested: readonly [];
1086
1476
  }, {
1087
1477
  readonly key: "be-131";
1088
1478
  readonly bridgeId: "be-131";
1479
+ readonly kind: "bridge";
1089
1480
  readonly theorem: "PhysJS.Joukowsky.joukowsky_eq";
1090
- readonly covers: "derivation-step: the momentum jump −c Δv + Δp/ρ = 0 is Δp = ρ c Δv. Fluid compressibility dρ/ρ = dp/K and thin-wall hoop strain dA/A = dp D/(E e_wall) give c = √(K/ρ) / √(1 + (K/E)(D/e_wall)). Mass on the same front is the separate statement c² = Δp/Δρ and is not required for the pressure jump. ρ (Δv)² is not ρ c Δv when c ≠ Δv. Dropping the wall term is the rigid-pipe speed";
1481
+ readonly file: "Joukowsky.lean";
1482
+ readonly covers: "the momentum jump −c Δv + Δp/ρ = 0 is Δp = ρ c Δv. Fluid compressibility dρ/ρ = dp/K and thin-wall hoop strain dA/A = dp D/(E e_wall) give c = √(K/ρ) / √(1 + (K/E)(D/e_wall)). Mass on the same front is the separate statement c² = Δp/Δρ and is not required for the pressure jump. ρ (Δv)² is not ρ c Δv when c ≠ Δv. Dropping the wall term is the rigid-pipe speed";
1091
1483
  readonly coverage: "covers its statement only";
1092
1484
  readonly leanProof: "complete";
1093
1485
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1486
+ readonly nested: readonly [];
1094
1487
  }, {
1095
1488
  readonly key: "be-132";
1096
1489
  readonly bridgeId: "be-132";
1490
+ readonly kind: "bridge";
1097
1491
  readonly theorem: "PhysJS.CoaxialCapacitance.capacitance_per_length";
1098
- readonly covers: "derivation-step: the coaxial field λ/(2 π ε r) integrates to ΔV = (λ/(2 π ε)) ln(b/a), so C' = λ/ΔV = 2 π ε / ln(b/a). Dropping 2 π is not this capacitance. Not a parallel-plate ε A/d";
1492
+ readonly file: "CoaxialCapacitance.lean";
1493
+ readonly covers: "the coaxial field λ/(2 π ε r) integrates to ΔV = (λ/(2 π ε)) ln(b/a), so C' = λ/ΔV = 2 π ε / ln(b/a). Dropping 2 π is not this capacitance. Not a parallel-plate ε A/d";
1099
1494
  readonly coverage: "covers its statement only";
1100
1495
  readonly leanProof: "complete";
1101
1496
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1497
+ readonly nested: readonly [];
1102
1498
  }, {
1103
1499
  readonly key: "be-133";
1104
1500
  readonly bridgeId: "be-133";
1501
+ readonly kind: "bridge";
1105
1502
  readonly theorem: "PhysJS.DampingRatio.damping_ratio";
1106
- readonly covers: "derivation-step: m ẍ + c ẋ + k x = 0 has ω = √(k/m) and linear coefficient c/m = 2 ζ ω, so ζ = c / (2 √(k m)). For c ≥ 0 the discriminant (c/m)² − 4 (k/m) vanishes iff ζ = 1. Dropping the 2 is not this ratio. √(k/m) is not ζ";
1503
+ readonly file: "DampingRatio.lean";
1504
+ readonly covers: "m ẍ + c ẋ + k x = 0 has ω = √(k/m) and linear coefficient c/m = 2 ζ ω, so ζ = c / (2 √(k m)). For c ≥ 0 the discriminant (c/m)² − 4 (k/m) vanishes iff ζ = 1. Dropping the 2 is not this ratio. √(k/m) is not ζ";
1107
1505
  readonly coverage: "covers its statement only";
1108
1506
  readonly leanProof: "complete";
1109
1507
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1508
+ readonly nested: readonly [];
1110
1509
  }, {
1111
1510
  readonly key: "be-134";
1112
1511
  readonly bridgeId: "be-134";
1512
+ readonly kind: "bridge";
1113
1513
  readonly theorem: "PhysJS.BlochLaw.bloch_law";
1114
- readonly covers: "derivation-step: the Bose integral I = ζ(3/2) √π/4 is a hypothesis, the same kind as π⁴/15 in be-90. The quadratic measure 1/(2 π²) (k_B T/D)^{3/2} times that integral is ζ(3/2) (k_B T/(4 π D))^{3/2}. One Bohr magneton per magnon gives ΔM = μ_B ζ(3/2) (k_B T/(4 π D))^{3/2}. g μ_B at g = 2 is not that moment. D = 2 J S a² and M(0) = μ_B S/a³ are the nested heisenberg_fraction object and put an extra 1/S. ζ(3/2) is not evaluated";
1514
+ readonly file: "BlochLaw.lean";
1515
+ readonly covers: "the Bose integral I = ζ(3/2) √π/4 is a hypothesis, the same kind as π⁴/15 in be-90. The quadratic measure 1/(2 π²) (k_B T/D)^{3/2} times that integral is ζ(3/2) (k_B T/(4 π D))^{3/2}. One Bohr magneton per magnon gives ΔM = μ_B ζ(3/2) (k_B T/(4 π D))^{3/2}. g μ_B at g = 2 is not that moment. D = 2 J S a² and M(0) = μ_B S/a³ are the nested heisenberg_fraction object and put an extra 1/S. ζ(3/2) is not evaluated";
1115
1516
  readonly coverage: "covers its statement only";
1116
1517
  readonly leanProof: "complete";
1117
1518
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1118
- readonly heisenberg_fraction: {
1519
+ readonly nested: readonly [{
1520
+ readonly name: "heisenberg_fraction";
1521
+ readonly kind: "derivation-step";
1119
1522
  readonly theorem: "PhysJS.BlochLaw.heisenberg_fraction";
1120
- readonly covers: "derivation-step: D = 2 J S a² and M(0) = μ_B S/a³ turn the Bloch deficit into ΔM/M(0) = (1/S) ζ(3/2) (k_B T/(8 π J S))^{3/2}";
1523
+ readonly file: "BlochLaw.lean";
1524
+ readonly covers: "D = 2 J S a² and M(0) = μ_B S/a³ turn the Bloch deficit into ΔM/M(0) = (1/S) ζ(3/2) (k_B T/(8 π J S))^{3/2}";
1121
1525
  readonly coverage: "covers its statement only";
1122
1526
  readonly leanProof: "complete";
1123
1527
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1124
- };
1528
+ }];
1125
1529
  }, {
1126
1530
  readonly key: "be-135";
1127
1531
  readonly bridgeId: "be-135";
1532
+ readonly kind: "bridge";
1128
1533
  readonly theorem: "PhysJS.DensityOfStates3D.dos_3d";
1129
- readonly covers: "derivation-step: two spins, k³ = 3 π² n, and E = ℏ² k²/(2 m) give n = (1/(3 π²)) (2 m E/ℏ²)^{3/2}. Differentiating E^{3/2} gives g(E) = (1/(2 π²)) (2 m/ℏ²)^{3/2} √E and g = (3/2) n/E. One spin replaces 1/(2 π²) by 1/(4 π²)";
1534
+ readonly file: "DensityOfStates3D.lean";
1535
+ readonly covers: "two spins, k³ = 3 π² n, and E = ℏ² k²/(2 m) give n = (1/(3 π²)) (2 m E/ℏ²)^{3/2}. Differentiating E^{3/2} gives g(E) = (1/(2 π²)) (2 m/ℏ²)^{3/2} √E and g = (3/2) n/E. One spin replaces 1/(2 π²) by 1/(4 π²)";
1130
1536
  readonly coverage: "covers its statement only";
1131
1537
  readonly leanProof: "complete";
1132
1538
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1539
+ readonly nested: readonly [];
1133
1540
  }, {
1134
1541
  readonly key: "be-136";
1135
1542
  readonly bridgeId: "be-136";
1543
+ readonly kind: "bridge";
1136
1544
  readonly theorem: "PhysJS.DensityOfStates2D.dos_2d";
1137
- readonly covers: "derivation-step: two spins in the disk, n = k²/(2 π), and E = ℏ² k²/(2 m) give n = m E/(π ℏ²). The derivative is g(E) = m/(π ℏ²), independent of E. A valley factor other than 1 is not this density";
1545
+ readonly file: "DensityOfStates2D.lean";
1546
+ readonly covers: "two spins in the disk, n = k²/(2 π), and E = ℏ² k²/(2 m) give n = m E/(π ℏ²). The derivative is g(E) = m/(π ℏ²), independent of E. A valley factor other than 1 is not this density";
1138
1547
  readonly coverage: "covers its statement only";
1139
1548
  readonly leanProof: "complete";
1140
1549
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1550
+ readonly nested: readonly [];
1141
1551
  }, {
1142
1552
  readonly key: "be-137";
1143
1553
  readonly bridgeId: "be-137";
1554
+ readonly kind: "bridge";
1144
1555
  readonly theorem: "PhysJS.ThomasFermi.thomas_fermi";
1145
- readonly covers: "derivation-step: φ = φ0 exp(−k x) has second derivative k² φ. δn = g(E_F) e φ and Poisson φ'' = e δn/ε0 give k_TF² = e² g(E_F)/ε0. g(E_F) = (3/2) n/E_F is PhysJS.FermiSea.dos_factor, not a proof of the be-135 prefactor, so k_TF² = (e²/ε0) (3 n)/(2 E_F). A flat density leaves the factor 1. Not the classical Debye length";
1556
+ readonly file: "ThomasFermi.lean";
1557
+ readonly covers: "φ = φ0 exp(−k x) has second derivative k² φ. δn = g(E_F) e φ and Poisson φ'' = e δn/ε0 give k_TF² = e² g(E_F)/ε0. g(E_F) = (3/2) n/E_F is PhysJS.FermiSea.dos_factor, not a proof of the be-135 prefactor, so k_TF² = (e²/ε0) (3 n)/(2 E_F). A flat density leaves the factor 1. Not the classical Debye length";
1146
1558
  readonly coverage: "covers its statement only";
1147
1559
  readonly leanProof: "complete";
1148
1560
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1561
+ readonly nested: readonly [];
1149
1562
  }, {
1150
1563
  readonly key: "be-138";
1151
1564
  readonly bridgeId: "be-138";
1565
+ readonly kind: "bridge";
1152
1566
  readonly theorem: "PhysJS.BuiltinVoltage.builtin_voltage";
1153
- readonly covers: "derivation-step: complete ionization and Boltzmann tails N_D = n_i exp(e (φ_n − φ_i)/(k_B T)) and N_A = n_i exp(−e (φ_p − φ_i)/(k_B T)) give V_bi = (k_B T/e) ln(N_A N_D/n_i²). The product n_p N_A = n_i² is the be-99 conclusion as an input, not a second proof, and rewrites the same logarithm as ln(N_D/n_p). Not the ideal diode of be-82";
1567
+ readonly file: "BuiltinVoltage.lean";
1568
+ readonly covers: "complete ionization and Boltzmann tails N_D = n_i exp(e (φ_n − φ_i)/(k_B T)) and N_A = n_i exp(−e (φ_p − φ_i)/(k_B T)) give V_bi = (k_B T/e) ln(N_A N_D/n_i²). The product n_p N_A = n_i² is the be-99 conclusion as an input, not a second proof, and rewrites the same logarithm as ln(N_D/n_p). Not the ideal diode of be-82";
1154
1569
  readonly coverage: "covers its statement only";
1155
1570
  readonly leanProof: "complete";
1156
1571
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1572
+ readonly nested: readonly [];
1157
1573
  }, {
1158
1574
  readonly key: "be-139";
1159
1575
  readonly bridgeId: "be-139";
1576
+ readonly kind: "bridge";
1160
1577
  readonly theorem: "PhysJS.SemiconductorFermi.fermi_level";
1161
- readonly covers: "derivation-step: n = p on Boltzmann tails and N_c/N_v = (m_e*/m_h*)^{3/2} give E_F − (E_c + E_v)/2 = (3/4) k_B T ln(m_h*/m_e*). The 3/4 is half of 3/2. Complete ionization N_D = N_c exp(−(E_c − E_F)/(k_B T)) gives E_c − E_F = k_B T ln(N_c/N_D). Dropping the 3/2 leaves 1/2. Not a Fermi–Dirac integral";
1578
+ readonly file: "SemiconductorFermi.lean";
1579
+ readonly covers: "n = p on Boltzmann tails and N_c/N_v = (m_e*/m_h*)^{3/2} give E_F − (E_c + E_v)/2 = (3/4) k_B T ln(m_h*/m_e*). The 3/4 is half of 3/2. Complete ionization N_D = N_c exp(−(E_c − E_F)/(k_B T)) gives E_c − E_F = k_B T ln(N_c/N_D). Dropping the 3/2 leaves 1/2. Not a Fermi–Dirac integral";
1162
1580
  readonly coverage: "covers its statement only";
1163
1581
  readonly leanProof: "complete";
1164
1582
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1583
+ readonly nested: readonly [];
1165
1584
  }, {
1166
1585
  readonly key: "be-140";
1167
1586
  readonly bridgeId: "be-140";
1587
+ readonly kind: "bridge";
1168
1588
  readonly theorem: "PhysJS.OnsagerFrequency.onsager_frequency";
1169
- readonly covers: "derivation-step: A = (2 π e B/ℏ) (n + γ) at n and at n + 1. The step is 1, so γ cancels and F = ℏ A/(2 π e), with Δ(1/B) = 1/F. Dropping γ on one orbit is not a step of 1";
1589
+ readonly file: "OnsagerFrequency.lean";
1590
+ readonly covers: "A = (2 π e B/ℏ) (n + γ) at n and at n + 1. The step is 1, so γ cancels and F = ℏ A/(2 π e), with Δ(1/B) = 1/F. Dropping γ on one orbit is not a step of 1";
1170
1591
  readonly coverage: "covers its statement only";
1171
1592
  readonly leanProof: "complete";
1172
1593
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1594
+ readonly nested: readonly [];
1173
1595
  }, {
1174
1596
  readonly key: "be-141";
1175
1597
  readonly bridgeId: "be-141";
1598
+ readonly kind: "bridge";
1176
1599
  readonly theorem: "PhysJS.JosephsonInductance.inductance_eq";
1177
- readonly covers: "derivation-step: I = I_c sin φ and V = (ℏ/(2 e)) dφ/dt. At φ = 0, cos φ = 1, so V = L dI/dt gives L_J = ℏ/(2 e I_c). Φ₀ = h/(2 e) and h = 2 π ℏ give L_J = Φ₀/(2 π I_c). A phase with cos φ ≠ 1 is not this inductance. Not the frequency of be-59";
1600
+ readonly file: "JosephsonInductance.lean";
1601
+ readonly covers: "I = I_c sin φ and V = (ℏ/(2 e)) dφ/dt. At φ = 0, cos φ = 1, so V = L dI/dt gives L_J = ℏ/(2 e I_c). Φ₀ = h/(2 e) and h = 2 π ℏ give L_J = Φ₀/(2 π I_c). A phase with cos φ ≠ 1 is not this inductance. Not the frequency of be-59";
1178
1602
  readonly coverage: "covers its statement only";
1179
1603
  readonly leanProof: "complete";
1180
1604
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1605
+ readonly nested: readonly [];
1181
1606
  }, {
1182
1607
  readonly key: "be-142";
1183
1608
  readonly bridgeId: "be-142";
1609
+ readonly kind: "bridge";
1184
1610
  readonly theorem: "PhysJS.LowerCritical.lower_critical";
1185
- readonly covers: "derivation-step: the core cutoff is the hypothesis that j(r) = Φ₀/(2 π μ0 λ² r) on ξ ≤ r ≤ λ. The London kinetic energy integrates to (Φ₀²/(4 π μ0 λ²)) ln(λ/ξ). B_c1 = μ0 ε/Φ₀ gives B_c1 = (Φ₀/(4 π λ²)) ln(λ/ξ), with Φ₀ = h/(2 e). An additive constant under the logarithm changes the field and not the prefactor. Not be-96";
1611
+ readonly file: "LowerCritical.lean";
1612
+ readonly covers: "the core cutoff is the hypothesis that j(r) = Φ₀/(2 π μ0 λ² r) on ξ ≤ r ≤ λ. The London kinetic energy integrates to (Φ₀²/(4 π μ0 λ²)) ln(λ/ξ). B_c1 = μ0 ε/Φ₀ gives B_c1 = (Φ₀/(4 π λ²)) ln(λ/ξ), with Φ₀ = h/(2 e). An additive constant under the logarithm changes the field and not the prefactor. Not be-96";
1186
1613
  readonly coverage: "covers its statement only";
1187
1614
  readonly leanProof: "complete";
1188
1615
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1616
+ readonly nested: readonly [];
1189
1617
  }, {
1190
1618
  readonly key: "be-143";
1191
1619
  readonly bridgeId: "be-143";
1620
+ readonly kind: "bridge";
1192
1621
  readonly theorem: "PhysJS.AcDrude.ac_drude";
1193
- readonly covers: "derivation-step: the antiderivative of exp(−a s) cos(b s) is proved, and the improper integral is a/(a² + b²). At a = 1/τ and b = ω, (σ₀/τ) times that integral is σ₀/(1 + ω² τ²). σ₀ = n e² τ/m is an input. Dropping the DC 1 is not this conductivity. Not be-123";
1622
+ readonly file: "AcDrude.lean";
1623
+ readonly covers: "the antiderivative of exp(−a s) cos(b s) is proved, and the improper integral is a/(a² + b²). At a = 1/τ and b = ω, (σ₀/τ) times that integral is σ₀/(1 + ω² τ²). σ₀ = n e² τ/m is an input. Dropping the DC 1 is not this conductivity. Not be-123";
1194
1624
  readonly coverage: "covers its statement only";
1195
1625
  readonly leanProof: "complete";
1196
1626
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1627
+ readonly nested: readonly [];
1197
1628
  }, {
1198
1629
  readonly key: "be-144";
1199
1630
  readonly bridgeId: "be-144";
1631
+ readonly kind: "bridge";
1200
1632
  readonly theorem: "PhysJS.Matthiessen.matthiessen";
1201
- readonly covers: "derivation-step: independent Poisson processes have exp(−t/τ) = exp(−t/τ₁) exp(−t/τ₂), so 1/τ = 1/τ₁ + 1/τ₂. One Drude factor ρ_i = C/τ_i makes ρ = ρ₁ + ρ₂. One lifetime is not the parallel sum. Not a collision integral";
1633
+ readonly file: "Matthiessen.lean";
1634
+ readonly covers: "independent Poisson processes have exp(−t/τ) = exp(−t/τ₁) exp(−t/τ₂), so 1/τ = 1/τ₁ + 1/τ₂. One Drude factor ρ_i = C/τ_i makes ρ = ρ₁ + ρ₂. One lifetime is not the parallel sum. Not a collision integral";
1202
1635
  readonly coverage: "covers its statement only";
1203
1636
  readonly leanProof: "complete";
1204
1637
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1638
+ readonly nested: readonly [];
1205
1639
  }, {
1206
1640
  readonly key: "be-145";
1207
1641
  readonly bridgeId: "be-145";
1642
+ readonly kind: "bridge";
1208
1643
  readonly theorem: "PhysJS.Stoner.stoner";
1209
- readonly covers: "derivation-step: χ = χ_P ∑_n (I g(E_F))^n. For |I g(E_F)| < 1 the geometric series is 1/(1 − I g(E_F)), so χ = χ_P/(1 − I g(E_F)). The pole 1 − I g(E_F) = 0 is the same formula as I g(E_F) = 1. χ_P is be-94 and is not re-proved. The first two bubbles are not the closed form";
1644
+ readonly file: "Stoner.lean";
1645
+ readonly covers: "χ = χ_P ∑_n (I g(E_F))^n. For |I g(E_F)| < 1 the geometric series is 1/(1 − I g(E_F)), so χ = χ_P/(1 − I g(E_F)). The pole 1 − I g(E_F) = 0 is the same formula as I g(E_F) = 1. χ_P is be-94 and is not re-proved. The first two bubbles are not the closed form";
1210
1646
  readonly coverage: "covers its statement only";
1211
1647
  readonly leanProof: "complete";
1212
1648
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1649
+ readonly nested: readonly [];
1213
1650
  }, {
1214
1651
  readonly key: "be-146";
1215
1652
  readonly bridgeId: "be-146";
1653
+ readonly kind: "bridge";
1216
1654
  readonly theorem: "PhysJS.GorterCasimir.gorter_casimir";
1217
- readonly covers: "derivation-step: the exponent p = 4 is a hypothesis. n_s/n = 1 − (T/T_c)^p and the London depths of be-75, not re-proved, give λ(T) = λ(0)/√(1 − (T/T_c)^4). The exponent 2 is not 4 when the reduced temperature is neither 0 nor 1. Not a BCS gap and not a second proof of be-75";
1655
+ readonly file: "GorterCasimir.lean";
1656
+ readonly covers: "the exponent p = 4 is a hypothesis. n_s/n = 1 − (T/T_c)^p and the London depths of be-75, not re-proved, give λ(T) = λ(0)/√(1 − (T/T_c)^4). The exponent 2 is not 4 when the reduced temperature is neither 0 nor 1. Not a BCS gap and not a second proof of be-75";
1218
1657
  readonly coverage: "covers its statement only";
1219
1658
  readonly leanProof: "complete";
1220
1659
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1660
+ readonly nested: readonly [];
1221
1661
  }, {
1222
1662
  readonly key: "be-147";
1223
1663
  readonly bridgeId: "be-147";
1664
+ readonly kind: "bridge";
1224
1665
  readonly theorem: "PhysJS.Arrhenius.arrhenius_eq";
1225
- readonly covers: "derivation-step: k = A exp(−Ea/(R T)) with R = N_A k_B is the molecular factor exp(−ε/(k_B T)) at ε = Ea/N_A. The prefactor A is temperature-independent here. Not the Eyring identification of A";
1666
+ readonly file: "Arrhenius.lean";
1667
+ readonly covers: "k = A exp(−Ea/(R T)) with R = N_A k_B is the molecular factor exp(−ε/(k_B T)) at ε = Ea/N_A. The prefactor A is temperature-independent here. Not the Eyring identification of A";
1226
1668
  readonly coverage: "covers its statement only";
1227
1669
  readonly leanProof: "complete";
1228
1670
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1671
+ readonly nested: readonly [];
1229
1672
  }, {
1230
1673
  readonly key: "be-148";
1231
1674
  readonly bridgeId: "be-148";
1675
+ readonly kind: "bridge";
1232
1676
  readonly theorem: "PhysJS.Eyring.eyring_eq";
1233
- readonly covers: "derivation-step: k = (k_B T/h) exp(−ΔG‡/(k_B T)). The molar form calls PhysJS.Arrhenius.arrhenius_eq at R = N_A k_B. The logarithmic derivative is Ea = ΔH‡ + R T. That Ea is not the constant in k = A exp(−Ea/(R T)) at A = (k_B T/h) exp(ΔS‡/R); those substitutions differ by exp(−1). The transmission coefficient is 1";
1677
+ readonly file: "Eyring.lean";
1678
+ readonly covers: "k = (k_B T/h) exp(−ΔG‡/(k_B T)). The molar form calls PhysJS.Arrhenius.arrhenius_eq at R = N_A k_B. The logarithmic derivative is Ea = ΔH‡ + R T. That Ea is not the constant in k = A exp(−Ea/(R T)) at A = (k_B T/h) exp(ΔS‡/R); those substitutions differ by exp(−1). The transmission coefficient is 1";
1234
1679
  readonly coverage: "covers its statement only";
1235
1680
  readonly leanProof: "complete";
1236
1681
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1682
+ readonly nested: readonly [];
1237
1683
  }, {
1238
1684
  readonly key: "be-149";
1239
1685
  readonly bridgeId: "be-149";
1686
+ readonly kind: "bridge";
1240
1687
  readonly theorem: "PhysJS.VanTHoff.vant_hoff";
1241
- readonly covers: "derivation-step: equilibrium_log is PhysJS.GibbsIsotherm.gibbs_eq, so ln K = −ΔG°/(R T). At ΔG° = ΔH° − T ΔS° with both constant, d ln K/dT = ΔH°/(R T²). Not a second proof of be-150 and not a van 't Hoff plot";
1688
+ readonly file: "VanTHoff.lean";
1689
+ readonly covers: "equilibrium_log is PhysJS.GibbsIsotherm.gibbs_eq, so ln K = −ΔG°/(R T). At ΔG° = ΔH° − T ΔS° with both constant, d ln K/dT = ΔH°/(R T²). Not a second proof of be-150 and not a van 't Hoff plot";
1242
1690
  readonly coverage: "covers its statement only";
1243
1691
  readonly leanProof: "complete";
1244
1692
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1693
+ readonly nested: readonly [];
1245
1694
  }, {
1246
1695
  readonly key: "be-150";
1247
1696
  readonly bridgeId: "be-150";
1697
+ readonly kind: "bridge";
1248
1698
  readonly theorem: "PhysJS.GibbsIsotherm.gibbs_eq";
1249
- readonly covers: "derivation-step: Σ ν_i μ_i = 0 with μ_i = μ_i° + R T ln a_i gives ΔG° = −R T ln K for K > 0 and T ≠ 0. Not an activity model";
1699
+ readonly file: "GibbsIsotherm.lean";
1700
+ readonly covers: "Σ ν_i μ_i = 0 with μ_i = μ_i° + R T ln a_i gives ΔG° = −R T ln K for K > 0 and T ≠ 0. Not an activity model";
1250
1701
  readonly coverage: "covers its statement only";
1251
1702
  readonly leanProof: "complete";
1252
1703
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1704
+ readonly nested: readonly [];
1253
1705
  }, {
1254
1706
  readonly key: "be-151";
1255
1707
  readonly bridgeId: "be-151";
1708
+ readonly kind: "bridge";
1256
1709
  readonly theorem: "PhysJS.NernstGibbs.nernst_eq";
1257
- readonly covers: "derivation-step: the cell standard state is PhysJS.GibbsIsotherm.gibbs_eq, and ΔG = −n F E with F = N_A e gives E = E° − (R T/(n F)) ln Q. Not a second proof of be-150";
1710
+ readonly file: "NernstGibbs.lean";
1711
+ readonly covers: "the cell standard state is PhysJS.GibbsIsotherm.gibbs_eq, and ΔG = −n F E with F = N_A e gives E = E° − (R T/(n F)) ln Q. Not a second proof of be-150";
1258
1712
  readonly coverage: "covers its statement only";
1259
1713
  readonly leanProof: "complete";
1260
1714
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1715
+ readonly nested: readonly [];
1261
1716
  }, {
1262
1717
  readonly key: "be-152";
1263
1718
  readonly bridgeId: "be-152";
1719
+ readonly kind: "bridge";
1264
1720
  readonly theorem: "PhysJS.ClausiusClapeyron.integrated_eq";
1265
- readonly covers: "derivation-step: ideal_vapor_slope calls PhysJS.Clapeyron.slope_eq, be-71, and substitutes Δv = R T/P. Constant latent heat integrates to ln(P2/P1) = −(ΔH/R)(1/T2 − 1/T1). Both temperatures are positive. Not a second proof of be-71. A separate liquid volume is not this row";
1721
+ readonly file: "ClausiusClapeyron.lean";
1722
+ readonly covers: "ideal_vapor_slope calls PhysJS.Clapeyron.slope_eq, be-71, and substitutes Δv = R T/P. Constant latent heat integrates to ln(P2/P1) = −(ΔH/R)(1/T2 − 1/T1). Both temperatures are positive. Not a second proof of be-71. A separate liquid volume is not this row";
1266
1723
  readonly coverage: "covers its statement only";
1267
1724
  readonly leanProof: "complete";
1268
1725
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1726
+ readonly nested: readonly [];
1269
1727
  }, {
1270
1728
  readonly key: "be-153";
1271
1729
  readonly bridgeId: "be-153";
1730
+ readonly kind: "bridge";
1272
1731
  readonly theorem: "PhysJS.Raoult.raoult_eq";
1273
- readonly covers: "derivation-step: PhysJS.GibbsIsotherm.gibbs_eq on the ideal mixture and on the pure liquid gives P = x P*. The liquid activity is the mole fraction and the vapor activity is P/P°. Not a second proof of be-150. A nonideal activity is not this row";
1732
+ readonly file: "Raoult.lean";
1733
+ readonly covers: "PhysJS.GibbsIsotherm.gibbs_eq on the ideal mixture and on the pure liquid gives P = x P*. The liquid activity is the mole fraction and the vapor activity is P/P°. Not a second proof of be-150. A nonideal activity is not this row";
1274
1734
  readonly coverage: "covers its statement only";
1275
1735
  readonly leanProof: "complete";
1276
1736
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1737
+ readonly nested: readonly [];
1277
1738
  }, {
1278
1739
  readonly key: "be-154";
1279
1740
  readonly bridgeId: "be-154";
1741
+ readonly kind: "bridge";
1280
1742
  readonly theorem: "PhysJS.Prandtl.prandtl_eq";
1281
- readonly covers: "derivation-step: the ratio identity Pr = ν/α with ν = μ/ρ and α = k/(ρ c_p) is the product Pr k = μ c_p. Not a heat-transfer correlation and not the Reynolds analogy of be-86";
1743
+ readonly file: "Prandtl.lean";
1744
+ readonly covers: "the ratio identity Pr = ν/α with ν = μ/ρ and α = k/(ρ c_p) is the product Pr k = μ c_p. Not a heat-transfer correlation and not the Reynolds analogy of be-86";
1282
1745
  readonly coverage: "covers its statement only";
1283
1746
  readonly leanProof: "complete";
1284
1747
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1748
+ readonly nested: readonly [];
1285
1749
  }, {
1286
1750
  readonly key: "be-155";
1287
1751
  readonly bridgeId: "be-155";
1752
+ readonly kind: "bridge";
1288
1753
  readonly theorem: "PhysJS.ReynoldsNumber.reynolds_eq";
1289
- readonly covers: "derivation-step: inertial flux over viscous flux is Re = (ρ v²)/(μ v/L) = v L/ν with ν = μ/ρ, so Re μ = ρ v L. Not a friction correlation and not the pipe factor of be-77";
1754
+ readonly file: "ReynoldsNumber.lean";
1755
+ readonly covers: "inertial flux over viscous flux is Re = (ρ v²)/(μ v/L) = v L/ν with ν = μ/ρ, so Re μ = ρ v L. Not a friction correlation and not the pipe factor of be-77";
1290
1756
  readonly coverage: "covers its statement only";
1291
1757
  readonly leanProof: "complete";
1292
1758
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1759
+ readonly nested: readonly [];
1293
1760
  }, {
1294
1761
  readonly key: "be-156";
1295
1762
  readonly bridgeId: "be-156";
1763
+ readonly kind: "bridge";
1296
1764
  readonly theorem: "PhysJS.Biot.biot_eq";
1297
- readonly covers: "derivation-step: with L_c = V/A, Bi = (L_c/k)/(1/h) = h V/(k A), so Bi k = h L_c. Not a lumped-capacitance criterion";
1765
+ readonly file: "Biot.lean";
1766
+ readonly covers: "with L_c = V/A, Bi = (L_c/k)/(1/h) = h V/(k A), so Bi k = h L_c. Not a lumped-capacitance criterion";
1298
1767
  readonly coverage: "covers its statement only";
1299
1768
  readonly leanProof: "complete";
1300
1769
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1770
+ readonly nested: readonly [];
1301
1771
  }, {
1302
1772
  readonly key: "be-157";
1303
1773
  readonly bridgeId: "be-157";
1774
+ readonly kind: "bridge";
1304
1775
  readonly theorem: "PhysJS.Nusselt.nusselt_eq";
1305
- readonly covers: "derivation-step: h = k (∂T/∂n)/ΔT makes Nu = h L/k equal to L (∂T/∂n)/ΔT, so Nu k = h L. Not a correlation for Nu";
1776
+ readonly file: "Nusselt.lean";
1777
+ readonly covers: "h = k (∂T/∂n)/ΔT makes Nu = h L/k equal to L (∂T/∂n)/ΔT, so Nu k = h L. Not a correlation for Nu";
1306
1778
  readonly coverage: "covers its statement only";
1307
1779
  readonly leanProof: "complete";
1308
1780
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1781
+ readonly nested: readonly [];
1309
1782
  }, {
1310
1783
  readonly key: "be-158";
1311
1784
  readonly bridgeId: "be-158";
1785
+ readonly kind: "bridge";
1312
1786
  readonly theorem: "PhysJS.Schmidt.schmidt_eq";
1313
- readonly covers: "derivation-step: Sc = ν/D with ν = μ/ρ is Sc ρ D = μ, and Le = α/D = Sc/Pr once Pr = ν/α. Not a mass-transfer correlation";
1787
+ readonly file: "Schmidt.lean";
1788
+ readonly covers: "Sc = ν/D with ν = μ/ρ is Sc ρ D = μ, and Le = α/D = Sc/Pr once Pr = ν/α. Not a mass-transfer correlation";
1314
1789
  readonly coverage: "covers its statement only";
1315
1790
  readonly leanProof: "complete";
1316
1791
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1792
+ readonly nested: readonly [];
1317
1793
  }, {
1318
1794
  readonly key: "be-159";
1319
1795
  readonly bridgeId: "be-159";
1796
+ readonly kind: "bridge";
1320
1797
  readonly theorem: "PhysJS.Sherwood.sherwood_eq";
1321
- readonly covers: "derivation-step: k_m = D (∂c/∂n)/Δc makes Sh = k_m L/D equal to L (∂c/∂n)/Δc, so Sh D = k_m L. Not a correlation for Sh";
1798
+ readonly file: "Sherwood.lean";
1799
+ readonly covers: "k_m = D (∂c/∂n)/Δc makes Sh = k_m L/D equal to L (∂c/∂n)/Δc, so Sh D = k_m L. Not a correlation for Sh";
1322
1800
  readonly coverage: "covers its statement only";
1323
1801
  readonly leanProof: "complete";
1324
1802
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1803
+ readonly nested: readonly [];
1325
1804
  }, {
1326
1805
  readonly key: "be-160";
1327
1806
  readonly bridgeId: "be-160";
1807
+ readonly kind: "bridge";
1328
1808
  readonly theorem: "PhysJS.FourierConduction.fourier_eq";
1329
- readonly covers: "derivation-step: a constant flux q = −k dT/dx integrates to q L = −k (T(L) − T(0)). A temperature-dependent conductivity is not this row";
1809
+ readonly file: "FourierConduction.lean";
1810
+ readonly covers: "a constant flux q = −k dT/dx integrates to q L = −k (T(L) − T(0)). A temperature-dependent conductivity is not this row";
1330
1811
  readonly coverage: "covers its statement only";
1331
1812
  readonly leanProof: "complete";
1332
1813
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1814
+ readonly nested: readonly [];
1333
1815
  }, {
1334
1816
  readonly key: "be-161";
1335
1817
  readonly bridgeId: "be-161";
1818
+ readonly kind: "bridge";
1336
1819
  readonly theorem: "PhysJS.NewtonCooling.newton_eq";
1337
- readonly covers: "derivation-step: ρ c V dθ/dt = −h A θ integrates to θ(t) = θ(0) exp(−t/τ) with τ = ρ c V/(h A). Radiation in T⁴ is not this row";
1820
+ readonly file: "NewtonCooling.lean";
1821
+ readonly covers: "ρ c V dθ/dt = −h A θ integrates to θ(t) = θ(0) exp(−t/τ) with τ = ρ c V/(h A). Radiation in T⁴ is not this row";
1338
1822
  readonly coverage: "covers its statement only";
1339
1823
  readonly leanProof: "complete";
1340
1824
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1825
+ readonly nested: readonly [];
1341
1826
  }, {
1342
1827
  readonly key: "be-162";
1343
1828
  readonly bridgeId: "be-162";
1829
+ readonly kind: "bridge";
1344
1830
  readonly theorem: "PhysJS.Otto.otto_eq";
1345
- readonly covers: "derivation-step: the cold-air isentropic cycle at constant γ > 1 gives η = 1 − r^(1−γ). A temperature-dependent heat capacity is not this row";
1831
+ readonly file: "Otto.lean";
1832
+ readonly covers: "the cold-air isentropic cycle at constant γ > 1 gives η = 1 − r^(1−γ). A temperature-dependent heat capacity is not this row";
1346
1833
  readonly coverage: "covers its statement only";
1347
1834
  readonly leanProof: "complete";
1348
1835
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1836
+ readonly nested: readonly [];
1349
1837
  }, {
1350
1838
  readonly key: "be-163";
1351
1839
  readonly bridgeId: "be-163";
1840
+ readonly kind: "bridge";
1352
1841
  readonly theorem: "PhysJS.JouleThomson.joule_thomson_eq";
1353
- readonly covers: "derivation-step: the enthalpy differential dh = c_p dT + (v − T (∂v/∂T)_p) dP is a hypothesis. It gives μ_JT c_p = T (∂v/∂T)_p − v, and the ideal-gas bracket v = R T/P vanishes. Not a measured inversion curve";
1842
+ readonly file: "JouleThomson.lean";
1843
+ readonly covers: "the enthalpy differential dh = c_p dT + (v − T (∂v/∂T)_p) dP is a hypothesis. It gives μ_JT c_p = T (∂v/∂T)_p − v, and the ideal-gas bracket v = R T/P vanishes. Not a measured inversion curve";
1354
1844
  readonly coverage: "covers its statement only";
1355
1845
  readonly leanProof: "complete";
1356
1846
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1847
+ readonly nested: readonly [];
1357
1848
  }, {
1358
1849
  readonly key: "be-164";
1359
1850
  readonly bridgeId: "be-164";
1851
+ readonly kind: "bridge";
1360
1852
  readonly theorem: "PhysJS.PlanckSpectrum.planck_eq";
1361
- readonly covers: "derivation-step: bose_factor proves 1/(e^x − 1) = Σ_{n≥1} e^{−n x}. The mode density 8 π ν²/c³, two polarizations, is a hypothesis. Their product is u (e^{hν/kT} − 1) c³ = 8 π h ν³. The frequency integral is be-165";
1853
+ readonly file: "PlanckSpectrum.lean";
1854
+ readonly covers: "bose_factor proves 1/(e^x − 1) = Σ_{n≥1} e^{−n x}. The mode density 8 π ν²/c³, two polarizations, is a hypothesis. Their product is u (e^{hν/kT} − 1) c³ = 8 π h ν³. The frequency integral is be-165";
1362
1855
  readonly coverage: "covers its statement only";
1363
1856
  readonly leanProof: "complete";
1364
1857
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1858
+ readonly nested: readonly [];
1365
1859
  }, {
1366
1860
  readonly key: "be-165";
1367
1861
  readonly bridgeId: "be-165";
1862
+ readonly kind: "bridge";
1368
1863
  readonly theorem: "PhysJS.StefanBoltzmann.stefan_boltzmann_eq";
1369
- readonly covers: "derivation-step: ∫_0^∞ x³/(e^x − 1) dx = π⁴/15 from Σ n^{−4} = π⁴/90 and Γ(4) = 6. The hemisphere integrals give the factor c/4. With h = 2 π ℏ, σ = π² k_B⁴/(60 ℏ³ c²) = 2 π⁵ k_B⁴/(15 h³ c²). The mode density 8 π is the hypothesis of be-164. Not a radiometer measurement";
1864
+ readonly file: "StefanBoltzmann.lean";
1865
+ readonly covers: "∫_0^∞ x³/(e^x − 1) dx = π⁴/15 from Σ n^{−4} = π⁴/90 and Γ(4) = 6. The hemisphere integrals give the factor c/4. With h = 2 π ℏ, σ = π² k_B⁴/(60 ℏ³ c²) = 2 π⁵ k_B⁴/(15 h³ c²). The mode density 8 π is the hypothesis of be-164. Not a radiometer measurement";
1370
1866
  readonly coverage: "covers its statement only";
1371
1867
  readonly leanProof: "complete";
1372
1868
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1869
+ readonly nested: readonly [];
1373
1870
  }, {
1374
1871
  readonly key: "be-166";
1375
1872
  readonly bridgeId: "be-166";
1873
+ readonly kind: "bridge";
1376
1874
  readonly theorem: "PhysJS.WienDisplacement.wien_eq";
1377
- readonly covers: "derivation-step: spectral(x) = x⁵/(e^x − 1) has derivative zero for x > 0 exactly when 5 − x = 5 exp(−x). That equation has a unique positive root and the root lies in (4, 5). The decimal is not evaluated. x = 0 is an extraneous root. The displacement constant is b k_B x = h c";
1875
+ readonly file: "WienDisplacement.lean";
1876
+ readonly covers: "spectral(x) = x⁵/(e^x − 1) has derivative zero for x > 0 exactly when 5 − x = 5 exp(−x). That equation has a unique positive root and the root lies in (4, 5). The decimal is not evaluated. x = 0 is an extraneous root. The displacement constant is b k_B x = h c";
1378
1877
  readonly coverage: "covers its statement only";
1379
1878
  readonly leanProof: "complete";
1380
1879
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1880
+ readonly nested: readonly [];
1381
1881
  }, {
1382
1882
  readonly key: "be-167";
1383
1883
  readonly bridgeId: "be-167";
1884
+ readonly kind: "bridge";
1384
1885
  readonly theorem: "PhysJS.SackurTetrode.sackur_tetrode";
1385
- readonly covers: "derivation-step: n_Q = λ_T^{−3} uses PhysJS.ThermalDeBroglie.wavelength_eq, be-12. Stirling ln N! = N ln N − N is a hypothesis, and U = (3/2) N k_B T is equipartition. They give S = N k_B (ln(n_Q/n) + 5/2). Not a second proof of be-12 and not the Stirling series";
1886
+ readonly file: "SackurTetrode.lean";
1887
+ readonly covers: "n_Q = λ_T^{−3} uses PhysJS.ThermalDeBroglie.wavelength_eq, be-12. Stirling ln N! = N ln N − N is a hypothesis, and U = (3/2) N k_B T is equipartition. They give S = N k_B (ln(n_Q/n) + 5/2). Not a second proof of be-12 and not the Stirling series";
1386
1888
  readonly coverage: "covers its statement only";
1387
1889
  readonly leanProof: "complete";
1388
1890
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1891
+ readonly nested: readonly [];
1389
1892
  }, {
1390
1893
  readonly key: "be-168";
1391
1894
  readonly bridgeId: "be-168";
1895
+ readonly kind: "bridge";
1392
1896
  readonly theorem: "PhysJS.Saha.saha_eq";
1393
- readonly covers: "derivation-step: the thermal factor is PhysJS.ThermalDeBroglie.wavelength_eq, so K = (2 π m k_B T/h²)^{3/2} exp(−I/(k_B T)). The electron weight 2 and the internal partition functions are not in this statement. Not a second proof of be-12";
1897
+ readonly file: "Saha.lean";
1898
+ readonly covers: "the thermal factor is PhysJS.ThermalDeBroglie.wavelength_eq, so K = (2 π m k_B T/h²)^{3/2} exp(−I/(k_B T)). The electron weight 2 and the internal partition functions are not in this statement. Not a second proof of be-12";
1394
1899
  readonly coverage: "covers its statement only";
1395
1900
  readonly leanProof: "complete";
1396
1901
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1902
+ readonly nested: readonly [];
1397
1903
  }, {
1398
1904
  readonly key: "be-169";
1399
1905
  readonly bridgeId: "be-169";
1906
+ readonly kind: "bridge";
1400
1907
  readonly theorem: "PhysJS.RichardsonDushman.richardson_eq";
1401
- readonly covers: "derivation-step: ∫_a^∞ exp(−c x) dx = exp(−c a)/c is proved. The current is the hypothesis 4 π m e/h³ times one factor k_B T from each tail, so J h³ exp(φ/(k_B T)) = 4 π m e k_B² T². Here e is the elementary charge. The Boltzmann tail replaces Fermi–Dirac and the reflection coefficient is 1";
1908
+ readonly file: "RichardsonDushman.lean";
1909
+ readonly covers: "∫_a^∞ exp(−c x) dx = exp(−c a)/c is proved. The current is the hypothesis 4 π m e/h³ times one factor k_B T from each tail, so J h³ exp(φ/(k_B T)) = 4 π m e k_B² T². Here e is the elementary charge. The Boltzmann tail replaces Fermi–Dirac and the reflection coefficient is 1";
1402
1910
  readonly coverage: "covers its statement only";
1403
1911
  readonly leanProof: "complete";
1404
1912
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1913
+ readonly nested: readonly [];
1405
1914
  }, {
1406
1915
  readonly key: "be-170";
1407
1916
  readonly bridgeId: "be-170";
1917
+ readonly kind: "bridge";
1408
1918
  readonly theorem: "PhysJS.OnsagerReciprocity.onsager_eq";
1409
- readonly covers: "derivation-step: the mixed partials of Φ = ½ L11 X1² + L12 X1 X2 + ½ L22 X2² are both L12, so L12 = L21. thermoelectric_instance applies PhysJS.KelvinRelation.peltier_eq, be-73, and does not re-prove Π = S T. An antisymmetric cross term produces no entropy. The magnetic case L12(B) = L21(−B) is not this row";
1919
+ readonly file: "OnsagerReciprocity.lean";
1920
+ readonly covers: "the mixed partials of Φ = ½ L11 X1² + L12 X1 X2 + ½ L22 X2² are both L12, so L12 = L21. thermoelectric_instance applies PhysJS.KelvinRelation.peltier_eq, be-73, and does not re-prove Π = S T. An antisymmetric cross term produces no entropy. The magnetic case L12(B) = L21(−B) is not this row";
1921
+ readonly coverage: "covers its statement only";
1922
+ readonly leanProof: "complete";
1923
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1924
+ readonly nested: readonly [];
1925
+ }, {
1926
+ readonly key: "be-171";
1927
+ readonly bridgeId: "be-171";
1928
+ readonly kind: "bridge";
1929
+ readonly theorem: "PhysJS.CantileverStiffness.stiffness_eq";
1930
+ readonly file: "CantileverStiffness.lean";
1931
+ readonly covers: "integrates the Euler-Bernoulli beam equation E I w'' = F (L - x) twice from the clamp (w(0) = w'(0) = 0) to get w(L) = F L^3 / (3 E I), hence k = F / w(L) = 3 E I / L^3 and, for I = b t^3 / 12, k = E b t^3 / (4 L^3). Premises are the beam equation, the moment F (L - x) and the clamp conditions; not shear deflection and not a derivation of the beam equation itself.";
1932
+ readonly coverage: "covers its statement only";
1933
+ readonly leanProof: "complete";
1934
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1935
+ readonly nested: readonly [];
1936
+ }, {
1937
+ readonly key: "be-172";
1938
+ readonly bridgeId: "be-172";
1939
+ readonly kind: "bridge";
1940
+ readonly theorem: "PhysJS.CantileverFrequency.frequency_eq";
1941
+ readonly file: "CantileverFrequency.lean";
1942
+ readonly covers: "from E I phi'''' = rho A omega^2 phi with the general mode a cos + b sin + c cosh + d sinh, the clamp and free-end conditions give a 2x2 system with determinant 2 (1 + cos(lam) cosh(lam)), so cos(lam) cosh(lam) = -1; omega = beta^2 sqrt(E I / (rho A)) and f1 = (lam^2 / 2 pi) sqrt(E I / (rho A L^4)). first_root proves by the intermediate value theorem that the first positive root exists, lies in (pi/2, pi) and is unique there, so pi^2/4 < lam^2 < pi^2. Not a decimal for lam_1 (1.8751 is not evaluated) and not an added-mass or damped frequency.";
1943
+ readonly coverage: "covers its statement only";
1944
+ readonly leanProof: "complete";
1945
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1946
+ readonly nested: readonly [];
1947
+ }, {
1948
+ readonly key: "be-173";
1949
+ readonly bridgeId: "be-173";
1950
+ readonly kind: "bridge";
1951
+ readonly theorem: "PhysJS.SpringSoftening.stiffness_eq";
1952
+ readonly file: "SpringSoftening.lean";
1953
+ readonly covers: "with C(x) = eps0 A / (g - x) the coenergy force is F_e = (1/2) V^2 dC/dx = eps0 A V^2 / (2 (g-x)^2); the net-force slope gives k_eff = k - eps0 A V^2 / (g - x)^3 (HasDerivAt). pull_in_gap_eq shows equilibrium plus k_eff = 0 forces x = g/3 and V^2 = 8 k g^3 / (27 eps0 A), the be-79 value. Voltage control, parallel plates, no fringing; not charge control.";
1954
+ readonly coverage: "covers its statement only";
1955
+ readonly leanProof: "complete";
1956
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1957
+ readonly nested: readonly [];
1958
+ }, {
1959
+ readonly key: "be-174";
1960
+ readonly bridgeId: "be-174";
1961
+ readonly kind: "bridge";
1962
+ readonly theorem: "PhysJS.QuarterBridge.bridge_eq";
1963
+ readonly file: "QuarterBridge.lean";
1964
+ readonly covers: "from Kirchhoff current law on the two dividers (reference reads Vex/2, gauge R(1+x) reads Vex(1+x)/(2+x)) the output is Vout/Vex = x / (4 + 2x). small_signal proves the slope at 0 is 1/4, nonlinearity_eq the exact deficit x^2 / (4 (2 + x)). Three equal fixed resistors, no lead wire or self-heating; not half or full bridge.";
1965
+ readonly coverage: "covers its statement only";
1966
+ readonly leanProof: "complete";
1967
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1968
+ readonly nested: readonly [];
1969
+ }, {
1970
+ readonly key: "be-175";
1971
+ readonly bridgeId: "be-175";
1972
+ readonly kind: "bridge";
1973
+ readonly theorem: "PhysJS.CoaxialImpedance.impedance_from_gauss";
1974
+ readonly file: "CoaxialImpedance.lean";
1975
+ readonly covers: "L' = (mu/2pi) ln(b/a) from the integrated Ampere flux, C' from be-132 (CoaxialCapacitance.capacitance_per_length applied to the Gauss integral), and the telegrapher coefficient matching Z0^2 C' = L' give Z0 = (1/2pi) sqrt(mu/eps) ln(b/a). Lossless TEM, uniform line; the 59.96 ohm decimal is not evaluated, and not a lossy or microstrip line.";
1976
+ readonly coverage: "covers its statement only";
1977
+ readonly leanProof: "complete";
1978
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1979
+ readonly nested: readonly [];
1980
+ }, {
1981
+ readonly key: "be-176";
1982
+ readonly bridgeId: "be-176";
1983
+ readonly kind: "bridge";
1984
+ readonly theorem: "PhysJS.SauerbreyMass.sauerbrey_eq";
1985
+ readonly file: "SauerbreyMass.lean";
1986
+ readonly covers: "linearizes f(h) = v/(2h) (f0 = v/(2h), v = sqrt(mu_q/rho_q)) under the added thickness dh = dm/(rho_q A) to get df = -f0 dh / h = -2 f0^2 dm / (A sqrt(rho_q mu_q)); exact_shift gives the unlinearized -f0 dh/(h+dh). Premises: film acts as extra crystal thickness, rigid, dh << h; not a viscoelastic (Kanazawa) or liquid load.";
1987
+ readonly coverage: "covers its statement only";
1988
+ readonly leanProof: "complete";
1989
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
1990
+ readonly nested: readonly [];
1991
+ }, {
1992
+ readonly key: "be-177";
1993
+ readonly bridgeId: "be-177";
1994
+ readonly kind: "bridge";
1995
+ readonly theorem: "PhysJS.EquipartitionDisplacement.displacement_eq";
1996
+ readonly file: "EquipartitionDisplacement.lean";
1997
+ readonly covers: "from the spring law dU/dx = k x with U(0) = 0, U = (k/2) x^2; the Boltzmann weight integrates to sqrt(2 pi kB T / k), normalizes to the Gaussian of variance kB T / k, and the mean square is kB T / k with energy (1/2) kB T per mode. Reuses be-87 machinery (CapacitorNoise). Classical, harmonic, equilibrium; not the quantum variance and not (3/2) kB T.";
1998
+ readonly coverage: "covers its statement only";
1999
+ readonly leanProof: "complete";
2000
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2001
+ readonly nested: readonly [];
2002
+ }, {
2003
+ readonly key: "be-178";
2004
+ readonly bridgeId: "be-178";
2005
+ readonly kind: "bridge";
2006
+ readonly theorem: "PhysJS.ThermomechanicalNoise.force_noise_eq";
2007
+ readonly file: "ThermomechanicalNoise.lean";
2008
+ readonly covers: "for m v' + c v = F with white two-sided force density S2, the Wiener-Khinchin velocity variance is S2/(2 c m) (Lorentzian integral pi/(c m)); classical equipartition m <v^2> = kB T gives S2 = 2 c kB T and the one-sided S_F = 2 S2 = 4 kB T c. acceleration_floor_eq gives 4 kB T w0 /(m Q) via c = m w0 / Q. Equipartition and white-spectrum are premises; classical limit only, not the quantum fluctuation-dissipation form.";
2009
+ readonly coverage: "covers its statement only";
2010
+ readonly leanProof: "complete";
2011
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2012
+ readonly nested: readonly [];
2013
+ }, {
2014
+ readonly key: "be-179";
2015
+ readonly bridgeId: "be-179";
2016
+ readonly kind: "bridge";
2017
+ readonly theorem: "PhysJS.BolometerNep.nep_eq";
2018
+ readonly file: "BolometerNep.lean";
2019
+ readonly covers: "the thermal Langevin equation C dT' + G dT = P_n with white two-sided density S2 gives <dT^2> = S2/(2 G C) (Lorentzian integral); canonical energy variance <dE^2> = kB T^2 C with dE = C dT gives <dT^2> = kB T^2 / C, so S2 = 2 kB T^2 G and the one-sided NEP^2 = 4 kB T^2 G. The canonical energy variance and white spectrum are premises; single thermal link, thermal-fluctuation limit only (no Johnson or photon noise).";
2020
+ readonly coverage: "covers its statement only";
2021
+ readonly leanProof: "complete";
2022
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2023
+ readonly nested: readonly [];
2024
+ }, {
2025
+ readonly key: "be-180";
2026
+ readonly bridgeId: "be-180";
2027
+ readonly kind: "bridge";
2028
+ readonly theorem: "PhysJS.PeltierMaxDeltaT.max_delta_t_eq";
2029
+ readonly file: "PeltierMaxDeltaT.lean";
2030
+ readonly covers: "the cold-side heat Qc(I) = S Tc I - I^2 R/2 - K dT is a concave quadratic with stationary current I* = S Tc/R and maximum S^2 Tc^2/(2R) - K dT; with Z = S^2/(R K), heat can be pumped iff dT <= (1/2) Z Tc^2, with equality at the zero-load edge. Constant properties, Peltier + half-Joule + conduction only; not multistage and not temperature-dependent S.";
2031
+ readonly coverage: "covers its statement only";
2032
+ readonly leanProof: "complete";
2033
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2034
+ readonly nested: readonly [];
2035
+ }, {
2036
+ readonly key: "be-181";
2037
+ readonly bridgeId: "be-181";
2038
+ readonly kind: "bridge";
2039
+ readonly theorem: "PhysJS.HarvesterPower.harvester_eq";
2040
+ readonly file: "HarvesterPower.lean";
2041
+ readonly covers: "the steady state z = a cos(wt) + b sin(wt) of m z'' + c z' + k z = m A cos(wt) gives a^2 + b^2 = (mA)^2/((k - m w^2)^2 + (c w)^2); at resonance the cycle-averaged dissipation (1/2) c_e w^2 (a^2+b^2) (proved as an integral over one period) with c_e = 2 m wn ze, c_m = 2 m wn zm yields P = m ze A^2 / (4 wn (ze+zm)^2), and at ze = zm P = m A^2 / (16 zm wn). matched_is_max proves ze = zm maximizes it. Mechanical power into the electrical damper, not rectified circuit-load power.";
2042
+ readonly coverage: "covers its statement only";
2043
+ readonly leanProof: "complete";
2044
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2045
+ readonly nested: readonly [];
2046
+ }, {
2047
+ readonly key: "be-182";
2048
+ readonly bridgeId: "be-182";
2049
+ readonly kind: "bridge";
2050
+ readonly theorem: "PhysJS.MeanFreePath.mean_free_path_eq";
2051
+ readonly file: "MeanFreePath.lean";
2052
+ readonly covers: "from p_F = hbar k_F = m* v_F, free flight dx/dt = v_F over tau and E_F = hbar^2 k_F^2/(2m*), proves l = v_F tau = hbar k_F tau/m*, k_F l = 2 E_F tau/hbar and (1 <= k_F l iff hbar/tau <= 2 E_F). It is not a derivation of tau or of anisotropic bands.";
2053
+ readonly coverage: "covers its statement only";
2054
+ readonly leanProof: "complete";
2055
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2056
+ readonly nested: readonly [];
2057
+ }, {
2058
+ readonly key: "be-183";
2059
+ readonly bridgeId: "be-183";
2060
+ readonly kind: "bridge";
2061
+ readonly theorem: "PhysJS.BlochOscillation.bloch_frequency_eq";
2062
+ readonly file: "BlochOscillation.lean";
2063
+ readonly covers: "from hbar dk/dt = eE (HasDerivAt) and one zone traversal k(T)=k(0)+2pi/a with omega T = 2pi, proves T = 2 pi hbar/(eEa) and omega_B = eEa/hbar. It is not a derivation of the band, of omega_B tau >> 1 or of the absence of Zener tunnelling.";
2064
+ readonly coverage: "covers its statement only";
2065
+ readonly leanProof: "complete";
2066
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2067
+ readonly nested: readonly [];
2068
+ }, {
2069
+ readonly key: "be-184";
2070
+ readonly bridgeId: "be-184";
2071
+ readonly kind: "bridge";
2072
+ readonly theorem: "PhysJS.PippardCoherence.pippard_eq";
2073
+ readonly file: "PippardCoherence.lean";
2074
+ readonly covers: "from xi0 = hbar v_F/(pi Delta), l = v_F tau and the additive energy-scale premise hbar v_F/xi = pi Delta + hbar/(alpha tau), proves 1/xi = 1/xi0 + 1/(alpha l), the closed form xi = xi0 alpha l/(xi0 + alpha l) and xi <= min(xi0, alpha l). alpha is a convention-dependent positive hypothesis and the additivity premise and BCS xi0 are not derived.";
2075
+ readonly coverage: "covers its statement only";
2076
+ readonly leanProof: "complete";
2077
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2078
+ readonly nested: readonly [];
2079
+ }, {
2080
+ readonly key: "be-185";
2081
+ readonly bridgeId: "be-185";
2082
+ readonly kind: "bridge";
2083
+ readonly theorem: "PhysJS.ClausiusMossotti.clausius_mossotti_eq";
2084
+ readonly file: "ClausiusMossotti.lean";
2085
+ readonly covers: "from P = eps0 (eps_r - 1) E, P = N alpha E_loc and the Lorentz local field E_loc = E + P/(3 eps0), proves (eps_r - 1)/(eps_r + 2) = N alpha/(3 eps0). It is not a derivation of the Lorentz field, of alpha, or a statement for polar or anisotropic media.";
2086
+ readonly coverage: "covers its statement only";
2087
+ readonly leanProof: "complete";
2088
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2089
+ readonly nested: readonly [];
2090
+ }, {
2091
+ readonly key: "be-186";
2092
+ readonly bridgeId: "be-186";
2093
+ readonly kind: "bridge";
2094
+ readonly theorem: "PhysJS.DepairingCurrent.depairing_eq";
2095
+ readonly file: "DepairingCurrent.lean";
2096
+ readonly covers: "from the GL supercurrent J(q) = (Phi0/(2 pi mu0 lambda^2)) q (1 - xi^2 q^2) (premise), proves dJ/dq = 0 at q* = 1/(sqrt3 xi), J(q) <= J(q*) for all q >= 0, and J(q*) = Phi0/(3 sqrt3 pi mu0 lambda^2 xi); also J_d = (2 sqrt2/(3 sqrt3)) B_c/(mu0 lambda) for B_c = Phi0/(2 sqrt2 pi lambda xi). The GL J(q) and B_c are inputs.";
2097
+ readonly coverage: "covers its statement only";
2098
+ readonly leanProof: "complete";
2099
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2100
+ readonly nested: readonly [];
2101
+ }, {
2102
+ readonly key: "be-187";
2103
+ readonly bridgeId: "be-187";
2104
+ readonly kind: "bridge";
2105
+ readonly theorem: "PhysJS.SchottkyMott.schottky_mott_eq";
2106
+ readonly file: "SchottkyMott.lean";
2107
+ readonly covers: "from a common-vacuum-level ledger E_FM = E_vac - Phi_M, E_c = E_vac + delta - chi_s, phi_Bn = E_c - E_FM and the ideal premise delta = 0, proves phi_Bn = Phi_M - chi_s; also phi_Bn = Phi_M - chi_s + delta, pinned_not_ideal for delta != 0 and phi_Bp + phi_Bn = E_g. It is not a model of interface states or the pinning slope.";
2108
+ readonly coverage: "covers its statement only";
2109
+ readonly leanProof: "complete";
2110
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2111
+ readonly nested: readonly [];
2112
+ }, {
2113
+ readonly key: "be-188";
2114
+ readonly bridgeId: "be-188";
2115
+ readonly kind: "bridge";
2116
+ readonly theorem: "PhysJS.WannierExciton.exciton_eq";
2117
+ readonly file: "WannierExciton.lean";
2118
+ readonly covers: "from the 1s trial energy E(a) = hbar^2/(2 mu a^2) - k/a with k = k0/eps_r (premise), proves the unique minimizer a = hbar^2/(mu k), binding energy mu k^2/(2 hbar^2), and hence -E_X = (mu/m) Ry/eps_r^2, a_X = a_B eps_r m/mu and -E_X = k/(2 a_X). It is not a band-structure calculation and uses no GaAs numbers.";
2119
+ readonly coverage: "covers its statement only";
2120
+ readonly leanProof: "complete";
2121
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2122
+ readonly nested: readonly [];
2123
+ }, {
2124
+ readonly key: "be-189";
2125
+ readonly bridgeId: "be-189";
2126
+ readonly kind: "bridge";
2127
+ readonly theorem: "PhysJS.ChargingEnergy.charging_energy_eq";
2128
+ readonly file: "ChargingEnergy.lean";
2129
+ readonly covers: "from constant C and the work integral E_C = integral_0^e (q/C) dq (proved), gives E_C = e^2/(2C); also addition_energy (2N+1) E_C and thermal_ratio kBT/E_C = 2C kBT/e^2. The regime kBT << E_C is not a theorem.";
2130
+ readonly coverage: "covers its statement only";
2131
+ readonly leanProof: "complete";
2132
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2133
+ readonly nested: readonly [];
2134
+ }, {
2135
+ readonly key: "be-190";
2136
+ readonly bridgeId: "be-190";
2137
+ readonly kind: "bridge";
2138
+ readonly theorem: "PhysJS.WeakLocalization.weak_localization_eq";
2139
+ readonly file: "WeakLocalization.lean";
2140
+ readonly covers: "from the 2D return probability 1/(4 pi D t) and the Cooperon weight Delta_sigma = -(2e^2 D/(pi hbar)) integral_tau^tau_phi P dt (convention-dependent hypothesis), proves integral dt/t = ln(tau_phi/tau) and Delta_sigma = -(e^2/(pi h)) ln(tau_phi/tau) with h = 2 pi hbar, negative and decreasing in tau_phi. The weight, spin counting and symmetry class are hypotheses; no antilocalization.";
2141
+ readonly coverage: "covers its statement only";
2142
+ readonly leanProof: "complete";
2143
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2144
+ readonly nested: readonly [];
2145
+ }, {
2146
+ readonly key: "be-191";
2147
+ readonly bridgeId: "be-191";
2148
+ readonly kind: "bridge";
2149
+ readonly theorem: "PhysJS.ThermalConductanceQuantum.thermal_conductance_eq";
2150
+ readonly file: "ThermalConductanceQuantum.lean";
2151
+ readonly covers: "from the 1D channel heat current J = integral h nu n_B dnu, kappa = integral h nu (dn/dT) dnu (HasDerivAt of the Bose occupation proved) and the proved Bose integral integral_0^inf x^2 e^x/(e^x-1)^2 dx = pi^2/3, proves kappa = pi^2 kB^2 T/(3h). The exchange of d/dT with the integral, adiabatic contacts and mode counting are premises.";
2152
+ readonly coverage: "covers its statement only";
2153
+ readonly leanProof: "complete";
2154
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2155
+ readonly nested: readonly [];
2156
+ }, {
2157
+ readonly key: "be-192";
2158
+ readonly bridgeId: "be-192";
2159
+ readonly kind: "bridge";
2160
+ readonly theorem: "PhysJS.KondoTemperature.kondo_eq";
2161
+ readonly file: "KondoTemperature.lean";
2162
+ readonly covers: "from the poor-man's-scaling flow dg/dl = g^2 - g^3/2 (hypothesis) on 0<g<2 with a strong-coupling reference g1, proves k_B T_K = D0 K(g1) sqrt(g0/(1-g0/2)) exp(-1/g0), K = exp(-Phi(g1)); the exponent and sqrt(g) are derived, K(g1) depends on the reference coupling (K_injective) so the catalog prefactor 1 is a convention hypothesis. The flow and its coefficients are not derived from the Kondo Hamiltonian.";
2163
+ readonly coverage: "covers its statement only";
2164
+ readonly leanProof: "complete";
2165
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2166
+ readonly nested: readonly [];
2167
+ }, {
2168
+ readonly key: "be-193";
2169
+ readonly bridgeId: "be-193";
2170
+ readonly kind: "bridge";
2171
+ readonly theorem: "PhysJS.SweetParker.inflow_eq";
2172
+ readonly file: "SweetParker.lean";
2173
+ readonly covers: "from mass conservation v_in L = v_A δ and diffusion balance v_in = η/δ with outflow at v_A, v_in = v_A S^(-1/2) with S = L v_A/η (rpow and 1/sqrt forms), plus sub-Alfvenic and wrong-power separations. Not a proof that the outflow is v_A, or that real reconnection is this slow.";
2174
+ readonly coverage: "covers its statement only";
2175
+ readonly leanProof: "complete";
2176
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2177
+ readonly nested: readonly [];
2178
+ }, {
2179
+ readonly key: "be-194";
2180
+ readonly bridgeId: "be-194";
2181
+ readonly kind: "bridge";
2182
+ readonly theorem: "PhysJS.SedovTaylor.radius_eq";
2183
+ readonly file: "SedovTaylor.lean";
2184
+ readonly covers: "the mass/length/time exponent system for R = ξ E^a t^b ρ^c has the unique solution (1/5, 2/5, -1/5), giving R = ξ (E t²/ρ)^(1/5); also dR/dt = (2/5) R/t. The similarity constant ξ(γ) is a hypothesis (units leave it free). Not the energy integral.";
2185
+ readonly coverage: "covers its statement only";
2186
+ readonly leanProof: "complete";
2187
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2188
+ readonly nested: readonly [];
2189
+ }, {
2190
+ readonly key: "be-195";
2191
+ readonly bridgeId: "be-195";
2192
+ readonly kind: "bridge";
2193
+ readonly theorem: "PhysJS.StrongShock.compression_eq";
2194
+ readonly file: "StrongShock.lean";
2195
+ readonly covers: "from the Rankine-Hugoniot mass, momentum and energy laws for an ideal gas with upstream pressure p1 = 0 (the M -> infinity limit as hypothesis), (rho2 - rho1)((g-1)rho2 - (g+1)rho1) = 0, so a compressive shock has rho2/rho1 = (g+1)/(g-1); equals 4 at g = 5/3. Not the finite-Mach ratio, a magnetized shock, or the entropy condition.";
2196
+ readonly coverage: "covers its statement only";
2197
+ readonly leanProof: "complete";
2198
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2199
+ readonly nested: readonly [];
2200
+ }, {
2201
+ readonly key: "be-196";
2202
+ readonly bridgeId: "be-196";
2203
+ readonly kind: "bridge";
2204
+ readonly theorem: "PhysJS.BohmDiffusion.bohm_eq";
2205
+ readonly file: "BohmDiffusion.lean";
2206
+ readonly covers: "with the empirical Bohm coefficient c_B = 1/16 taken as a hypothesis, D_B = k_B T/(16 e B) = c_B v_th²/ω_c, and D_B/D_classical = (1+α²)/(16 α) against the be-123 classical coefficient. Not a derivation of 1/16.";
2207
+ readonly coverage: "covers its statement only";
2208
+ readonly leanProof: "complete";
2209
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2210
+ readonly nested: readonly [];
2211
+ }, {
2212
+ readonly key: "be-197";
2213
+ readonly bridgeId: "be-197";
2214
+ readonly kind: "bridge";
2215
+ readonly theorem: "PhysJS.BondiHoyle.radius_eq";
2216
+ readonly file: "BondiHoyle.lean";
2217
+ readonly covers: "with the capture radius defined by escape speed squared 2GM/r equal to v² + c_s², r = 2GM/(v²+c_s²); at rest 2GM/c_s², which is four times the be-118 Parker radius (reuses ParkerCritical.critical_radius). Not an accretion rate; the quadrature sum and factor 2 are definitional.";
2218
+ readonly coverage: "covers its statement only";
2219
+ readonly leanProof: "complete";
2220
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2221
+ readonly nested: readonly [];
2222
+ }, {
2223
+ readonly key: "be-198";
2224
+ readonly bridgeId: "be-198";
2225
+ readonly kind: "bridge";
2226
+ readonly theorem: "PhysJS.Stromgren.radius_eq";
2227
+ readonly file: "Stromgren.lean";
2228
+ readonly covers: "from ionization balance Q = (4π/3) R³ n² α_B, R³ = 3Q/(4π α_B n²) and R = (3Q/(4π α_B n²))^(1/3); R(8Q) = 2R. α_B (case B) is a hypothesis. Not a numerical radius or a recombination coefficient.";
2229
+ readonly coverage: "covers its statement only";
2230
+ readonly leanProof: "complete";
2231
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2232
+ readonly nested: readonly [];
2233
+ }, {
2234
+ readonly key: "be-199";
2235
+ readonly bridgeId: "be-199";
2236
+ readonly kind: "bridge";
2237
+ readonly theorem: "PhysJS.DispersionDelay.delay_eq";
2238
+ readonly file: "DispersionDelay.lean";
2239
+ readonly covers: "group velocity v_g = c sqrt(1 - ω_p²/ω²) from the cold-plasma dispersion relation; uniform-slab delay bracketed between the leading term and that term over (1-x); and the leading delay integral gives Δt = e²/(8π² ε0 m_e c) DM/ν² with ω_p² = n e²/(ε0 m_e). Not the 4.149 ms GHz² decimal, scattering or a magnetic field.";
2240
+ readonly coverage: "covers its statement only";
2241
+ readonly leanProof: "complete";
2242
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2243
+ readonly nested: readonly [];
2244
+ }, {
2245
+ readonly key: "be-200";
2246
+ readonly bridgeId: "be-200";
2247
+ readonly kind: "bridge";
2248
+ readonly theorem: "PhysJS.FaradayRotation.rotation_eq";
2249
+ readonly file: "FaradayRotation.lean";
2250
+ readonly covers: "for R/L Stix indices n²=1-X/(1∓Y) (exact n_R²-n_L² = -2XY/(1-Y²)), under the quasi-longitudinal premise k_L - k_R = ω_p² ω_c/(c ω²), and Δχ = ½∫(k_L-k_R)dl gives Δχ = RM λ² with RM = e³/(8π² ε0 m_e² c³) ∫ n B_par dl; odd in B_par. Not the Appleton-Hartree expansion or the decimal 0.812.";
2251
+ readonly coverage: "covers its statement only";
2252
+ readonly leanProof: "complete";
2253
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2254
+ readonly nested: readonly [];
2255
+ }, {
2256
+ readonly key: "be-201";
2257
+ readonly bridgeId: "be-201";
2258
+ readonly kind: "bridge";
2259
+ readonly theorem: "PhysJS.LarmorRadiation.larmor_eq";
2260
+ readonly file: "LarmorRadiation.lean";
2261
+ readonly covers: "from the far-zone field E = q a sinθ/(4π ε0 c² r), Poynting flux ε0 c E² and integration over the sphere with ∫ sin³ = 4/3, P = q² a²/(6π ε0 c³); also cyclotron power with a = ω_c v_perp. Not a derivation of the radiation field or radiation reaction.";
2262
+ readonly coverage: "covers its statement only";
2263
+ readonly leanProof: "complete";
2264
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2265
+ readonly nested: readonly [];
2266
+ }, {
2267
+ readonly key: "be-202";
2268
+ readonly bridgeId: "be-202";
2269
+ readonly kind: "bridge";
2270
+ readonly theorem: "PhysJS.Bremsstrahlung.emissivity_eq";
2271
+ readonly file: "Bremsstrahlung.lean";
2272
+ readonly covers: "from the Born-level spectral emissivity with a constant Gaunt factor, the photon cutoff ħω <= ½ m v² (where ħ enters) and the Maxwellian mean speed, P = (16/(3ħ)) (e²/4πε0)³/(m c³) sqrt(2π k_B T/(3m)) Z² n_e n_i g; dimension vector (1,-1,-3), and dropping ħ gives (2,1,-4). Not the spectral emissivity, the value of g, or the Maxwell mean speed.";
2273
+ readonly coverage: "covers its statement only";
2274
+ readonly leanProof: "complete";
2275
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2276
+ readonly nested: readonly [];
2277
+ }, {
2278
+ readonly key: "be-203";
2279
+ readonly bridgeId: "be-203";
2280
+ readonly kind: "bridge";
2281
+ readonly theorem: "PhysJS.CriticalIonization.critical_velocity_eq";
2282
+ readonly file: "CriticalIonization.lean";
2283
+ readonly covers: "from the energy condition ½ m_n v² = e φ_i, v = sqrt(2 e φ_i/m_n), the threshold iff, and a 51.0-51.1 km/s bracket for hydrogen. Scope-limited: that the condition is an instability threshold is not proved.";
2284
+ readonly coverage: "covers its statement only";
2285
+ readonly leanProof: "complete";
2286
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2287
+ readonly nested: readonly [];
2288
+ }, {
2289
+ readonly key: "be-204";
2290
+ readonly bridgeId: "be-204";
2291
+ readonly kind: "bridge";
2292
+ readonly theorem: "PhysJS.LmtdCounterflow.lmtd_eq";
2293
+ readonly file: "LmtdCounterflow.lean";
2294
+ readonly covers: "from the steady counterflow stream equations C_h dT_h/dx = -a(T_h-T_c), C_c dT_c/dx = -a(T_h-T_c) on [0,L] (HasDerivAt premises, constant U A = aL), the local difference decays as exp(-kappa x), the stream energy balance follows from the same ODEs, and the duty Q = C_h(T_h(0)-T_h(L)) equals U A (dT1-dT2)/ln(dT1/dT2); the balanced case C_h = C_c is included with lmtd x x = x. Not a derivation of U; constant heat capacities, no phase change or losses.";
2295
+ readonly coverage: "covers its statement only";
2296
+ readonly leanProof: "complete";
2297
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2298
+ readonly nested: readonly [];
2299
+ }, {
2300
+ readonly key: "be-205";
2301
+ readonly bridgeId: "be-205";
2302
+ readonly kind: "bridge";
2303
+ readonly theorem: "PhysJS.EpsilonNtu.eps_ntu_eq";
2304
+ readonly file: "EpsilonNtu.lean";
2305
+ readonly covers: "from the same steady counterflow stream ODEs (premises HasDerivAt on [0,L], U A = aL), the terminal temperatures expressed through epsilon = Q/(C_min(T_h,in - T_c,in)) and the exponential decay of the local difference give epsilon = (1-E)/(1-C_r E), E = exp(-NTU(1-C_r)), for C_r < 1 with either stream as C_min; eps_ntu_balanced gives NTU/(1+NTU) at C_r = 1. Not a derivation of U; constant heat capacity rates, no phase change.";
2306
+ readonly coverage: "covers its statement only";
2307
+ readonly leanProof: "complete";
2308
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2309
+ readonly nested: readonly [];
2310
+ }, {
2311
+ readonly key: "be-206";
2312
+ readonly bridgeId: "be-206";
2313
+ readonly kind: "bridge";
2314
+ readonly theorem: "PhysJS.BlasiusFriction.darcy_blasius_eq";
2315
+ readonly file: "BlasiusFriction.lean";
2316
+ readonly covers: "the pipe-segment force balance dp (pi D^2/4) = tau_w (pi D L) with tau_w = f rho v^2/8 gives dp = f (L/D) rho v^2/2; the Blasius law f = c Re^(-1/4) is taken as an empirical hypothesis and implies dp = (c/2) rho^(3/4) mu^(1/4) v^(7/4) L D^(-5/4). The constant 0.316 and the exponent -1/4 are not derived; fully developed smooth-pipe flow only.";
2317
+ readonly coverage: "covers its statement only";
2318
+ readonly leanProof: "complete";
2319
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2320
+ readonly nested: readonly [];
2321
+ }, {
2322
+ readonly key: "be-207";
2323
+ readonly bridgeId: "be-207";
2324
+ readonly kind: "bridge";
2325
+ readonly theorem: "PhysJS.ErgunEquation.ergun_eq";
2326
+ readonly file: "ErgunEquation.lean";
2327
+ readonly covers: "from the bed momentum-loss form dp/L = f_p (rho v^2/d)(1-eps)/eps^3 with the viscous-plus-inertial friction law f_p = k1/Re_p + k2 and Re_p = rho v d/(mu(1-eps)), the two-term Ergun pressure gradient follows; viscous_dominates gives the crossover Re_p = k1/k2 and ergun_numbers evaluates 64062.5 Pa/m for 3 mm beads. The constants k1 = 150 and k2 = 1.75 are empirical hypotheses, not derived.";
2328
+ readonly coverage: "covers its statement only";
2329
+ readonly leanProof: "complete";
2330
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2331
+ readonly nested: readonly [];
2332
+ }, {
2333
+ readonly key: "be-208";
2334
+ readonly bridgeId: "be-208";
2335
+ readonly kind: "bridge";
2336
+ readonly theorem: "PhysJS.BraytonCycle.brayton_eq";
2337
+ readonly file: "BraytonCycle.lean";
2338
+ readonly covers: "from isentropic legs T2/T1 = T3/T4 = r_p^((gamma-1)/gamma) and isobaric heats Q_in = c_p(T3-T2), Q_out = c_p(T4-T1), eta = 1 - r_p^((1-gamma)/gamma); poisson_ratio proves the isentropic temperature ratio from p V^gamma = const and p V = kT. Constant gamma and c_p, no losses; not the Otto exponent (brayton_ne_otto).";
2339
+ readonly coverage: "covers its statement only";
2340
+ readonly leanProof: "complete";
2341
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2342
+ readonly nested: readonly [];
2343
+ }, {
2344
+ readonly key: "be-209";
2345
+ readonly bridgeId: "be-209";
2346
+ readonly kind: "bridge";
2347
+ readonly theorem: "PhysJS.LangmuirIsotherm.langmuir_eq";
2348
+ readonly file: "LangmuirIsotherm.lean";
2349
+ readonly covers: "the steady site balance k_a P (1-theta) = k_d theta with K = k_a/k_d gives theta = K P/(1+K P); relaxation_eq solves dtheta/dt = k_a P(1-theta) - k_d theta on [0,T] so the isotherm is the exponential attractor. One site per molecule, no interaction, single layer; k_a, k_d are inputs.";
2350
+ readonly coverage: "covers its statement only";
2351
+ readonly leanProof: "complete";
2352
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2353
+ readonly nested: readonly [];
2354
+ }, {
2355
+ readonly key: "be-210";
2356
+ readonly bridgeId: "be-210";
2357
+ readonly kind: "bridge";
2358
+ readonly theorem: "PhysJS.ButlerVolmer.butler_volmer_eq";
2359
+ readonly file: "ButlerVolmer.lean";
2360
+ readonly covers: "from Arrhenius anodic and cathodic currents with barriers shifted by alpha e eta and (1-alpha) e eta and equal exchange currents i0 at eta = 0, i = i0[exp(alpha e eta/k_B T) - exp(-(1-alpha) e eta/k_B T)]; linear_response gives slope i0 e/(k_B T) at eta = 0, sinh_form the alpha = 1/2 case, sign_of_current the sign of i. i0 and alpha are inputs; no mass-transfer limit; the Nernst limit (be-151) is not proved here.";
2361
+ readonly coverage: "covers its statement only";
2362
+ readonly leanProof: "complete";
2363
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2364
+ readonly nested: readonly [];
2365
+ }, {
2366
+ readonly key: "be-211";
2367
+ readonly bridgeId: "be-211";
2368
+ readonly kind: "bridge";
2369
+ readonly theorem: "PhysJS.DebyeHuckel.lnGamma_eq";
2370
+ readonly file: "DebyeHuckel.lean";
2371
+ readonly covers: "linearising the Boltzmann charge density with electroneutrality gives kappa^2 = 2 N_A e^2 I/(eps k_B T) (kappa_sq_eq); phi = q exp(-kappa r)/(4 pi eps r) solves the radial linearised Poisson-Boltzmann equation (screened_coulomb_solves); the finite self-potential -q kappa/(4 pi eps) integrated over the charging path from 0 to z e gives k_B T ln gamma = -(z e)^2 kappa/(8 pi eps). Dilute point ions; ln gamma = work/(k_B T) is a definitional hypothesis; not an extended law.";
2372
+ readonly coverage: "covers its statement only";
2373
+ readonly leanProof: "complete";
2374
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2375
+ readonly nested: readonly [];
2376
+ }, {
2377
+ readonly key: "be-212";
2378
+ readonly bridgeId: "be-212";
2379
+ readonly kind: "bridge";
2380
+ readonly theorem: "PhysJS.KelvinDroplet.kelvin_laplace_eq";
2381
+ readonly file: "KelvinDroplet.lean";
2382
+ readonly covers: "virtual work on a sphere (dV/dr = 4 pi r^2, dA/dr = 8 pi r, both proved) gives the Laplace pressure 2 gamma/r; equal chemical potentials of an incompressible liquid and an ideal vapor give k_B T ln(P/P0) = 2 gamma V_m/r + V_m(P-P0) exactly, and the Kelvin form ln(P/P0) = 2 gamma V_m/(r k_B T) once the Poynting term V_m(P-P0) is dropped as an explicit hypothesis. Bulk surface tension, ideal vapor.";
2383
+ readonly coverage: "covers its statement only";
2384
+ readonly leanProof: "complete";
2385
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2386
+ readonly nested: readonly [];
2387
+ }, {
2388
+ readonly key: "be-213";
2389
+ readonly bridgeId: "be-213";
2390
+ readonly kind: "bridge";
2391
+ readonly theorem: "PhysJS.GasMeanFreePath.mean_free_path_eq";
2392
+ readonly file: "GasMeanFreePath.lean";
2393
+ readonly covers: "the collision cylinder of cross-section pi d^2 with collision rate z = n pi d^2 v_rel, v_rel = sqrt(2) v_bar (hypothesis), n = p/(k_B T) and lambda = v_bar/z give lambda = k_B T/(sqrt(2) pi d^2 p); mean_square_relative_speed proves the algebra <|v1-v2|^2> = 2<v^2>. Dilute hard spheres, Maxwellian speeds; the mean-speed relation v_rel = sqrt(2) v_bar is a hypothesis, not integrated.";
2394
+ readonly coverage: "covers its statement only";
2395
+ readonly leanProof: "complete";
2396
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2397
+ readonly nested: readonly [];
2398
+ }, {
2399
+ readonly key: "be-214";
2400
+ readonly bridgeId: "be-214";
2401
+ readonly kind: "bridge";
2402
+ readonly theorem: "PhysJS.GrayBodyExchange.gray_exchange_eq";
2403
+ readonly file: "GrayBodyExchange.lean";
2404
+ readonly covers: "the radiosity balance J = eps sigma T^4 + (1-eps) G with G1 = J2, G2 = J1 and q = J1 - J2 gives q = sigma(T1^4-T2^4)/(1/eps1+1/eps2-1) for 0 < eps <= 1. Infinite parallel diffuse gray plates in vacuum; sigma is an input (be-165 gives its value), absorptivity = emissivity is a hypothesis.";
2405
+ readonly coverage: "covers its statement only";
2406
+ readonly leanProof: "complete";
2407
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2408
+ readonly nested: readonly [];
2409
+ }, {
2410
+ readonly key: "be-215";
2411
+ readonly bridgeId: "be-215";
2412
+ readonly kind: "bridge";
2413
+ readonly theorem: "PhysJS.NernstEinsteinConductivity.molar_conductivity_eq";
2414
+ readonly file: "NernstEinsteinConductivity.lean";
2415
+ readonly covers: "zero net flux n u E - D n' = 0 in a Boltzmann profile n' = (z e E/k_B T) n gives the mobility u = z e D/(k_B T); j = z e n u E gives sigma = n z^2 e^2 D/(k_B T); with n = N_A c, F = N_A e, R = N_A k_B, Lambda_m = z^2 F^2 D/(R T). Infinite dilution, no ion pairing; D is an input.";
2416
+ readonly coverage: "covers its statement only";
2417
+ readonly leanProof: "complete";
2418
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2419
+ readonly nested: readonly [];
2420
+ }, {
2421
+ readonly key: "be-216";
2422
+ readonly bridgeId: "be-216";
2423
+ readonly kind: "bridge";
2424
+ readonly theorem: "PhysJS.SchwarzschildCircularOrbits.isco_eq";
2425
+ readonly file: "SchwarzschildCircularOrbits.lean";
2426
+ readonly covers: "from the Schwarzschild effective potential V(r)=(1-2m/r)(1+L^2/r^2), m=GM/c^2, proves V'=V''=0 forces r=6m (and L^2=12m^2), and the photon-potential extremum forces r=3m; derivatives computed exactly via HasDerivAt. Premises: non-rotating vacuum, test particle. Not a derivation of the metric; no numerical km values.";
2427
+ readonly coverage: "covers its statement only";
2428
+ readonly leanProof: "complete";
2429
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2430
+ readonly nested: readonly [];
2431
+ }, {
2432
+ readonly key: "be-217";
2433
+ readonly bridgeId: "be-217";
2434
+ readonly kind: "bridge";
2435
+ readonly theorem: "PhysJS.BinaryGWPower.power_eq";
2436
+ readonly file: "BinaryGWPower.lean";
2437
+ readonly covers: "from the quadrupole power P=(32/5)(G/c^5) mu^2 a^4 omega^6 (hypothesis), reduced mass, and Kepler omega^2=G(m1+m2)/a^3, derives P=(32/5)G^4 m1^2 m2^2 (m1+m2)/(c^5 a^5). Not a derivation of the 32/5 quadrupole coefficient and not the eccentric factor f(e).";
2438
+ readonly coverage: "covers its statement only";
2439
+ readonly leanProof: "complete";
2440
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2441
+ readonly nested: readonly [];
2442
+ }, {
2443
+ readonly key: "be-218";
2444
+ readonly bridgeId: "be-218";
2445
+ readonly kind: "bridge";
2446
+ readonly theorem: "PhysJS.PetersInspiralTime.inspiral_time_eq";
2447
+ readonly file: "PetersInspiralTime.lean";
2448
+ readonly covers: "from E=-G m1 m2/(2a), the quadrupole power (hypothesis) and dE/dt=-P derives da/dt=-(64/5)G^3 m1 m2 (m1+m2)/(c^5 a^3) via HasDerivAt, integrates a^4+Kt=const exactly (zero derivative, constant_of_has_deriv_right_zero), and if a reaches 0 at T proves T=(5/256)c^5 a0^4/(G^3 m1 m2 (m1+m2)). Premises: circular, adiabatic, point masses. Not a derivation of the quadrupole power; Newtonian energy used to a=0.";
2449
+ readonly coverage: "covers its statement only";
2450
+ readonly leanProof: "complete";
2451
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2452
+ readonly nested: readonly [];
2453
+ }, {
2454
+ readonly key: "be-219";
2455
+ readonly bridgeId: "be-219";
2456
+ readonly kind: "bridge";
2457
+ readonly theorem: "PhysJS.GeodeticPrecession.geodetic_eq";
2458
+ readonly file: "GeodeticPrecession.lean";
2459
+ readonly covers: "from the weak-field gyroscope rate Omega=(gamma_P+1/2)(GM/(c^2 r^2))v (hypothesis, gamma_P=1 in GR) and circular Kepler v^2=GM/r, derives Omega=(3/2)(GM)^{3/2}/(c^2 r^{5/2}) in rpow form and 3 pi GM/(c^2 r) per orbit. Not a derivation of the rate from the metric; no Lense-Thirring term.";
2460
+ readonly coverage: "covers its statement only";
2461
+ readonly leanProof: "complete";
2462
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2463
+ readonly nested: readonly [];
2464
+ }, {
2465
+ readonly key: "be-220";
2466
+ readonly bridgeId: "be-220";
2467
+ readonly kind: "bridge";
2468
+ readonly theorem: "PhysJS.MatterDominatedAge.age_eq";
2469
+ readonly file: "MatterDominatedAge.lean";
2470
+ readonly covers: "from flat Friedmann (a'/a)^2=(8 pi G/3)rho, dust rho a^3=rho0, expanding a with a(0)=0, proves a'^2 a=C, a^{3/2}=(3/2)sqrt(C) t (mean value theorem), H=2/(3t), hence t0=2/(3H0). Premises: flat, matter only, no radiation, no Lambda. A limit relation known to be wrong for our universe; no Gyr value.";
2471
+ readonly coverage: "covers its statement only";
2472
+ readonly leanProof: "complete";
2473
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2474
+ readonly nested: readonly [];
2475
+ }, {
2476
+ readonly key: "be-221";
2477
+ readonly bridgeId: "be-221";
2478
+ readonly kind: "bridge";
2479
+ readonly theorem: "PhysJS.HillRadius.hill_eq";
2480
+ readonly file: "HillRadius.lean";
2481
+ readonly covers: "from the rotating-frame net acceleration f(r)=-GM/(a-r)^2+omega^2(a-r), f'(0)=-3 omega^2 (omega^2=GM/a^3, HasDerivAt), the linearised balance Gm/r^2=3 omega^2 r gives r^3=a^3 m/(3M), r=a(m/(3M))^{1/3}. Premises: circular, m<<M, linearised tidal field. Leading-order L1, not exact; no numeric.";
2482
+ readonly coverage: "covers its statement only";
2483
+ readonly leanProof: "complete";
2484
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2485
+ readonly nested: readonly [];
2486
+ }, {
2487
+ readonly key: "be-222";
2488
+ readonly bridgeId: "be-222";
2489
+ readonly kind: "bridge";
2490
+ readonly theorem: "PhysJS.BekensteinBound.saturation_eq";
2491
+ readonly file: "BekensteinBound.lean";
2492
+ readonly covers: "the inequality S<=2 pi k R E/(hbar c) is a HYPOTHESIS; proved from premises: a Schwarzschild black hole (S=k c^3 A/(4G hbar), R=r_s, E=Mc^2) saturates it with equality, radius convention R=lambda r_s scales the bound by lambda, the bound is monotone in R and E, and it lies below the horizon-area entropy iff E<=R c^4/(2G). Not a derivation of the bound.";
2493
+ readonly coverage: "covers its statement only";
2494
+ readonly leanProof: "complete";
2495
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2496
+ readonly nested: readonly [];
2497
+ }, {
2498
+ readonly key: "be-223";
2499
+ readonly bridgeId: "be-223";
2500
+ readonly kind: "bridge";
2501
+ readonly theorem: "PhysJS.PhotonGasEnergyDensity.energy_density_eq";
2502
+ readonly file: "PhotonGasEnergyDensity.lean";
2503
+ readonly covers: "from mode counting u=I(kT)^4/(pi^2 (hbar c)^3) with the Bose integral I=pi^4/15 (hypothesis) and sigma=pi^2 k^4/(60 hbar^3 c^2), derives u=(pi^2/15)(kT)^4/(hbar c)^3=(4 sigma/c)T^4; photon-number conservation with n=beta T^3 gives T(z)=T0(1+z) and u(z)=u0(1+z)^4. Not a computation of the Bose integral; no 2.725 K value.";
2504
+ readonly coverage: "covers its statement only";
2505
+ readonly leanProof: "complete";
2506
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2507
+ readonly nested: readonly [];
2508
+ }, {
2509
+ readonly key: "be-224";
2510
+ readonly bridgeId: "be-224";
2511
+ readonly kind: "bridge";
2512
+ readonly theorem: "PhysJS.EtheringtonReciprocity.etherington_eq";
2513
+ readonly file: "EtheringtonReciprocity.lean";
2514
+ readonly covers: "from photon-number-conserving flux F=L/(4 pi chi^2 (1+z)^2) and s=chi theta/(1+z), derives d_L=(1+z)chi, d_A=chi/(1+z), d_L=(1+z)^2 d_A and surface brightness I_obs=I_em/(1+z)^4. Premises: metric theory, photon number conserved, no absorption. The (1+z)^-2 flux factor is a hypothesis, not derived from the FRW geometry.";
2515
+ readonly coverage: "covers its statement only";
2516
+ readonly leanProof: "complete";
2517
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2518
+ readonly nested: readonly [];
2519
+ }, {
2520
+ readonly key: "be-225";
2521
+ readonly bridgeId: "be-225";
2522
+ readonly kind: "bridge";
2523
+ readonly theorem: "PhysJS.SynchrotronCoolingTime.cooling_time_eq";
2524
+ readonly file: "SynchrotronCoolingTime.lean";
2525
+ readonly covers: "from P=(4/3) sigma_T c gamma^2 U_B (hypothesis), U_B=B^2/(2 mu0) and t=gamma m c^2/P, derives t=3 m c/(4 sigma_T gamma U_B)=3 m c mu0/(2 sigma_T gamma B^2); integrates gamma'=-kappa gamma^2 exactly to 1/gamma=1/gamma0+kappa t and proves the halving time equals the cooling time. Not a derivation of the 4/3 coefficient or inverse-Compton losses.";
2526
+ readonly coverage: "covers its statement only";
2527
+ readonly leanProof: "complete";
2528
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2529
+ readonly nested: readonly [];
2530
+ }, {
2531
+ readonly key: "be-226";
2532
+ readonly bridgeId: "be-226";
2533
+ readonly kind: "bridge";
2534
+ readonly theorem: "PhysJS.PulsarSpinDownField.pole_field_eq";
2535
+ readonly file: "PulsarSpinDownField.lean";
2536
+ readonly covers: "from Omega=2pi/P, Omega-dot=-2pi Pdot/P^2, energy balance -I Omega Omega-dot=mu0 m^2 Omega^4/(6 pi c^3) (hypothesis) and B_pole=mu0 m/(2 pi R^3), derives B_pole^2=3 mu0 c^3 I P Pdot/(8 pi^3 R^6) (equatorial /32 pi^3). Premises: orthogonal rotator, vacuum dipole, rigid sphere. The report's 8 pi^2 is wrong by sqrt(pi); not a derivation of dipole radiation.";
2537
+ readonly coverage: "covers its statement only";
2538
+ readonly leanProof: "complete";
2539
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2540
+ readonly nested: readonly [];
2541
+ }, {
2542
+ readonly key: "be-227";
2543
+ readonly bridgeId: "be-227";
2544
+ readonly kind: "bridge";
2545
+ readonly theorem: "PhysJS.FresnelNormal.reflectance_eq";
2546
+ readonly file: "FresnelNormal.lean";
2547
+ readonly covers: "from continuity of tangential E and H at a planar interface (H = n E/(mu0 c), reflected wave reversed) derives r = (n1-n2)/(n1+n2), t = 2 n1/(n1+n2), R = r^2, T = 4 n1 n2/(n1+n2)^2 and R + T = 1. Lossless non-magnetic dielectrics, normal incidence; not oblique incidence, absorption or thin films.";
2548
+ readonly coverage: "covers its statement only";
2549
+ readonly leanProof: "complete";
2550
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2551
+ readonly nested: readonly [];
2552
+ }, {
2553
+ readonly key: "be-228";
2554
+ readonly bridgeId: "be-228";
2555
+ readonly kind: "bridge";
2556
+ readonly theorem: "PhysJS.RayleighCriterion.rayleigh_eq";
2557
+ readonly file: "RayleighCriterion.lean";
2558
+ readonly covers: "with the Airy amplitude 2 J1(x)/x, x = pi D sin(theta)/lambda, and the Rayleigh peak-on-first-zero criterion, theta = (j/pi) lambda/D for j the first zero of J1. J1 is defined by its power series; a zero in (3.8,3.9) is proved (alternating-series bound + IVT), giving 1.2 < j/pi < 1.25; 3.8317/pi is shown within 0.001 of 1.22. Not a derivation of the disc diffraction integral, and j being the first positive zero is a premise.";
2559
+ readonly coverage: "covers its statement only";
2560
+ readonly leanProof: "complete";
2561
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2562
+ readonly nested: readonly [];
2563
+ }, {
2564
+ readonly key: "be-229";
2565
+ readonly bridgeId: "be-229";
2566
+ readonly kind: "bridge";
2567
+ readonly theorem: "PhysJS.AbbeResolution.resolution_eq";
2568
+ readonly file: "AbbeResolution.lean";
2569
+ readonly covers: "from the first-order grating equation n sin(theta1) = n sin(theta_i) + lambda/d and both orders lying within the numerical aperture, derives d >= lambda/(2 NA) with equality for symmetric oblique illumination; axial illumination gives d >= lambda/NA. Scalar theory, grating object; not a statement about incoherent or partially coherent imaging in general.";
2570
+ readonly coverage: "covers its statement only";
2571
+ readonly leanProof: "complete";
2572
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2573
+ readonly nested: readonly [];
2574
+ }, {
2575
+ readonly key: "be-230";
2576
+ readonly bridgeId: "be-230";
2577
+ readonly kind: "bridge";
2578
+ readonly theorem: "PhysJS.GaussianBeam.rayleigh_range_eq";
2579
+ readonly file: "GaussianBeam.lean";
2580
+ readonly covers: "from the imaginary part of the paraxial beam-parameter relation 1/q = 1/R - i lambda/(pi n w^2) with q = z + i z_R, derives z_R = pi n w0^2/lambda, w^2 = w0^2 (1+(z/z_R)^2) = w0^2 + theta^2 z^2 with theta = lambda/(pi n w0) = w0/z_R, and the far-field limit of w^2/z^2. The q relation is a premise, not derived from the paraxial equation; TEM00, M^2 = 1.";
2581
+ readonly coverage: "covers its statement only";
2582
+ readonly leanProof: "complete";
2583
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2584
+ readonly nested: readonly [];
2585
+ }, {
2586
+ readonly key: "be-231";
2587
+ readonly bridgeId: "be-231";
2588
+ readonly kind: "bridge";
2589
+ readonly theorem: "PhysJS.FabryPerot.finesse_eq";
2590
+ readonly file: "FabryPerot.lean";
2591
+ readonly covers: "derives FSR = c/(2nL) from adjacent resonance phases 4 pi n L nu/c = 2 pi m; sums the multiple-reflection geometric series to the Airy function (1-R)^2/((1-R)^2 + 4R sin^2(delta/2)); and from the half-maximum points gets the exact finesse pi/(2 arcsin s), s = (1-R)/(2 sqrt R), which is <= pi sqrt R/(1-R) with line width = FSR/F. Lossless equal mirrors, normal incidence, constant n; not mirror loss or dispersion.";
2592
+ readonly coverage: "covers its statement only";
2593
+ readonly leanProof: "complete";
2594
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2595
+ readonly nested: readonly [];
2596
+ }, {
2597
+ readonly key: "be-232";
2598
+ readonly bridgeId: "be-232";
2599
+ readonly kind: "bridge";
2600
+ readonly theorem: "PhysJS.Etendue.etendue_density_eq";
2601
+ readonly file: "Etendue.lean";
2602
+ readonly covers: "differentiating Snell's law n1 sin(th1) = n2 sin(th2(th1)) and multiplying back gives n1^2 cos th1 sin th1 = n2^2 cos th2 sin th2 th2', i.e. the etendue element n^2 dA cos(th) dOmega is conserved at refraction; with power conservation this gives L1/n1^2 = L2/n2^2, and the cone etendue pi A (n sin th)^2. Geometric optics, lossless interface; the exponent 2 is forced (power_two_forced).";
2603
+ readonly coverage: "covers its statement only";
2604
+ readonly leanProof: "complete";
2605
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2606
+ readonly nested: readonly [];
2607
+ }, {
2608
+ readonly key: "be-233";
2609
+ readonly bridgeId: "be-233";
2610
+ readonly kind: "bridge";
2611
+ readonly theorem: "PhysJS.SchawlowTownes.linewidth_eq";
2612
+ readonly file: "SchawlowTownes.lean";
2613
+ readonly covers: "from a phase-diffusion model (P = N h nu gamma, gamma = 2 pi dnu_c, spontaneous rate n_sp gamma with n_sp = 1, per-event phase variance <sin^2>/N with the phase average computed = 1/2, Lorentzian width V/(2 pi)) derives dnu = pi h nu dnu_c^2/P. The per-event coefficient is a premise of the model; not a quantum-noise derivation.";
2614
+ readonly coverage: "covers its statement only";
2615
+ readonly leanProof: "complete";
2616
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2617
+ readonly nested: readonly [];
2618
+ }, {
2619
+ readonly key: "be-234";
2620
+ readonly bridgeId: "be-234";
2621
+ readonly kind: "bridge";
2622
+ readonly theorem: "PhysJS.LaserThreshold.threshold_gain_eq";
2623
+ readonly file: "LaserThreshold.lean";
2624
+ readonly covers: "from unit round-trip intensity factor R1 R2 exp(2(g - alpha_i)L) = 1 derives g_th = alpha_i + ln(1/(R1 R2))/(2L), and that the factor exceeds 1 exactly for g > g_th; equal mirrors give ln(1/R)/L. Uniform gain, no saturation or scattering; not a prediction of alpha_i or gain.";
2625
+ readonly coverage: "covers its statement only";
2626
+ readonly leanProof: "complete";
2627
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2628
+ readonly nested: readonly [];
2629
+ }, {
2630
+ readonly key: "be-235";
2631
+ readonly bridgeId: "be-235";
2632
+ readonly kind: "bridge";
2633
+ readonly theorem: "PhysJS.PhotodiodeResponsivity.responsivity_eq";
2634
+ readonly file: "PhotodiodeResponsivity.lean";
2635
+ readonly covers: "from photon flux P/(h nu), nu = c/lambda, carrier rate eta times flux and current e times rate, derives R = eta e lambda/(h c). eta is an input (0 <= eta <= 1 bound proved); not a derivation of quantum efficiency, no gain or saturation.";
2636
+ readonly coverage: "covers its statement only";
2637
+ readonly leanProof: "complete";
2638
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2639
+ readonly nested: readonly [];
2640
+ }, {
2641
+ readonly key: "be-236";
2642
+ readonly bridgeId: "be-236";
2643
+ readonly kind: "bridge";
2644
+ readonly theorem: "PhysJS.PhotonicBandGap.gap_width_eq";
2645
+ readonly file: "PhotonicBandGap.lean";
2646
+ readonly covers: "computes the half trace of the product of two lossless-layer characteristic matrices (cos cos - (1/2)(n1/n2+n2/n1) sin sin), shows for quarter-wave layers it never exceeds 1 and is below -1 exactly for |u| < arcsin c, c = |n1-n2|/(n1+n2), and that the two band edges give (omega_hi - omega_lo)/omega_0 = (4/pi) arcsin c. First gap, normal incidence, lossless infinite stack; the Bloch criterion |1/2 Tr| > 1 as gap is taken as the definition.";
2647
+ readonly coverage: "covers its statement only";
2648
+ readonly leanProof: "complete";
2649
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2650
+ readonly nested: readonly [];
2651
+ }, {
2652
+ readonly key: "be-237";
2653
+ readonly bridgeId: "be-237";
2654
+ readonly kind: "bridge";
2655
+ readonly theorem: "PhysJS.PockelsHalfWave.half_wave_eq";
2656
+ readonly file: "PockelsHalfWave.lean";
2657
+ readonly covers: "from the impermeability change Delta(1/n^2) = r E linearised with d(1/n^2)/dn = -2/n^3 (so Delta n = -(1/2) n^3 r E), E = V/d and phase 2 pi |Delta n| L/lambda, derives V_pi = lambda d/(n^3 r L) and Gamma = pi V/V_pi. One axis, one polarisation, first order; r and n are inputs, not derived from the crystal tensor.";
2658
+ readonly coverage: "covers its statement only";
2659
+ readonly leanProof: "complete";
2660
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2661
+ readonly nested: readonly [];
2662
+ }, {
2663
+ readonly key: "be-238";
2664
+ readonly bridgeId: "be-238";
2665
+ readonly kind: "bridge";
2666
+ readonly theorem: "PhysJS.DopplerWidth.doppler_fwhm_eq";
2667
+ readonly file: "DopplerWidth.lean";
2668
+ readonly covers: "from the Maxwell line-of-sight profile exp(-m c^2 (nu-nu0)^2/(2 k T nu0^2)) (first-order Doppler shift) shows the half-maximum points are nu0 +- nu0 sqrt(2 k T ln2/(m c^2)) and that the full width is nu0 sqrt(8 k T ln2/(m c^2)). Non-relativistic gas, no collisional or natural broadening.";
2669
+ readonly coverage: "covers its statement only";
2670
+ readonly leanProof: "complete";
2671
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2672
+ readonly nested: readonly [];
2673
+ }, {
2674
+ readonly key: "be-239";
2675
+ readonly bridgeId: "be-239";
2676
+ readonly kind: "bridge";
2677
+ readonly theorem: "PhysJS.ElasticWaveSpeeds.pwave_eq";
2678
+ readonly file: "ElasticWaveSpeeds.lean";
2679
+ readonly covers: "a travelling profile f(x-ct) with nonvanishing f'' solves the reduced isotropic Navier-Cauchy equation rho u_tt=(lambda+2G)u_xx with lambda=K-2G/3 only if rho c^2=K+4G/3, so c_p=sqrt((K+4G/3)/rho); swave_eq gives c_s=sqrt(G/rho); also c_s<c_p, fluid limit K/rho, and c_p modulus >= E with equality only at lambda=0 (bar speed is a third speed). Not a derivation of Navier-Cauchy from a stress balance; infinite homogeneous isotropic linear medium.";
2680
+ readonly coverage: "covers its statement only";
2681
+ readonly leanProof: "complete";
2682
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2683
+ readonly nested: readonly [];
2684
+ }, {
2685
+ readonly key: "be-240";
2686
+ readonly bridgeId: "be-240";
2687
+ readonly kind: "bridge";
2688
+ readonly theorem: "PhysJS.ModuliRelation.young_eq";
2689
+ readonly file: "ModuliRelation.lean";
2690
+ readonly covers: "from isotropic Hooke sigma=lambda tr(eps)+2G eps with K=lambda+2G/3, the uniaxial-stress test (sigma_yy=sigma_zz=0, E=sigma/eps_xx, nu=-eps_yy/eps_xx) gives E=9KG/(3K+G) and nu=(3K-2G)/(2(3K+G)); stability gives E>0, -1<nu<1/2 for K,G>0. Not a derivation of Hooke's law; linear isotropic solid.";
2691
+ readonly coverage: "covers its statement only";
2692
+ readonly leanProof: "complete";
2693
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2694
+ readonly nested: readonly [];
2695
+ }, {
2696
+ readonly key: "be-241";
2697
+ readonly bridgeId: "be-241";
2698
+ readonly kind: "bridge";
2699
+ readonly theorem: "PhysJS.ImpedanceReflection.reflection_eq";
2700
+ readonly file: "ImpedanceReflection.lean";
2701
+ readonly covers: "pressure continuity p_i+p_r=p_t and velocity continuity (p_i-p_r)/Z1=p_t/Z2 for plane waves give p_r/p_i=(Z2-Z1)/(Z2+Z1) and R=I_r/I_i=((Z2-Z1)/(Z2+Z1))^2 with I=p^2/(2Z); energy_balance proves R+T=1. Not oblique incidence, loss or finite thickness.";
2702
+ readonly coverage: "covers its statement only";
2703
+ readonly leanProof: "complete";
2704
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2705
+ readonly nested: readonly [];
2706
+ }, {
2707
+ readonly key: "be-242";
2708
+ readonly bridgeId: "be-242";
2709
+ readonly kind: "bridge";
2710
+ readonly theorem: "PhysJS.StokesKirchhoff.attenuation_bounds";
2711
+ readonly file: "StokesKirchhoff.lean";
2712
+ readonly covers: "with the dissipation bracket b=4mu/3+mu_B+kappa(1/cv-1/cp) taken as the hypothesis (rho u_tt=(rho c^2+b d_t)u_xx), the exact solution of k^2(rho c^2 - i omega b)=rho omega^2 at k=a+i alpha gives alpha=alpha0*q with alpha0=omega^2 b/(2 rho c^3), q<=1 and q^2>=1-5eps^2/4 (eps=omega b/(rho c^2)), so the catalog prefactor is the leading term. Not a derivation of the bracket from Navier-Stokes plus heat equation and not a molecular-relaxation result.";
2713
+ readonly coverage: "covers its statement only";
2714
+ readonly leanProof: "complete";
2715
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2716
+ readonly nested: readonly [];
2717
+ }, {
2718
+ readonly key: "be-243";
2719
+ readonly bridgeId: "be-243";
2720
+ readonly kind: "bridge";
2721
+ readonly theorem: "PhysJS.HelmholtzResonator.frequency_eq";
2722
+ readonly file: "HelmholtzResonator.lean";
2723
+ readonly covers: "Newton's law for a rigid neck slug of mass rho A L against the adiabatic cavity stiffness rho c^2 A^2/V, with harmonic motion x=X cos(omega t), forces omega^2=c^2 A/(V L); catalog_form gives f=omega/(2 pi)=(c/2 pi) sqrt(A/(V L)). Not a derivation of the lumped model; cavity small against wavelength, end correction folded into L.";
2724
+ readonly coverage: "covers its statement only";
2725
+ readonly leanProof: "complete";
2726
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2727
+ readonly nested: readonly [];
2728
+ }, {
2729
+ readonly key: "be-244";
2730
+ readonly bridgeId: "be-244";
2731
+ readonly kind: "bridge";
2732
+ readonly theorem: "PhysJS.MachAngle.sin_mu_eq";
2733
+ readonly file: "MachAngle.lean";
2734
+ readonly covers: "the tangent from the source position A=(vT,0) to the wavefront circle |P|=cT (|P|^2=(cT)^2, AP perpendicular to OP) subtends sin mu=|p_y|/|AP|=c/v; no_cone_subsonic shows the tangent needs v>c; mach_two gives mu=pi/6 at v=2c. Not a finite-size source or non-uniform medium.";
2735
+ readonly coverage: "covers its statement only";
2736
+ readonly leanProof: "complete";
2737
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2738
+ readonly nested: readonly [];
2739
+ }, {
2740
+ readonly key: "be-245";
2741
+ readonly bridgeId: "be-245";
2742
+ readonly kind: "bridge";
2743
+ readonly theorem: "PhysJS.MinnaertResonance.frequency_eq";
2744
+ readonly file: "MinnaertResonance.lean";
2745
+ readonly covers: "with linearised liquid inertia rho R0 x''=k x and the polytropic gas law p_g=p R0^(3 gamma) R^(-3 gamma) (stiffness k=-3 gamma p/R0 by gas_stiffness, a HasDerivAt fact), harmonic motion forces omega^2=3 gamma p/(rho R0^2); catalog_form gives f=(1/(2 pi R0)) sqrt(3 gamma p/rho). Not a derivation of the Rayleigh equation; no surface tension, viscosity or radiation damping.";
2746
+ readonly coverage: "covers its statement only";
2747
+ readonly leanProof: "complete";
2748
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2749
+ readonly nested: readonly [];
2750
+ }, {
2751
+ readonly key: "be-246";
2752
+ readonly bridgeId: "be-246";
2753
+ readonly kind: "bridge";
2754
+ readonly theorem: "PhysJS.ZenerDamping.loss_tangent_eq";
2755
+ readonly file: "ZenerDamping.lean";
2756
+ readonly covers: "a single relaxation ODE tau xi'+xi=cos(omega t) (debye_coefficients: A=1/(1+x^2), B=x/(1+x^2)) with sigma=E eps+dE(eps-xi), dE=Delta E, Delta=E alpha^2 T/C_v, gives loss tangent Q^-1=Delta x/(1+(1+Delta)x^2), x=omega tau; debye_error shows the catalog Debye form Delta x/(1+x^2) agrees to first order (0<=D-Q<=Delta D) and debye_peak gives D<=Delta/2 with equality at x=1. Not a derivation of Delta (adiabatic-isothermal modulus difference) or tau from heat conduction.";
2757
+ readonly coverage: "covers its statement only";
2758
+ readonly leanProof: "complete";
2759
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2760
+ readonly nested: readonly [];
2761
+ }, {
2762
+ readonly key: "be-247";
2763
+ readonly bridgeId: "be-247";
2764
+ readonly kind: "bridge";
2765
+ readonly theorem: "PhysJS.PiezoCoupling.coupling_eq";
2766
+ readonly file: "PiezoCoupling.lean";
2767
+ readonly covers: "with the strain-charge constitutive law S=s^E T+dE, D=dT+eps^T E and the energy partition U_e+2U_m+U_d, the energy coupling factor U_m^2/(U_e U_d) equals d^2/(eps^T s^E); clamped_permittivity_eq and open_compliance_eq give eps^S=eps^T(1-k^2), s^D=s^E(1-k^2), and positive stored energy gives k^2<1. Not a derivation of the constitutive law; one mode.";
2768
+ readonly coverage: "covers its statement only";
2769
+ readonly leanProof: "complete";
2770
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2771
+ readonly nested: readonly [];
2772
+ }, {
2773
+ readonly key: "be-248";
2774
+ readonly bridgeId: "be-248";
2775
+ readonly kind: "bridge";
2776
+ readonly theorem: "PhysJS.BrillouinShift.brillouin_eq";
2777
+ readonly file: "BrillouinShift.lean";
2778
+ readonly covers: "phase matching q=k_i-k_s with |k_s|=|k_i|=k=2 pi n/lambda0 gives q=2k sin(theta/2); with Omega=v q and nu=Omega/(2 pi), nu=2 n v sin(theta/2)/lambda0, which is the catalog 2nv/lambda0 at backscatter theta=pi (backscatter_eq); silica_value brackets 11.15 GHz. Not a derivation of Omega=v q or the scattering strength.";
2779
+ readonly coverage: "covers its statement only";
2780
+ readonly leanProof: "complete";
2781
+ readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2782
+ readonly nested: readonly [];
2783
+ }, {
2784
+ readonly key: "be-249";
2785
+ readonly bridgeId: "be-249";
2786
+ readonly kind: "bridge";
2787
+ readonly theorem: "PhysJS.PhotoacousticPressure.photoacoustic_eq";
2788
+ readonly file: "PhotoacousticPressure.lean";
2789
+ readonly covers: "constant-volume heating (Delta T=mu_a F/(rho C_v), p0=beta K_T Delta T) with K_S=K_T C_p/C_v and c^2=K_S/rho gives p0=(beta c^2/C_p) mu_a F, eliminating C_v, K_T, K_S. Not a derivation of the thermodynamic identities, of stress/thermal confinement, or of water's numerical Gruneisen value.";
1410
2790
  readonly coverage: "covers its statement only";
1411
2791
  readonly leanProof: "complete";
1412
2792
  readonly axioms: readonly ["propext", "Classical.choice", "Quot.sound"];
2793
+ readonly nested: readonly [];
1413
2794
  }];
1414
2795
  //# sourceMappingURL=physjs-entries.generated.d.ts.map