Skip to content

Commit be57728

Browse files
Riemannian: add manifoldGradient_smooth_of_smooth (PRE-PAPER)
Framework gradient-smoothness propagation lemma: g in C^inf implies nabla g is C^inf as a tangent bundle section. Mathematically trivial in standard differential geometry (composition of smooth mfderiv with smooth Riesz isomorphism, since the Riemannian metric is smooth). Closure path: shares the metricRiesz_section_smoothAt + chartGramMatrix machinery with koszulCovDeriv_const_smoothAt (A.4-strong primitive). Once that primitive lands, both lemmas close as one-line compositions. Used by Bochner E (leibniz_trace_reduction) to discharge the automatic smoothness of nabla(|nabla f|^2) — needed for the metric-compat application against scalarLaplacian's hessian def. Sorry: 34 -> 35 (PRE-PAPER, repair plan documented).
1 parent ce61304 commit be57728

3 files changed

Lines changed: 32 additions & 6 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
--include="*.lean" \
2323
OpenGALib \
2424
2>/dev/null | wc -l | tr -d ' ')
25-
EXPECTED=34
25+
EXPECTED=35
2626
if [ "$ACTUAL" -ne "$EXPECTED" ]; then
2727
echo "::error::Sorry count drift: expected $EXPECTED, found $ACTUAL"
2828
echo "If the change is intentional, update docs/SORRY_CATALOG.md (and the EXPECTED constant in this workflow)."

OpenGALib/Riemannian/Gradient.lean

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,29 @@ theorem manifoldGradient_inner_eq
5454
metricInner x (grad_g[I] f x) v = (mfderiv I 𝓘(ℝ, ℝ) f x) v :=
5555
metricRiesz_inner x (mfderiv I 𝓘(ℝ, ℝ) f x) v
5656

57+
/-- **Gradient smoothness propagation**: if a scalar function `g : M → ℝ`
58+
is $C^\infty$, then its manifold gradient $\nabla^M g$ is $C^\infty$ as a
59+
tangent bundle section.
60+
61+
Mathematically trivial in standard differential geometry — the gradient
62+
is the composition of the smooth differential `mfderiv g` with the
63+
smooth Riesz isomorphism (smooth because the Riemannian metric itself is
64+
smooth). Used to discharge the automatic-by-textbook smoothness of the
65+
gradient in headline theorems such as the Bochner–Weitzenböck identity
66+
(`OpenGALib.Riemannian.Operators.Bochner`).
67+
68+
**Sorry: PRE-PAPER**. Closure path: write
69+
`metricRiesz_section_smoothAt` against `Bundle.ContMDiffRiemannianMetric`
70+
via chart-pullback unwrapping of the Riesz isomorphism, then compose
71+
with `ContMDiff` of `mfderiv g` (which holds because `g` is $C^\infty$).
72+
Same root primitive as `koszulCovDeriv_const_smoothAt` (Connection.lean:1387)
73+
— both go through the inverse-metric-matrix (chart Gram matrix)
74+
machinery. Once that primitive lands, this lemma is a one-line
75+
composition. -/
76+
theorem manifoldGradient_smooth_of_smooth
77+
(g : M → ℝ) (hg : ContMDiff I 𝓘(ℝ, ℝ) ∞ g) :
78+
ContMDiff I (I.prod 𝓘(ℝ, E)) ∞
79+
(fun y => (⟨y, manifoldGradient (I := I) g y⟩ : TangentBundle I M)) := by
80+
sorry
81+
5782
end Riemannian

docs/SORRY_CATALOG.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ public count.
2525
|--------|-----------|------------------|-------|
2626
| Algebraic | 5 | 0 | 5 |
2727
| Tensor | 9 | 0 | 9 |
28-
| Riemannian | 5 | 0 | 5 |
28+
| Riemannian | 6 | 0 | 6 |
2929
| GeometricMeasureTheory | 5 | 10 | 15 |
30-
| **Total** | **24** | **10** | **34** |
30+
| **Total** | **25** | **10** | **35** |
3131

32-
CI workflow `.github/workflows/ci.yml` asserts the total equals 34 (`EXPECTED=34`).
32+
CI workflow `.github/workflows/ci.yml` asserts the total equals 35 (`EXPECTED=35`).
3333

3434
## Algebraic (5)
3535

@@ -55,14 +55,15 @@ CI workflow `.github/workflows/ci.yml` asserts the total equals 34 (`EXPECTED=34
5555
| `DifferentialForm/Basic.lean:326` | `pullback_ederiv` (outer) | PRE-PAPER | Outer goal of same proof. |
5656
| `Product/Pretrivialization.lean:281` | `tensorProductCoordChange_contMDiffOn` | PRE-PAPER | Bundle pretrivialization plumbing; Mathlib gap on tensor-product bundle smoothness. |
5757

58-
## Riemannian (5)
58+
## Riemannian (6)
5959

6060
| File:line | Identifier | Classification | Notes |
6161
|-----------|-----------|---------------|-------|
6262
| `Curvature.lean:241` | `riemannCurvature_inner_self_zero` | PRE-PAPER | Skew-symmetry of $R(X,Y)$. Closure path: metric-compat 4× + Hessian-Lie identity (`mfderiv_iterate_sub_eq_mlieBracket_apply`). Proof body sketches it. |
6363
| `Curvature.lean:256` | `ricci_symm` | PRE-PAPER | Symmetry of Ricci. Closure path: trace-via-orthonormal-basis + Bianchi I (closed) + diagonal-zero (above). |
6464
| `Connection.lean:1387` | `koszulCovDeriv_const_smoothAt` | PRE-PAPER | Path-B cascade leftover. Closure: write `metricRiesz_section_smoothAt` against `Bundle.ContMDiffRiemannianMetric` API via chart-pullback unwrapping of the Riesz isomorphism. Self-build follow-up. |
65-
| `Operators/Bochner.lean:96` | `leibniz_trace_reduction` (E) | PRE-PAPER | Bochner intermediate: $\tfrac12 \Delta_g \|\nabla f\|^2 = \langle \Delta_\nabla \nabla f, \nabla f\rangle + \|\nabla^2 f\|^2$. Closure path: metric-compat ×2 on $\langle \nabla f, \nabla f\rangle$ + trace via `stdOrthonormalBasis` + `connectionLaplacian_eq_sum_secondCovDerivAt`. Detailed plan in docstring. |
65+
| `Gradient.lean:76` | `manifoldGradient_smooth_of_smooth` | PRE-PAPER | Gradient smoothness propagation: $g \in C^\infty \Rightarrow \nabla^M g$ is $C^\infty$ as bundle section. Mathematically trivial; framework-side closure shares the `metricRiesz_section_smoothAt` chartGramMatrix path with `koszulCovDeriv_const_smoothAt`. Once that primitive lands, this is one-line composition. |
66+
| `Operators/Bochner.lean:96` | `leibniz_trace_reduction` (E) | PRE-PAPER | Bochner intermediate: $\tfrac12 \Delta_g \|\nabla f\|^2 = \langle \Delta_\nabla \nabla f, \nabla f\rangle + \|\nabla^2 f\|^2$. Closure path: metric-compat ×2 on $\langle \nabla f, \nabla f\rangle$ + trace via `stdOrthonormalBasis` + `connectionLaplacian_eq_sum_secondCovDerivAt` + `manifoldGradient_smooth_of_smooth` (for $\nabla(\|\nabla f\|^2)$). Detailed plan in docstring. |
6667
| `Operators/Bochner.lean:135` | `connectionLaplacian_grad_eq_grad_laplacian_add_ricci` (G) | PRE-PAPER | Bochner intermediate: $\langle \Delta_\nabla \nabla f, \nabla f\rangle = \langle \nabla f, \nabla(\Delta_g f)\rangle + \mathrm{Ric}(\nabla f, \nabla f)$. Closure path: D.2 (Ricci identity, closed) + B (Hessian symmetry, closed modulo gradient smoothness) + F (Ricci trace formula, closed) + grad duality. Detailed plan in docstring. |
6768

6869
## GeometricMeasureTheory (15)

0 commit comments

Comments
 (0)