Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 64 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,70 @@ All notable changes to GIFT Core will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [3.3.12] - 2026-01-26

### Summary

**TCS Spectral Bounds Model Theorem!** New `GIFT.Spectral.NeckGeometry` and `GIFT.Spectral.TCSBounds` modules formalize the spectral bounds for Twisted Connected Sum manifolds with cylindrical neck.

### Added

- **Spectral/NeckGeometry.lean** - TCS manifold structure and hypotheses:
- `TCSManifold`: K = M₁ ∪_N M₂ with cylindrical neck N ≅ Y × [0, L]
- `BoundedNeckVolume` (H2): Vol(N) ∈ [v₀, v₁]
- `BlockCheegerBound` (H4): h(Mᵢ \ N) ≥ h₀
- `BalancedBlocks` (H5): Vol(Mᵢ) ∈ [1/4, 3/4]
- `ProductNeckMetric` (H3), `NeckMinimality` (H6): Geometric axioms
- `TCSHypotheses`: Complete hypothesis bundle
- `L₀`: Threshold neck length 2v₀/h₀ with `L₀_pos` proven
- `typical_parameters`: Algebraic verification via native_decide

- **Spectral/TCSBounds.lean** - Model Theorem for spectral bounds:
- `c₁`, `c₂_robust`, `c₂_symmetric`: Bound constants
- `spectral_upper_bound`: λ₁ ≤ 16v₁/((1-v₁)L²) via Rayleigh quotient
- `spectral_lower_bound`: λ₁ ≥ v₀²/L² via Cheeger inequality
- `tcs_spectral_bounds`: Main theorem combining both bounds
- `spectral_gap_scales_as_inverse_L_squared`: λ₁ = Θ(1/L²)
- `tcs_bounds_certificate`: Complete algebraic verification

- **Spectral.lean** - Updated re-exports for new modules

### Fixed

- **Lean toolchain compatibility**: Updated to v4.27.0 (stable)
- **Dependency pinning**: mathlib v4.27.0, doc-gen4 v4.27.0, checkdecls master
- **Type annotations**: Explicit ℚ annotations for native_decide in conjunctions

### Mathematical Significance

The Model Theorem establishes:
```
For TCS manifold K with neck length L > L₀ satisfying (H1)-(H6):
v₀²/L² ≤ λ₁(K) ≤ 16v₁/((1-v₁)L²)
```

**Key insight**: The spectral gap λ₁ scales as 1/L² for long-necked TCS manifolds.

For K7 with L² ~ H*:
- λ₁ ~ 1/H* = 1/99
- Combined with dim(G₂) = 14 gives λ₁ = 14/99 (universal spectral law)

### Module Structure

| Module | Content | Status |
|--------|---------|--------|
| `NeckGeometry.lean` | TCS structure, hypotheses H1-H6 | Structures + axioms |
| `TCSBounds.lean` | Model Theorem, bound constants | Axioms + proven algebraic |

### Relation Count

| Module | New Relations |
|--------|---------------|
| NeckGeometry | 4 |
| TCSBounds | 7 |
| **Total v3.3.12** | **11** |
| **Cumulative** | **~276** |

## [3.3.11] - 2026-01-24

### Summary
Expand Down
78 changes: 76 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,9 @@ python -c "from gift_core import *; print(GAMMA_GIFT)"
| `exp (y * log x)` vs `exp (log x * y)` | `rpow_def_of_pos` gives `exp(log x * y)` | Match multiplication order (see §34) |
| `norm_num` proves bound is false | Arithmetic error (e.g. 5.33 > 5.329692) | Double-check calculations before coding (see §35) |
| `nlinarith` fails on products | Can't handle `a < b → a*c < b*c` | Use `mul_lt_mul_of_pos_right` explicitly (see §36) |
| `native_decide` evaluates False on ℚ | Type annotation only on first conjunct | Annotate each conjunct: `(16 : ℚ) * ...` (see §47) |
| `revision not found` for checkdecls | Wrong branch name | Use `rev = "master"` not `"main"` (see §48) |
| `no such file` for Mathlib imports | Mathlib version mismatch | Pin mathlib to match lean-toolchain (see §48) |

### 6. Namespace Conflicts in Lean 4

Expand Down Expand Up @@ -1604,9 +1607,73 @@ This is a docstring.

**Rule**: Always place `import` statements at the very top of the file, before any `/-! ... -/` docstrings.

### 47. Type Annotations in Conjunctions for native_decide

**Problem**: In a conjunction `A ∧ B ∧ C`, type annotations only apply to their immediate expression, not to other conjuncts.

```lean
-- BAD - native_decide evaluates as False (integer division!)
theorem foo :
((1 : ℚ) / 2) ^ 2 = 1 / 4 ∧ -- ✓ This is ℚ
16 * (1 / 2) / (1 - 1 / 2) = 16 ∧ -- ✗ This defaults to ℕ!
2 * (1 / 2) / 1 = 1 := by -- ✗ Also ℕ!
native_decide -- FAILS: 16 * 0 / (1 - 0) ≠ 16

-- GOOD - annotate each conjunct's first number
theorem foo :
((1 : ℚ) / 2) ^ 2 = 1 / 4 ∧
(16 : ℚ) * (1 / 2) / (1 - 1 / 2) = 16 ∧
(2 : ℚ) * (1 / 2) / 1 = 1 := by
native_decide -- WORKS!
```

**Rule**: For each conjunct involving division or fractions, annotate the first literal with `(n : ℚ)`.

### 48. Lean Toolchain and Dependency Version Compatibility

**Problem**: Mathlib file structure changes between versions. Imports like `Mathlib.Data.Nat.Basic` may not exist in older Mathlib.

**Key versions (as of v3.3.12):**

| Component | Version | Notes |
|-----------|---------|-------|
| `lean-toolchain` | `leanprover/lean4:v4.27.0` | Stable release |
| `mathlib` | `v4.27.0` | Must match toolchain |
| `doc-gen4` | `v4.27.0` | Version-tagged |
| `checkdecls` | `master` | Uses `master`, NOT `main` |

**Common issues:**

1. **Mathlib paths don't exist**: You're using a Mathlib version where files were reorganized
- Solution: Update lean-toolchain AND mathlib to matching versions

2. **checkdecls revision not found**: The `lean4.X.Y` tag doesn't exist
- Solution: Use `rev = "master"` (checkdecls uses master branch, not version tags for newer Lean)

3. **Batteries compilation errors with rc versions**: Release candidates may have bugs
- Solution: Use stable versions (e.g., v4.27.0 not v4.28.0-rc1)

**lakefile.toml pattern:**
```toml
[[require]]
name = "mathlib"
git = "https://github.com/leanprover-community/mathlib4.git"
rev = "v4.27.0" # Match lean-toolchain

[[require]]
name = "checkdecls"
git = "https://github.com/PatrickMassot/checkdecls.git"
rev = "master" # NOT "main"!

[[require]]
name = "«doc-gen4»"
git = "https://github.com/leanprover/doc-gen4"
rev = "v4.27.0" # Match lean-toolchain
```

---

### Axiom Status (v3.3.11)
### Axiom Status (v3.3.12)

**Numerical Bounds - COMPLETE! (0 remaining):**
- ✓ All Taylor series bounds proven
Expand All @@ -1615,6 +1682,13 @@ This is a docstring.
- `CompactManifold`, `MassGap`, `spectral_theorem_discrete`
- `universal_spectral_law`, `CheegerConstant`, `cheeger_inequality`

**TCS Spectral Bounds (NEW in v3.3.12):**
- `ProductNeckMetric` - Product metric g|_N = dt² + g_Y
- `NeckMinimality` - Area(Γ) ≥ Area(Y) for separating hypersurfaces
- `spectral_upper_bound` - Rayleigh quotient bound λ₁ ≤ c₂/L²
- `spectral_lower_bound` - Cheeger-based bound λ₁ ≥ c₁/L²
- `neck_dominates` - For L > L₀, neck controls Cheeger constant

**Zeta Correspondences - New axioms:**
- `gamma : ℕ+ → ℝ` - Riemann zeta zeros (empirical)
- `gamma_positive`, `gamma_increasing` - Basic properties
Expand All @@ -1626,4 +1700,4 @@ This is a docstring.

---

*Last updated: 2026-01-24 - V3.3.11: Monster Dimension via Coxeter Numbers*
*Last updated: 2026-01-26 - V3.3.12: TCS Spectral Bounds Model Theorem*
57 changes: 54 additions & 3 deletions Lean/GIFT/Spectral.lean
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This module formalizes the spectral gap result:

The key insight: the mass gap is determined by TOPOLOGY, not dynamics.

## Contents (v3.3.10)
## Contents (v3.3.12)

### Spectral Theory Foundation
- `SpectralTheory`: Laplacian, spectral theorem, mass gap definition
Expand All @@ -23,6 +23,10 @@ The key insight: the mass gap is determined by TOPOLOGY, not dynamics.
- `UniversalLaw`: λ₁ × H* = dim(G₂), the KEY theorem
- `MassGapRatio`: The 14/99 theorem (algebraic)

### TCS Spectral Bounds (NEW in v3.3.12)
- `NeckGeometry`: TCS manifold structure and hypotheses (H1)-(H6)
- `TCSBounds`: Model Theorem - λ₁ ~ 1/L² for TCS manifolds

### Applications
- `CheegerInequality`: Cheeger-Buser bounds
- `YangMills`: Connection to Clay Millennium Prize
Expand All @@ -32,9 +36,10 @@ The key insight: the mass gap is determined by TOPOLOGY, not dynamics.
- Joyce, D.D. (2000). Compact Manifolds with Special Holonomy
- Cheeger, J. (1970). A lower bound for the smallest eigenvalue of the Laplacian
- Jaffe, A. & Witten, E. (2000). Yang-Mills Existence and Mass Gap
- GIFT Framework v3.3.10: Yang-Mills spectral gap from K7 topology
- Kovalev, A. (2003). Twisted connected sums and special Riemannian holonomy
- GIFT Framework v3.3.12: TCS spectral bounds

Version: 2.0.0
Version: 2.1.0
-/

-- Spectral theory foundations
Expand All @@ -47,6 +52,10 @@ import GIFT.Spectral.G2Manifold
import GIFT.Spectral.UniversalLaw
import GIFT.Spectral.MassGapRatio

-- TCS Spectral Bounds (NEW)
import GIFT.Spectral.NeckGeometry
import GIFT.Spectral.TCSBounds

-- Applications
import GIFT.Spectral.CheegerInequality
import GIFT.Spectral.YangMills
Expand Down Expand Up @@ -119,6 +128,42 @@ export MassGapRatio (
mass_gap_ratio_certified
)

-- ============================================================================
-- RE-EXPORTS: NECK GEOMETRY (TCS)
-- ============================================================================

export NeckGeometry (
TCSManifold
BoundedNeckVolume
ProductNeckMetric
BlockCheegerBound
BalancedBlocks
NeckMinimality
TCSHypotheses
L₀
L₀_pos
typical_parameters
neck_geometry_certificate
)

-- ============================================================================
-- RE-EXPORTS: TCS BOUNDS
-- ============================================================================

export TCSBounds (
c₁
c₁_pos
c₂_robust
c₂_robust_pos
c₂_symmetric
spectral_upper_bound
spectral_lower_bound
tcs_spectral_bounds
spectral_gap_scales_as_inverse_L_squared
typical_tcs_bounds_algebraic
tcs_bounds_certificate
)

-- ============================================================================
-- RE-EXPORTS: CHEEGER INEQUALITY
-- ============================================================================
Expand Down Expand Up @@ -168,6 +213,8 @@ Spectral/
├── G2Manifold.lean # G₂ holonomy, K7
├── UniversalLaw.lean # λ₁ × H* = 14
├── MassGapRatio.lean # 14/99 algebraic
├── NeckGeometry.lean # TCS structure, hypotheses (H1)-(H6)
├── TCSBounds.lean # Model Theorem: λ₁ ~ 1/L²
├── CheegerInequality.lean # Cheeger-Buser bounds
└── YangMills.lean # Clay Prize connection
```
Expand All @@ -180,6 +227,10 @@ Spectral/
| `K7_spectral_law` | λ₁ × 99 = 14 | Heat kernel + trace formula |
| `K7_cheeger_constant` | h(K7) = 14/99 | Isoperimetric analysis |
| `GIFT_mass_gap_relation` | Δ = λ₁ × Λ_QCD | M-theory compactification |
| `ProductNeckMetric` | Product metric on TCS neck | Differential geometry |
| `NeckMinimality` | Isoperimetric bound on neck | Coarea formula |
| `spectral_upper_bound` | Rayleigh quotient bound | L² space formalization |
| `neck_dominates` | Neck controls Cheeger | Cut classification |
-/

end GIFT.Spectral
Loading