Skip to content

Import the Hopf problem formalization - #392

Merged
Vilin97 merged 56 commits into
mainfrom
codex/import-hopf-problem-s6-2026-09-04
Sep 21, 2026
Merged

Vilin97 merged 56 commits into
mainfrom
codex/import-hopf-problem-s6-2026-09-04

Conversation

@Vilin97

@Vilin97 Vilin97 commented Sep 4, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Imports Boris Alexeev's Apache-2.0-licensed formalization of a complex structure on the six-sphere as LeanPool.HopfProblem.

The preserved headline is:

Mathoverflow1973.mathoverflow_1973 :
  ∃ atlas : ChartedSpace (EuclideanSpace ℂ (Fin 3)) (Mathoverflow1973.unitSphere 6),
    letI := atlas
    IsManifold 𝓘(ℂ, EuclideanSpace ℂ (Fin 3)) 1
      (Mathoverflow1973.unitSphere 6)

The project also exposes the stronger analytic result
Mathoverflow1973.SixSphereComplexAtlas.exists_complex_analytic_atlas and its differentiable corollary.

Provenance

Both source revisions are recorded in the entry module. The canonical commit remains the project-card source; the split commit records the exact modular source tree imported here.

Integration and optimization

  • Updated the development to Lean v4.34.0-rc1 and the pool's current Mathlib.
  • Replaced broad imports with 97 explicit Mathlib leaves (including 22 exact tactic modules) and project-prefixed module imports; there is no umbrella import Mathlib, import Mathlib.Tactic, or Selberg-sieve import. The final tactic shake reduced the focused Lake job closure from 4,673 to 4,497 (-3.8%).
  • Used Lean module privacy to keep internal implementation details private: only 228 bridge/API declarations remain public, with meaningful documentation.
  • Built a compiled used-constant and source-command dependency graph from the exact headline theorem:
    • 32,509 compiled project constants
    • 28,352 constants in the headline kernel closure
    • 220 initial source-command deletion candidates
    • restored 178 declarations referenced through .ilean metadata
    • restored 8 declarations required by rebuild validation
    • retained 8 elaboration/attribute-only helpers that are invisible to the kernel closure
    • deleted 26 genuinely unreachable commands
  • Folded the final private PeriodFamily/Core10 material into its sole consumer, keeping the project at 147 modules after adding the pool entry/Prelude layout.
  • Removed 178 non-normal-form simp registrations while preserving their lemmas.
  • Removed 315 unused typeclass binders and shortened one generated-style public name.
  • Reduced the initial 6,004 linter findings to zero (5,683 documentation, 178 simpNF, 125 initial unusedArguments, and 18 underscore-name findings; cascading unused arguments were also cleared).
  • Audited current Mathlib and LeanPool.RiemannMappingTheorem / LeanPool.WhiteheadTheorem for reuse. No statement-compatible replacement measurably reduced size or compile time without introducing fragile cross-project coupling, so none was retained.

Measurements

Metric Split source baseline Optimized import
Full project build wall time 1,147.87 s 776.06 s (-32.4%)
CPU (user + system) 2,272.59 + 191.09 s 3,058.49 + 74.25 s
Peak RSS at least 7,182,684 KiB sampled 2,993,616 KiB
Build warnings 302 deprecations 0 in final validation
Modules 147 147
Physical Lean lines 254,882 260,324
Non-comment Lean lines 230,276 236,308
Bytes 13,356,599 13,517,338

The net source-size increase is the explicit privacy/public reflow, module and API documentation, and pool integration scaffolding required by the repository gates; the proof dependency cone itself lost the dead commands, unused binders, and redundant simp registrations above. The timed optimized full-source build preceded three final whitespace-warning fixes; a subsequent dependency-propagating project build and the final umbrella build were warning-free.

Verification

  • lake build LeanPool.HopfProblem — 4,673 jobs, warning-free
  • lake exe runLinter LeanPool.HopfProblem — all 14 linters pass across 22,231 declarations plus 10,535 generated declarations
  • lake exe lint-style LeanPool.HopfProblem — passes
  • lake exe mk_all --check — passes
  • lake build LeanPool — 9,882-job umbrella build passes, including collision checking against every existing pooled project
  • Targeted project-card/declaration checks and static HopfProblem quality checks — pass
  • Axiom audit of all three registered results — only propext, Classical.choice, and Quot.sound
  • Namespace audit — the public surface is under Mathoverflow1973, apart from 37 intentional extensions in AnalyticOnNhd, Complex, PartialEquiv, and Path; the umbrella build confirms no collision with current LeanPool

The repository-wide quality sweep was started against complete LeanPool, Challenge, and Solution environments, but was stopped after 12 minutes so CI can run that authoritative whole-repository audit. No failure had been reported; the project-targeted and static gates above are green.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Proof profile (new / modified Lean files)

lake build wall time (changed modules): 2062.80 s (= 34.38 min) — user 6869.78 s, sys 116.67 s.

This build covers the changed modules and their dependency cones on top of the restored cache. The serial per-file sums below are useful for ranking slow files, not as a build budget.

Total heartbeats: 133,085 maxHeartbeats units across 147 files (260,324 added LOC).

Sum of lean --profile: 5482760.1 ms (= 5482.76 s). Import-excluded time: 5215800.1 ms (= 5215.80 s).

Count-heartbeats wall-clock total: 5293.94 s. Repeated import cost inside lean --profile: 266960.0 ms (= 266.96 s).

Heartbeat values come from Mathlib's linter.countHeartbeats and are already in maxHeartbeats units. Per-file wall clocks are measured under parallel load and are noisier than heartbeats.

LOC counts added lines in the profiled Lean files from this PR diff.

File LOC Heartbeats (maxHB) Count wall (s) lean --profile (s) Without import (s) Import (s) Decls Errors
LeanPool/HopfProblem/Hurewicz/SecondHurewicz.lean 5,740 3,972 57.27 73.02 71.18 1.84 504 0
LeanPool/HopfProblem/Uniformization/SpecialPeriods2.lean 5,642 3,810 75.81 115.26 113.52 1.74 519 0
LeanPool/HopfProblem/Hurewicz/HigherHurewicz1.lean 5,706 3,759 91.06 91.53 89.63 1.90 509 0
LeanPool/HopfProblem/Uniformization/SpecialPeriods7.lean 5,607 3,750 64.65 92.33 90.54 1.79 533 0
LeanPool/HopfProblem/PeriodFamily/Core5.lean 5,638 3,685 89.82 101.79 99.96 1.83 418 0
LeanPool/HopfProblem/PeriodFamily/Core6.lean 5,643 3,474 83.86 99.18 97.38 1.80 387 0
LeanPool/HopfProblem/CuspFibre/CuspCentralHomology3.lean 5,726 3,362 59.44 57.27 55.48 1.79 531 0
LeanPool/HopfProblem/Hurewicz/ThirdHurewicz.lean 5,654 3,146 102.35 180.40 178.59 1.81 505 0
LeanPool/HopfProblem/CuspFibre/CuspCentralHomology4.lean 4,639 2,953 49.66 54.74 53.00 1.74 431 0
LeanPool/HopfProblem/Threefold/SpecialPeriods11.lean 3,777 2,951 56.50 57.10 55.30 1.80 245 0
LeanPool/HopfProblem/Uniformization/SpecialPeriods6.lean 4,043 2,910 56.69 62.77 60.94 1.83 388 0
LeanPool/HopfProblem/HomologyOfX/ThreefoldHomology3.lean 5,440 2,900 66.51 100.75 98.89 1.86 390 0
LeanPool/HopfProblem/Uniformization/SpecialPeriods5.lean 5,618 2,800 77.82 76.56 74.80 1.76 357 0
LeanPool/HopfProblem/Recognition/Smale1.lean 5,669 2,664 127.41 131.11 129.38 1.73 348 26
LeanPool/HopfProblem/Elliptic/Core5.lean 3,176 2,645 54.15 67.30 65.49 1.81 340 0
LeanPool/HopfProblem/Hurewicz/HigherHurewicz2.lean 4,308 2,604 79.76 72.07 70.25 1.82 354 0
LeanPool/HopfProblem/Recognition/Smale2.lean 5,678 2,547 105.36 103.72 101.87 1.85 310 0
LeanPool/HopfProblem/CuspFibre/CuspPositiveRetraction.lean 4,009 2,368 31.71 32.16 30.40 1.76 381 0
LeanPool/HopfProblem/PeriodFamily/Core3.lean 3,301 2,291 54.47 50.62 48.76 1.86 278 0
LeanPool/HopfProblem/Recognition/Smale3.lean 5,662 2,223 150.09 155.39 153.56 1.83 296 0
LeanPool/HopfProblem/Recognition/Smale7.lean 5,640 2,222 183.46 216.77 214.90 1.87 287 0
LeanPool/HopfProblem/Recognition/Degree1.lean 5,662 2,218 118.74 157.40 155.61 1.79 295 0
LeanPool/HopfProblem/Toric/ToricSpace2.lean 3,173 2,188 48.59 79.06 77.31 1.75 359 0
LeanPool/HopfProblem/Recognition/Smale11.lean 5,644 2,186 161.91 183.60 181.81 1.79 271 0
LeanPool/HopfProblem/CuspFibre/CuspSpecialization.lean 4,181 2,116 33.80 35.19 33.40 1.79 351 0
LeanPool/HopfProblem/Recognition/Smale5.lean 5,627 2,080 121.18 143.48 141.69 1.79 266 0
LeanPool/HopfProblem/Toric/ToricSpace1.lean 2,792 2,066 32.40 47.06 45.32 1.74 328 0
LeanPool/HopfProblem/Recognition/Smale9.lean 5,664 2,039 132.72 152.12 150.30 1.82 275 0
LeanPool/HopfProblem/HomologyTheory/SingularMayerVietoris.lean 3,722 2,026 33.92 49.42 47.69 1.73 337 0
LeanPool/HopfProblem/Recognition/Smale8.lean 5,528 2,026 161.47 174.60 172.79 1.81 241 0
LeanPool/HopfProblem/Recognition/Smale6.lean 5,637 1,880 169.42 186.00 184.21 1.79 242 0
LeanPool/HopfProblem/Pi1/FundamentalGroupVanKampen2.lean 2,732 1,854 32.77 35.37 33.57 1.80 257 0
LeanPool/HopfProblem/Toric/CuspHoneycombHexagon.lean 2,959 1,794 25.64 43.38 41.62 1.76 299 0
LeanPool/HopfProblem/Recognition/Smale10.lean 5,648 1,782 138.56 148.87 147.07 1.80 236 0
LeanPool/HopfProblem/Recognition/Degree3.lean 5,698 1,702 175.71 162.12 160.30 1.82 237 0
LeanPool/HopfProblem/Recognition/Smale4.lean 5,656 1,600 129.90 139.07 137.30 1.77 217 10
LeanPool/HopfProblem/Uniformization/SpecialPeriods4.lean 2,892 1,488 47.36 40.69 38.86 1.83 224 0
LeanPool/HopfProblem/PeriodFamily/Core4.lean 2,049 1,368 36.59 32.54 30.68 1.86 171 0
LeanPool/HopfProblem/TorusHomology/PeriodTorusHigherHomology7.lean 4,228 1,368 62.29 98.88 97.11 1.77 228 0
LeanPool/HopfProblem/Threefold/SpecialPeriods10.lean 2,500 1,259 34.47 25.68 23.70 1.98 137 0
LeanPool/HopfProblem/CuspFibre/CuspBoundaryTopVanishing.lean 2,227 1,242 39.78 41.67 39.87 1.80 207 0
LeanPool/HopfProblem/Uniformization/SpecialPeriods8.lean 1,131 1,128 25.25 17.30 15.50 1.80 141 0
LeanPool/HopfProblem/Elliptic/Core2.lean 1,395 1,112 28.84 26.53 24.79 1.74 149 0
LeanPool/HopfProblem/Threefold/SpecialPeriods8.lean 2,792 1,104 81.90 57.62 55.83 1.79 137 0
LeanPool/HopfProblem/TorusHomology/PeriodTorusHigherHomology6.lean 1,718 1,024 25.96 26.44 24.62 1.82 157 0
LeanPool/HopfProblem/Recognition/Degree2.lean 5,633 1,004 157.91 175.58 173.79 1.79 127 0
LeanPool/HopfProblem/TorusHomology/PeriodTorusHigherHomology2.lean 1,343 974 19.36 14.96 13.18 1.78 139 0
LeanPool/HopfProblem/HomologyOfX/ThreefoldHomology4.lean 1,647 948 28.59 34.11 32.26 1.85 119 0
LeanPool/HopfProblem/Pi1/MappingTorusHomology.lean 1,423 936 23.79 22.87 21.02 1.85 118 0
LeanPool/HopfProblem/Recognition/Smale12.lean 1,921 899 118.54 87.56 85.75 1.81 102 0
LeanPool/HopfProblem/HomologyOfX/CuspCoinvariants.lean 1,270 896 19.49 27.69 25.93 1.76 146 0
LeanPool/HopfProblem/Pi1/MappingTorus.lean 1,013 892 14.68 13.56 11.77 1.79 119 0
LeanPool/HopfProblem/Threefold/SpecialPeriods1.lean 976 890 35.66 27.07 25.32 1.75 100 0
LeanPool/HopfProblem/Uniformization/SpecialPeriods3.lean 3,066 836 39.14 32.68 30.87 1.81 133 0
LeanPool/HopfProblem/Uniformization/CuspUniformization1.lean 1,340 800 26.84 22.92 21.19 1.73 131 0
LeanPool/HopfProblem/Uniformization/TriangleUniformizationGluing.lean 1,455 746 9.25 18.93 17.16 1.77 105 0
LeanPool/HopfProblem/Elliptic/Core4.lean 1,303 733 33.95 28.89 27.12 1.77 95 0
LeanPool/HopfProblem/Threefold/SpecialPeriods7.lean 2,176 711 30.59 25.15 23.37 1.78 74 0
LeanPool/HopfProblem/PeriodFamily/Core7.lean 1,142 674 39.52 34.07 32.24 1.83 70 0
LeanPool/HopfProblem/Threefold/SpecialPeriods9.lean 1,067 674 16.24 13.83 12.03 1.80 75 0
LeanPool/HopfProblem/Hurewicz/SixthHurewicz.lean 1,524 618 28.05 28.11 26.24 1.87 101 0
LeanPool/HopfProblem/Elliptic/Core8.lean 959 598 21.35 18.82 16.92 1.90 73 0
LeanPool/HopfProblem/Recognition/Smale13.lean 3,846 578 100.49 114.19 112.37 1.82 78 0
LeanPool/HopfProblem/PeriodFamily/Core9.lean 1,604 565 26.32 33.58 31.75 1.83 57 0
LeanPool/HopfProblem/Elliptic/Core6.lean 658 564 20.56 14.18 12.40 1.78 74 0
LeanPool/HopfProblem/Elliptic/Core7.lean 610 562 13.64 13.35 11.60 1.75 70 0
LeanPool/HopfProblem/CuspFibre/CuspCentralHomology2.lean 624 561 7.40 6.24 4.52 1.72 72 0
LeanPool/HopfProblem/HomologyTheory/FirstHurewicz3.lean 822 558 17.70 13.77 12.04 1.73 93 0
LeanPool/HopfProblem/Threefold/SpecialPeriods6.lean 1,302 552 15.90 13.90 12.11 1.79 63 0
LeanPool/HopfProblem/PeriodFamily/Core8.lean 893 550 23.86 12.40 10.61 1.79 66 0
LeanPool/HopfProblem/Elliptic/Core1.lean 662 528 13.97 15.19 13.42 1.77 86 0
LeanPool/HopfProblem/Threefold/SpecialPeriods4.lean 826 512 14.12 12.66 10.92 1.74 64 0
LeanPool/HopfProblem/Foundations/TwoOpenTransition.lean 848 472 17.09 11.95 10.16 1.79 78 0
LeanPool/HopfProblem/PeriodFamily/PeriodPoint.lean 555 470 14.72 21.82 20.09 1.73 81 0
LeanPool/HopfProblem/Uniformization/SpecialPeriods1.lean 469 456 11.05 10.00 8.22 1.78 76 0
LeanPool/HopfProblem/HomologyTheory/SphereHomology1.lean 413 405 8.18 6.20 4.42 1.78 55 0
LeanPool/HopfProblem/HomologyOfX/ThreefoldGluing1.lean 758 376 12.58 9.81 8.01 1.80 51 0
LeanPool/HopfProblem/Pi1/FundamentalGroupVanKampen1.lean 479 376 7.79 4.49 2.69 1.80 51 0
LeanPool/HopfProblem/Foundations/LocalOrbitQuotient.lean 633 368 11.89 10.99 9.18 1.81 60 0
LeanPool/HopfProblem/HomologyOfX/TrianglePeriodFamilyHomologyLattice.lean 659 363 31.57 21.22 19.41 1.81 54 0
LeanPool/HopfProblem/PeriodFamily/Core2.lean 538 322 19.41 11.73 9.96 1.77 41 0
LeanPool/HopfProblem/Uniformization/CuspUniformization2.lean 652 312 15.13 8.07 6.30 1.77 52 0
LeanPool/HopfProblem/Uniformization/SpecialPeriods9.lean 453 288 17.26 13.39 11.62 1.77 36 0
LeanPool/HopfProblem/PeriodFamily/PeriodDomain.lean 330 258 13.03 7.45 5.67 1.78 43 0
LeanPool/HopfProblem/Threefold/SpecialPeriods12.lean 279 249 10.82 5.96 4.10 1.86 26 0
LeanPool/HopfProblem/Pi1/TwistGroup.lean 395 248 9.95 11.77 9.99 1.78 40 0
LeanPool/HopfProblem/Toric/DiagonalQuotient1.lean 406 246 11.19 6.29 4.51 1.78 41 0
LeanPool/HopfProblem/Foundations/Complex.lean 955 242 17.52 24.40 22.62 1.78 61 0
LeanPool/HopfProblem/TorusHomology/PeriodTorusHigherHomology4.lean 1,767 234 27.15 31.49 29.73 1.76 39 0
LeanPool/HopfProblem/Foundations/Core2.lean 655 230 11.07 9.02 7.25 1.77 55 0
LeanPool/HopfProblem/HomologyTheory/FirstHurewicz1.lean 315 222 7.50 4.73 2.98 1.75 37 0
LeanPool/HopfProblem/MainTheorem/SixSphereCube3.lean 296 218 13.57 6.59 4.74 1.85 37 0
LeanPool/HopfProblem/Pi1/ThreefoldOverlapMappingTorus1.lean 316 216 9.58 5.64 3.83 1.81 35 0
LeanPool/HopfProblem/Foundations/TriangleRegularBaseFundamentalGroup.lean 483 210 5.01 4.00 2.31 1.69 34 0
LeanPool/HopfProblem/Elliptic/Core3.lean 524 195 22.36 16.79 15.03 1.76 18 0
LeanPool/HopfProblem/PeriodFamily/Core1.lean 266 192 11.11 6.88 5.08 1.80 28 0
LeanPool/HopfProblem/Toric/DiagonalQuotient2.lean 451 186 15.13 8.92 7.12 1.80 31 0
LeanPool/HopfProblem/Foundations/TwoAffineCharts.lean 304 164 6.00 4.45 2.72 1.73 28 0
LeanPool/HopfProblem/Foundations/InvariantSubsetQuotient.lean 266 150 10.65 6.85 5.06 1.79 25 0
LeanPool/HopfProblem/Threefold/SpecialPeriods3.lean 357 144 12.79 7.67 5.86 1.81 18 0
LeanPool/HopfProblem/TorusHomology/PeriodTorusHigherHomology1.lean 220 144 10.02 5.29 3.48 1.81 24 0
LeanPool/HopfProblem/HomologyOfX/ThreefoldHomology2.lean 208 136 6.43 4.82 3.03 1.79 18 0
LeanPool/HopfProblem/Threefold/SpecialPeriods2.lean 247 130 9.43 5.28 3.49 1.79 13 0
LeanPool/HopfProblem/HomologyOfX/ThreefoldGluing2.lean 218 128 7.09 4.76 2.99 1.77 16 0
LeanPool/HopfProblem/Foundations/SplitGroupExtension.lean 284 126 8.31 6.01 4.22 1.79 27 0
LeanPool/HopfProblem/HomologyOfX/SmallChainBiprod.lean 251 114 6.96 4.31 2.41 1.90 19 0
LeanPool/HopfProblem/HomologyOfX/TrianglePeriodFamilyHomologyAlgebra.lean 287 114 14.19 7.46 5.62 1.84 19 0
LeanPool/HopfProblem/TorusHomology/PeriodTorusHigherHomology3.lean 287 108 8.78 4.52 2.72 1.80 18 0
LeanPool/HopfProblem/Foundations/EuclideanSphere.lean 357 100 10.71 13.45 11.60 1.85 22 0
LeanPool/HopfProblem/PeriodFamily/HolomorphicPeriodMap1.lean 395 90 19.27 13.39 11.62 1.77 15 0
LeanPool/HopfProblem/CuspFibre/CuspNegation.lean 175 86 9.85 5.22 3.38 1.84 13 0
LeanPool/HopfProblem/HomologyTheory/FirstHurewicz2.lean 173 84 9.34 3.19 1.44 1.75 14 0
LeanPool/HopfProblem/HomologyOfX/ThreefoldHomology1.lean 189 72 6.62 4.48 2.67 1.81 12 0
LeanPool/HopfProblem/MainTheorem/SixSphereCube1.lean 135 72 8.39 4.44 2.60 1.84 12 0
LeanPool/HopfProblem/Foundations/TrianglePeriodFamilyHomologySplitting.lean 123 60 7.27 4.81 3.02 1.79 10 0
LeanPool/HopfProblem/Toric/DiagonalQuotient3.lean 141 60 5.19 4.43 2.64 1.79 10 0
LeanPool/HopfProblem/Foundations/FibreTopology.lean 161 56 7.02 4.03 2.20 1.83 12 0
LeanPool/HopfProblem/Lattice/Core2.lean 122 50 8.83 4.90 3.11 1.79 13 0
LeanPool/HopfProblem/Pi1/ThreefoldOverlapMappingTorus2.lean 152 48 6.58 3.99 2.19 1.80 6 0
LeanPool/HopfProblem/HomologyTheory/SphereHomology2.lean 80 42 6.30 2.70 0.95 1.75 7 0
LeanPool/HopfProblem/Uniformization/CuspUniformization4.lean 128 42 11.01 4.40 2.60 1.80 7 0
LeanPool/HopfProblem/HomologyTheory/SphereHomology3.lean 119 36 5.85 2.85 1.11 1.74 6 0
LeanPool/HopfProblem/HomologyOfX/ThreefoldHomologyStarCoproduct.lean 425 30 13.80 8.13 6.23 1.90 5 0
LeanPool/HopfProblem/TorusHomology/PeriodTorusHigherHomology9.lean 73 30 8.31 3.62 1.79 1.83 5 0
LeanPool/HopfProblem/Uniformization/CuspUniformization3.lean 68 30 9.70 3.38 1.60 1.78 5 0
LeanPool/HopfProblem/Lattice/Core1.lean 73 24 7.63 3.30 1.50 1.80 12 0
LeanPool/HopfProblem/Threefold/SpecialPeriods5.lean 165 24 7.04 3.96 2.13 1.83 3 0
LeanPool/HopfProblem/Toric/DiagonalQuotient4.lean 97 24 6.42 3.91 2.02 1.89 4 0
LeanPool/HopfProblem/TorusHomology/PeriodTorusHigherHomology8.lean 74 24 8.35 3.19 1.42 1.77 4 0
LeanPool/HopfProblem/Foundations/CanonicalProduct.lean 83 18 10.18 4.15 2.34 1.81 3 0
LeanPool/HopfProblem/Foundations/Core3.lean 93 18 6.50 3.04 1.26 1.78 9 0
LeanPool/HopfProblem/Foundations/LineBundleTransport.lean 92 18 5.30 2.79 1.04 1.75 3 0
LeanPool/HopfProblem/MainTheorem/SixSphereCube2.lean 51 18 10.41 4.34 2.49 1.85 3 0
LeanPool/HopfProblem/CuspFibre/CuspCentralHomology1.lean 67 12 4.73 2.88 1.13 1.75 2 0
LeanPool/HopfProblem/Foundations/PeriodTorusTypeOneOne.lean 106 12 5.40 4.08 2.23 1.85 2 0
LeanPool/HopfProblem/TorusHomology/PeriodTorusHigherHomology5.lean 106 12 9.47 4.29 2.48 1.81 2 0
LeanPool/HopfProblem/Uniformization/HolomorphicCousin.lean 115 12 6.45 2.62 0.87 1.75 2 0
LeanPool/HopfProblem/Foundations/Core5.lean 52 6 5.67 3.71 1.79 1.92 3 0
LeanPool/HopfProblem/PeriodFamily/HolomorphicPeriodMap2.lean 127 6 9.23 4.12 2.37 1.75 1 0
LeanPool/HopfProblem/Foundations/Core4.lean 89 4 5.42 3.00 1.19 1.81 2 0
LeanPool/HopfProblem/Foundations/Core1.lean 43 2 4.56 2.28 0.53 1.75 1 0
LeanPool/HopfProblem/MainTheorem/Core1.lean 49 2 7.81 3.63 1.80 1.83 1 0
LeanPool/HopfProblem/MainTheorem/Core2.lean 43 2 7.52 3.81 1.98 1.83 1 0
LeanPool/HopfProblem/MainTheorem/Core3.lean 46 2 7.87 3.83 1.99 1.84 1 0
LeanPool/HopfProblem.lean 51 0 3.25 4.65 0.29 4.36 0 0
LeanPool/HopfProblem/Prelude.lean 90 0 4.65 2.04 0.28 1.76 0 0
LeanPool/HopfProblem/Threefold/SixSphereComplexAtlas.lean 96 0 9.80 4.58 2.69 1.89 0 0
Total 260,324 133,085 5293.94 5482.76 5215.80 266.96 18241 36

Aggregate phase totals

Phase Time
tactic execution 1447745.6 ms (= 1447.75 s)
typeclass inference 1353375.8 ms (= 1353.38 s)
elaboration 1185126.6 ms (= 1185.13 s)
interpretation 407078.0 ms (= 407.08 s)
type checking 273322.0 ms (= 273.32 s)
import 266960.0 ms (= 266.96 s)
simp 230095.3 ms (= 230.10 s)
blocked (unaccounted) 80945.5 ms (= 80.95 s)
tacticAnalysis 50070.3 ms (= 50.07 s)
linting 33996.8 ms (= 34.00 s)
process pre-definitions 28755.3 ms (= 28.76 s)
norm_num 21203.5 ms (= 21.20 s)

Slowest changed modules (from lake build)

Changed module Lake time
LeanPool.HopfProblem.Recognition.Smale11 124.00 s
LeanPool.HopfProblem.Recognition.Smale7 118.00 s
LeanPool.HopfProblem.Recognition.Smale9 108.00 s
LeanPool.HopfProblem.Recognition.Smale6 100.00 s
LeanPool.HopfProblem.Recognition.Smale8 99.00 s
LeanPool.HopfProblem.Hurewicz.ThirdHurewicz 93.00 s
LeanPool.HopfProblem.Recognition.Smale3 88.00 s
LeanPool.HopfProblem.Recognition.Smale4 87.00 s
LeanPool.HopfProblem.Recognition.Degree1 87.00 s
LeanPool.HopfProblem.Recognition.Degree2 87.00 s
LeanPool.HopfProblem.Recognition.Smale5 84.00 s
LeanPool.HopfProblem.Recognition.Smale10 84.00 s

Comment truncated to fit GitHub's 64 KB limit. This PR profiles 147 files; the per-file table shows only the 147 hottest by heartbeats. The full table and raw lean --profile output for every file are in the run's step summary and proof-profile artifact.

Advisory only — never blocks merge.

@github-actions

github-actions Bot commented Sep 4, 2026 •

Copy link
Copy Markdown
Contributor

🤖 LLM review (gpt-6-astra, 5 rubrics)

Reviewed head: 251f58e25306b3b20264b3cc3dd698e2f4db3f68

⚠️ Partial review — diff exceeded the size budget. The bodies of the 36 largest of 149 file patches were elided before review; an elided review cannot approve.

Verdict: 🤔 needs_discussion — computed from the rubric verdicts below, not chosen by a model.

Rubric Verdict Bottom line
Faithfulness 🤔 discuss The visible analytic and C¹ declarations match their informal claims, but the partial diff elides the preserved headline and most of the construction, so faithfulness cannot be approved from this review.
Novelty 🤔 discuss The visible headline declarations are not duplicates of Mathlib or any pooled project, but the heavily elided diff prevents an unconditional novelty pass.
Significance 🤔 discuss The six-sphere complex-structure construction is a research-level, theory-building result worth pooling, but the elided diff prevents a pass verdict here.
Sources ✅ pass The visible citation trail is internally consistent; the linked source commit and referenced paper cannot be independently verified from this partial diff, but nothing suspicious appears.
Code quality (advisory) 🤔 discuss The visible portion is maintainable in places, but it contains an evidently dead private definition and widespread generated scope boilerplate; this review is based on a partial diff.
Aspect Value
Proves the claim ➖ unverifiable
Assumed, not proved No explicit hypotheses appear in the two visible headline statements; hidden bundled assumptions or postulated structure cannot be audited because the relevant files are elided.
Already formalized 🛑 EMPTY
Matches cited source 🟡 unverifiable
Fit ✅ good_fit
Level research
Branch complex geometry and differential topology
Mode theory_building
Code quality 2 / 5

Statement check: The visible exists_complex_analytic_atlas and exists_complex_atlas state exactly existence of a ChartedSpace on unitSphere 6 with IsManifold regularity ω and 1; the mathoverflow_1973 declaration and its dependency cone are elided.

This formalizes a major claimed construction addressing the famous Hopf problem by building a complex threefold and transporting its atlas to the six-sphere.

Code quality findings (3)

  • dead-declaration — LeanPool/HopfProblem/Foundations/Core5.lean:43
    twistRelators is private and has no consumer in this module; because private declarations cannot serve as the project's API, it is dead code that should be removed (or used by a theorem in this file).
    Evidence: private def twistRelators (a b d : ℤ) : Fin 5 → FreeGroup (Fin 3) :=
    let c := FreeGroup.of (0 : Fin 3)
    let x := FreeGroup.of (1 : Fin 3)
    let y := FreeGroup.of (2 : Fin 3)
    ![c * x * (x * c)⁻¹, c * y * (y * c)⁻¹, x * y * (c ^ a)⁻¹, x ^ 3 * (c ^ b)⁻¹, y ^ 4 * (c ^ d)⁻¹]
  • import-residue — LeanPool/HopfProblem/Foundations/Core1.lean:21
    This module only defines LatticeMatrix, yet it opens a large unrelated collection of scopes (BigOperators, CategoryTheory, Convolution, UpperHalfPlane, etc.). The same blanket open scoped block is repeated across the imported files, making notation dependencies opaque and leaving generated residue that should be reduced to scopes actually used.
    Evidence: open scoped BigOperators CategoryTheory Complex.UnitDisc ComplexConjugate ContDiff ContinuousMap
    Convolution ENNReal EuclideanSpace Fin.NatCast InnerProductSpace Interval Matrix MatrixGroups
    Modular NNReal Pointwise RealInnerProductSpace TensorProduct UniformConvergence Uniformity
    UpperHalfPlane

...
public
abbrev LatticeMatrix :=
Matrix (Fin 4) (Fin 4) ℤ

  • import-residue — LeanPool/HopfProblem/Foundations/Core5.lean:21
    The blanket scope opening is also present in this small algebraic module, whose visible declarations use only integer arithmetic and FreeGroup; the unrelated topology, manifold, tensor, convolution, and uniformization scopes add maintenance noise. The repeated block should be removed or minimized per module.
    Evidence: open scoped BigOperators CategoryTheory Complex.UnitDisc ComplexConjugate ContDiff ContinuousMap
    Convolution ENNReal EuclideanSpace Fin.NatCast InnerProductSpace Interval Matrix MatrixGroups
    Modular NNReal Pointwise RealInnerProductSpace TensorProduct UniformConvergence Uniformity
    UpperHalfPlane

...
def twistOrder (ℓ₀ ℓ₁ ℓ₂ : ℤ) : ℤ :=
12 * ℓ₀ - 4 * ℓ₁ - 3 * ℓ₂


Tokens: 1,474,743 in / 10,008 out across 5 rubric calls · Tier: codex-azure · Effort: xhigh · Billing: Codex account quota on Azure (no API credits)
Each rubric is an independent review against .github/review-rubrics/ on top of .github/REVIEW_RULES.md. Disagree? Reply on the PR; rules can be updated in a PR of their own.

@Vilin97 Vilin97 added the needs-maintainer Actual human decision required: licensing, mathematical scope, policy, or reviewer disagreement. label Sep 4, 2026
@Vilin97

Vilin97 commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

Automation disposition: needs-maintainer

Reviewed exact head bc6e898. The Lean endpoint does construct a complex manifold structure on the real 6-sphere through the imported threefold/Smale chain, but this is a very recent claimed solution to a historically open problem, the card omits the underlying Alpöge paper and adapted contributors named upstream, Greptile could not review more than 100 files, and the 260k-line build/profile footprint is far beyond an automated repair. Source acceptance, attribution, and architecture require a maintainer decision.

@Vilin97

Vilin97 commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

Addressed the project-card attribution concern in 401d0fb:

  • names Levent Alpöge and identifies his six-sphere construction in the registry summary/source title;
  • credits adapted Lean developments by Yury G. Kudryashov and Sebastian Kumar;
  • credits the Formal Conjectures Authors for the adapted statement;
  • propagates those contributors into the generated card metadata.

The canonical repository attribution remains Boris Alexeev, so the source-repository authorship is not conflated with the underlying mathematics or adapted Lean components.

Verification after the metadata change: lake build LeanPool.HopfProblem, lake exe runLinter LeanPool.HopfProblem, lake exe lint-style LeanPool.HopfProblem, exact card-sync checker, and git diff --check all pass. The separate source-acceptance and architecture decisions remain for maintainer review.

@Vilin97

Vilin97 commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

Follow-up b4a4801a addresses the concrete remaining code-quality examples from the automated review while keeping the change narrow:

  • deletes the duplicate Elliptic.RealCoordinates := Fin 4 → ℝ alias and directly reuses the existing RealPlane₄ abstraction across the elliptic/period-family dependency cone;
  • removes the unused locality premise from exists_map_unitDisc_injOn_deriv_ne_zero₀ and the now-unused propagated premise from normalizedClass_nonempty;
  • removes the unused local-trivialization compatibility premise from t2Space_of_localTrivializations;
  • removes the phantom first coordinate argument from SecondSource.fourCoordinates and updates all consumers.

Verification on the exact pushed source: full lake build LeanPool.HopfProblem passed warning-free (4,497 jobs; 431.51s; 2.91GB peak RSS), all 18 initially changed modules passed runLinter and lint-style, the final two mechanically normalized modules were re-linted after the final source spelling, and git diff --check passes.

# Conflicts:
#	LeanPool/projects.yml
@Vilin97

Vilin97 commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator Author

Automation disposition: needs-maintainer

Reviewed exact head ed74291ec37af3707d933886be000a00f262c655. The post-review changes are limited to provenance/coordinate normalization, and the project build/trust gates are green; the substantive six-sphere headline remains the same. The 149-file / 260,543-line development has a 2,062.8 s profile, and the exact-head review remains a partial audit of the large split-generated infrastructure. Whether this source volume, dependency fan-out, and bundled recognition construction are acceptable is a human architecture and maintenance decision, so the existing needs-maintainer disposition is preserved at this head.

@Vilin97

Vilin97 commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator Author

Automated review update for the current head. I completed a bounded review of all changed modules and verified the repaired attribution card: Alexeev is credited for the source, Kudryashov and Kumar for Lean/mathlib contributions, and Formal Conjectures Authors for the formalization. No author-actionable attribution defect remains. needs-maintainer remains only for the source/significance boundary of this six-sphere Hopf formalization.

github-actions Bot and others added 8 commits September 10, 2026 21:45
# Conflicts:
#	LeanPool/projects.yml
# Conflicts:
#	LeanPool/projects.yml
# Conflicts:
#	LeanPool/projects.yml
# Conflicts:
#	LeanPool/projects.yml
The whole-pool `runLinter` simpNF test of this private lemma now exceeds
the 200000-heartbeat budget against the enlarged pool simp set; the lemma
is only ever applied explicitly (rw / simp only), so it no longer needs
the attribute.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Vilin97

Vilin97 commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator Author

Automated review — CI repair pushed; disposition needs-maintainer (unchanged)

Reviewed exact head 238bd1f449f77041c80d72d4f7e7d7658e090d24. The project tree is byte-identical to the previously reviewed ed74291ec3 / 5ed205a995 (every commit since is a branch-sync merge of main). Repair commit pushed on top, new head 4cb21f4548d09c43c99913948453ceb7a18de4fa.

What broke. The required Build project check went red on the sync heads since 2026-09-10 21:45 UTC (run 34549220004) although nothing under LeanPool/HopfProblem changed. The pool build itself succeeds; the single failure is in the lake exe runLinter LeanPool step: Batteries' simpNF linter runs simp on the left-hand side of every @[simp] lemma against the whole-pool simp set, and for the private lemma PeriodTorusHigherHomology.formalAssociatorHomotopy_simplex_succ (TorusHomology/PeriodTorusHigherHomology7.lean:1693) that call now exceeds the 200000-heartbeat budget (LINTER FAILED: … (deterministic) timeout at whnf). The last green run on this branch (34236316870, 2026-09-08) and the red one differ only in what was merged into main in between (PFR, Koethe, Infinitary Logic, Nash-Williams, compactness/degeneracy, chordal separators, the Chudnovsky rewrite), so the inference is that the enlarged simp set is what pushed this lemma over budget. set_option maxHeartbeats is not allowed in content files, and no other declaration is reported.

Repair. The lemma is applied only explicitly (rw / simp only, three sites, all in its own file), so it is no longer tagged @[simp]: it keeps its role as a rewrite rule and is no longer submitted to the simpNF test. Verification: lake build LeanPool.HopfProblem (all 147 modules) warning-free after the change, runLinter and whole-library lint-style clean; no statement changed.

Why still needs-maintainer. The open decision is unchanged from 2026-09-04/09-08: whether this 260k-line, 34-minute-profile AI formalization of a complex structure on the six-sphere (Alexeev's source, Alpöge's construction) meets Lean Pool's significance and source bar. One consequence of the failure mode above is worth knowing when deciding: on every whole-pool runLinter, each project's simp lemmas are re-tested against every other project's simp set, so an accepted project can start failing CI when unrelated projects merge.

@Vilin97

Vilin97 commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator Author

2026-09-18 exact-head reconciliation: Reviewed 62653ef0cc (auto-rebase merge of main). LeanPool/HopfProblem/** and the parsed card are byte-identical to the previously reviewed 4f1b097d03. The source/significance decision (Alpöge's construction versus the Campana–Demailly–Peternell corrigendum) is untouched, so needs-maintainer persists.

New at this head, and author-side: main's Lean/Mathlib v4.34.0 bump (#436) breaks the project. The exact-head Build pool fails in HomologyTheory/SingularMayerVietoris.lean (errors at lines 262, 280, 318, 330, 336, 351, 758; stdSimplex.* moved to Convexity.StdSimplex.*, Sigma.ι_desc renamed, plus about forty deprecation warnings in that file). If the maintainer accepts the source, this port repair is required before merge; automation will attempt it on this branch if time allows in the current cycle and report the resulting head here.

@Vilin97

Vilin97 commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator Author

End-of-cycle note (2026-09-18). The HopfProblem tree is unchanged through every auto-rebase sync today, so needs-maintainer stands for the source decision. On the announced repair attempt: a local build of the synced tree against main's Mathlib 5ed29652 confirms the break is not a rename. Mathlib's TopCat.toSSet now takes singular simplices over the new Convexity.StdSimplex structure, while HomologyTheory/SingularMayerVietoris.lean defines SingularSimplex X n over the deprecated set-based stdSimplex; the seven errors (lines 262–351 type mismatches, 280 rfl, 758 change) are the two types no longer agreeing, with 53 deprecation warnings in the same file and 140 downstream modules unbuilt behind it. That is a port of the singular-homology layer, not a narrowly scoped fix, so it was not pushed. If the maintainer accepts the source, budget a dedicated port cycle before merge.

github-actions Bot and others added 2 commits September 18, 2026 19:37
The v4.34.0 bump merged into this branch (#436) broke the project; CI's
Build pool failed in HomologyTheory/SingularMayerVietoris and stopped there.
Building the whole project locally surfaced the rest. Nothing mathematical
changes: every registered result still audits to propext, Classical.choice
and Quot.sound.

- Mathlib replaced the set-based `stdSimplex` by the bundled structure
  `Convexity.StdSimplex`, which `TopCat.toSSet` now uses. The singular
  chains here manipulate simplex coordinates as functions, so
  SingularMayerVietoris keeps a private copy of the retired set-based API
  (`SimplexSet`) and bridges to Mathlib's bundled simplices only at the
  `TopCat.toSSet` boundary (`toSimplex`/`ofSimplex`/`simplexIndexEquiv`);
  the face and chain-map compatibilities are now proved rather than `rfl`.
  The simplicial identity in TriangleRegularBaseFundamentalGroup is proved
  from `SimplexCategory.δ_comp_δ` instead of `SimplexCategory.toTop₀`.
- `Filter.EventuallyEq.mfderiv_eq` now inserts a `tangentSpaceCast`;
  Smale1 adds a private cast-free `mfderiv_eq'` (the cast is definitionally
  the identity) and the Recognition files use it.
- Renamed or reshaped Mathlib API: `logDeriv_mul`/`logDeriv_prod` (Pi
  forms), `IsOpenQuotientMap.secondCountableTopology`,
  `isClosed_of_discreteTopology`, `Finset.prod_le_prod₀`, removed
  `mul_le_one₀`, `JoinedIn.map` (ContinuousOn), `Set.equivOfEq`,
  `HasFDerivAt.isLittleO`, `ContinuousLinearMap.lipschitzWith`,
  `Sigma.ι_comp_desc`.
- Linter fixes: `<;>` where sequencing suffices, an unused `rfl`, and the
  `[FiniteDimensional ℝ _]` instances the `unusedArguments` linter now
  reports along the general-position chains (Mathlib's
  `dense_compl_of_dimH_lt_finrank` no longer needs them).

Validated: `lake build LeanPool.HopfProblem` warning-free (4546 jobs),
`lake exe runLinter LeanPool.HopfProblem` (15 linters, 22275
declarations), whole-library `lint-style`, `mk_all --check`, the
project card/declaration checks, the 216-declaration axiom audit and the
compiled option audit.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Vilin97

Vilin97 commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator Author

Needs-maintainer cycle 2026-09-18: v4.34.0 port pushed, head fe3c1003

The author-side blocker recorded above (the branch no longer built after main's Lean/Mathlib v4.34.0 bump) is repaired in commit fe3c1003, a fast-forward on the synced head 101bdd3b. CI's Build pool had stopped at the first failing module; a full local build of the project against main's Mathlib 5ed29652 surfaced the rest, and everything below was verified in an isolated worktree.

What changed (36 files, +656/−352, all under LeanPool/HopfProblem/; no gate, option or waiver touched):

  • Mathlib replaced the set-based stdSimplex by the bundled Convexity.StdSimplex, which TopCat.toSSet now uses. The singular chains here manipulate simplex coordinates as functions across 14 files, so HomologyTheory/SingularMayerVietoris.lean keeps a private copy of the retired set-based API (SimplexSet, verbatim from the deprecated Mathlib file) and bridges to Mathlib's bundled simplices only at the TopCat.toSSet boundary (toSimplex/ofSimplex/simplexIndexEquiv); the face and chain-map compatibilities that used to be rfl are now proved, and the simplicial identity in TriangleRegularBaseFundamentalGroup is derived from SimplexCategory.δ_comp_δ instead of SimplexCategory.toTop₀.
  • Filter.EventuallyEq.mfderiv_eq now inserts a tangentSpaceCast; Recognition/Smale1 adds a private cast-free mfderiv_eq' (the cast is definitionally the identity) and the ~45 Recognition call sites use it.
  • Renamed/reshaped Mathlib API: logDeriv_mul/logDeriv_prod (Pi forms), IsOpenQuotientMap.secondCountableTopology, isClosed_of_discreteTopology, Finset.prod_le_prod₀, the removed mul_le_one₀, JoinedIn.map (now ContinuousOn), Set.equivOfEq, HasFDerivAt.isLittleO, ContinuousLinearMap.lipschitzWith, Sigma.ι_comp_desc.
  • Linter-driven: two <;>-where-sequencing-suffices sites, one dead rfl, and 50 [FiniteDimensional ℝ _] instance binders that the unusedArguments linter now reports along the general-position/avoidance chains (Mathlib's dense_compl_of_dimH_lt_finrank no longer needs them); one of those is on the public exists_compact_boundary_derivative_repair. No statement was weakened; no hypothesis was added.

Validation at this tree: lake build LeanPool.HopfProblem warning-free (4,546 jobs); lake exe runLinter LeanPool.HopfProblem passes all 15 linters over 22,275 declarations; whole-library lint-style; lake exe mk_all --check; the project card and main_declarations checks; the 216-declaration public axiom audit and the compiled option/backdoor audit; all three registered results still depend only on propext, Classical.choice, Quot.sound. The 18:12 UTC end-of-cycle note above described exactly this port as still owed; it is now done.

Disposition: needs-maintainer persists for the unchanged source/significance decision (Alpöge's construction versus the Campana–Demailly–Peternell corrigendum) — nothing in this push bears on it. Note that main has meanwhile merged the module migration (#415), so the branch-sync bot will merge that into this branch next; the exact-head CI on the resulting head is the check to watch.

@Vilin97 Vilin97 left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent review and repair at 4c678f00e351762ae9243c4976542092ccf625ab: approve and merge after the refreshed protected checks pass.

The public endpoint is an unconditional complex-analytic ChartedSpace/IsManifold structure on Metric.sphere (0 : EuclideanSpace ℝ (Fin 7)) 1, using its standard subtype topology and Mathlib definitions. We traced the sphere aliases, actual compact complex threefold, recognition homeomorphism, atlas transport and complex-linear model change. A separate binding/instance audit found no substituted topology, weakened manifold predicate, shadow scalar type or hidden endpoint hypothesis. This is a substantial completed complex-geometry project, with a coherent construction and recognition development beyond existing Mathlib/pool headlines. Its large maintenance footprint is justified by that scope; code quality is 3/5, chiefly because the many numbered private modules make navigation expensive.

I corrected the entry prose and registry summary to say that the underlying topological space is homeomorphic to the sphere. The exposed recognition result does not assert compatibility with a preselected smooth atlas. This repair changes only prose: the Lean code tokens and every other registry value are unchanged, and the generated card remains current. git diff --check passes.

The former source-conflict hold is stale. The current Alpöge manuscript, opening discussion and section 10, explicitly challenges the non-normal-fibre reduction behind Campana–Demailly–Peternell, Corollary 2.3. Thus it acknowledges the conflict rather than silently quoting a different theorem. The pool card claims the atlas result directly formalized here; it does not claim a formal verification of that separate literature rebuttal. Pinned upstream and reused formalization credits remain explicit.

Full CI on the prior mathematical source passed compilation, linters and quality/trust gates. The source/instance inspection and proof-bridge review rely on those kernel checks; this is not a claimed line-by-line review of all 260k lines. The new prose-only head requires its own protected checks before landing. No remaining concrete semantic, source or significance blocker was found. COMMENT is used because the authenticated account authored the PR.

@Vilin97
Vilin97 merged commit e3534f0 into main Sep 21, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-maintainer Actual human decision required: licensing, mathematical scope, policy, or reviewer disagreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant