# Reproduce Projective exhaustion and the finite-chain tube receiver

Read the complete current learner and formal argument. Every worked example and all six complete solutions are retained.

## Exact original files and useful complete alternatives

The complete programme context includes seven full source components and the complete selected manifold-duality §§1–3. All mathematical proof, formula and exercise bodies are preserved. Source-credit and scope paragraphs in three providers and the current main's provider notice are revised; their exact current byte counts and hashes are listed below. Every other non-HTML original file below retains exact bytes. Read the [complete source index and original component terms](../reproduce/L124/context/scope.html). The original PSH source and its complete shell-corrected alternative are both retained; that unused wording repair does not admit the whole PSH course. The earlier TP main is retained as a historical alternative; its TP10 display lacked one backslash. Use the complete corrected main and current reader for that display.

- [context/assets/mathjax/LICENSE](../reproduce/L124/context/assets/mathjax/LICENSE) — 11358 bytes; SHA256 `CFC7749B96F63BD31C3C42B5C471BF756814053E847C10F3EB003417BC523D30`.
- [context/course.css](../reproduce/L124/context/course.css) — 767 bytes; SHA256 `BBCAEDDB33E2D2D046EF737C9A629151BF3CEAF920FE978443670E7A5297700D`.
- [context/figures/geometry.json](../reproduce/L124/context/figures/geometry.json) — 16016 bytes; SHA256 `4E6F6B0D5519E0DFDF3155B73486890979613ADDA5D0321F60D24E1F47D152E4`.
- [context/figures/normal-first-tube-and-degrees.png](../reproduce/L124/context/figures/normal-first-tube-and-degrees.png) — 111328 bytes; SHA256 `5C856BC578BA1ED044B50FB8E40FA05F0A411AC85001D7D8C1CC0D4C23C24B5D`.
- [context/figures/normal-first-tube-and-degrees.svg](../reproduce/L124/context/figures/normal-first-tube-and-degrees.svg) — 84625 bytes; SHA256 `F4B4C6669AEFE64899920D26FC700B483043E524F6996ACEB0A9B9FE81972D83`.
- [context/figures/projective-exhaustion.png](../reproduce/L124/context/figures/projective-exhaustion.png) — 70961 bytes; SHA256 `F6CC7FE2664ABF0883C80B3C9656FA0EBFCFBB30D35CEC2D95D148DB2693E5E3`.
- [context/figures/projective-exhaustion.svg](../reproduce/L124/context/figures/projective-exhaustion.svg) — 49692 bytes; SHA256 `E64C2CF9002551FB03565F8C8E3FCC5967764E0A73F1B16E31C151D8DBE34C00`.
- [context/LICENSE.txt](../reproduce/L124/context/LICENSE.txt) — 259 bytes; SHA256 `5FB9AC6AA86AC075EBF6F1024013BB9BBFB2FD2E46E3F1F0268C0F2521D8955A`.
- [context/make_figures.py](../reproduce/L124/context/make_figures.py) — 4562 bytes; SHA256 `C2743369E89A79E1CB9898B24B7DBBD3EF02DF3CCF79B5D9632F34D6875EDA49`.
- [context/notices/LICENSE_DEJAVU.txt](../reproduce/L124/context/notices/LICENSE_DEJAVU.txt) — 4816 bytes; SHA256 `D75938DEC098F06F0AC3C00853065D94F020BE1C3C62EF1DC2975BA15B4D9B0E`.
- [context/notices/LICENSE_STIX.txt](../reproduce/L124/context/notices/LICENSE_STIX.txt) — 5476 bytes; SHA256 `BAB3D31DFEF07F483624F2F65F2711E76065B8E7273278B1C071EDE1041C9959`.
- [context/projective-exhaustion-and-the-finite-chain-tube-receiver.md](../reproduce/L124/context/projective-exhaustion-and-the-finite-chain-tube-receiver.md) — 36286 bytes; SHA256 `96DC10389D3CFE7DD29D29A40A8077A1D86EB2ACB09ABD64881B6ABF33424976`.
- [context/README-reproduce.md](../reproduce/L124/context/README-reproduce.md) — 2390 bytes; SHA256 `C16670E6CFEC08F3322C403838F4093BFA9C197CAA7C9F41447D9BD9DE1C4C36`.
- [context/sources/cap-products-and-cohomology-with-compact-supports.md](../reproduce/L124/context/sources/cap-products-and-cohomology-with-compact-supports.md) — 10745 bytes; SHA256 `B9CEEA2F7AA6C8D7C9D458A8AF90116B6B3B04AB42ED6C13D28C849BA8EBBA91`.
- [context/sources/holomorphic-morse-exhaustions-on-stein-manifolds.md](../reproduce/L124/context/sources/holomorphic-morse-exhaustions-on-stein-manifolds.md) — 26285 bytes; SHA256 `B2AE35E343485EE9F019FDC6BCCB3BBE218EFDA9DD772E3C63077A2DF5E07BAD`.
- [context/sources/manifold-duality-and-tubular-sections.md](../reproduce/L124/context/sources/manifold-duality-and-tubular-sections.md) — 25074 bytes; SHA256 `1FEBF39CD776742AFEAC433E65B0D1B262086CA8DFCE680B8441C444A20E2BB2`.
- [context/sources/orientations-and-fundamental-classes.md](../reproduce/L124/context/sources/orientations-and-fundamental-classes.md) — 14019 bytes; SHA256 `36D163752EAD201E2F3D9AAF141A41658B37C7447E9618151ADAF80556B869A1`.
- [context/sources/plurisubharmonic-functions-and-stein-manifolds.md](../reproduce/L124/context/sources/plurisubharmonic-functions-and-stein-manifolds.md) — 12122 bytes; SHA256 `D90D1BAE6888C3BED131E46040BF69F1DC05E31FE0C32C2775D2125770307CA5`.
- [context/sources/poincare-duality.md](../reproduce/L124/context/sources/poincare-duality.md) — 8341 bytes; SHA256 `6D8CF3476A087DEAC5FDBA857DACC32F87B0507C19C50FC6A797C995A9FB65CB`.
- [context/sources/smooth-period-detection.md](../reproduce/L124/context/sources/smooth-period-detection.md) — 34358 bytes; SHA256 `3441B8C9A77E21120E25C357F2B603A6D26F2D56A5A5415B04210C4FDE00AEF4`.
- [context/sources/thom-classes-and-euler-classes.md](../reproduce/L124/context/sources/thom-classes-and-euler-classes.md) — 41929 bytes; SHA256 `1FBB1648DF1FF2D832E7FE2BDC61600F723BB30CFC58BDEB516071529494E61F`.
- [original-main-alternative.md](../reproduce/L124/original-main-alternative.md) — 36090 bytes; SHA256 `5A2B9036C2759C156AFF43D508A9F1DB9D48CD6B00C3146C73BDE53C288C44A0`.

## Fresh native reproduction

Use Python, NumPy and Matplotlib in a fresh scratch directory. Keep the renderer with its supplied README and licence.

```text
python -B -X utf8 make_figures.py --out fresh-figures
```

Compare every PNG, SVG and geometry.json with the exact supplied outputs. Different library or font versions can alter bytes; exact coordinates, constants, signs, identifications and proof locators remain in geometry.json and the full captions. The figures are explanatory objects, not substitutes for the complete proof.

## Credits and scope

Original TP041 and MH043 proof, diagrams and renderer: GPT-6.1 Sol (OpenAI), Ultra, October 2026, CC0-1.0. Original programme sources retain their precise Claude Opus5.5 or GPT-6.1 Sol credits and CC0 notices. Added orientation, current qualification and reader presentation: GPT-6.1 Sol (OpenAI), Ultra, October 2026, CC0-1.0. Valid human mathematical credits remain with the current sources. They do not license an external book body or establish proof closure. MathJax retains Apache-2.0; DejaVu and STIX retain their original font notices.

Geometric H is at the proper Morse, finite-chain and declared index entries. The selected Thom/tubular proofs retain their exact coefficient and manifold hypotheses. Lower analytic regularity, smooth perturbation, Sard, whole Stein/sheaf courses, rational form completeness and spanning, affine C8, full component constancy and recursive course closure are separate. L124 preserves the original conditional compact-support alternative and records the real comparison. L125 supplies the complete finite-chain handle proof.
