Skip to content

9h (part 1): lift remaining RiemannCurvature theorems to explicit g#42

Merged
Xinze-Li-Moqian merged 4 commits into
mainfrom
refactor/explicit-g-9h
May 18, 2026
Merged

9h (part 1): lift remaining RiemannCurvature theorems to explicit g#42
Xinze-Li-Moqian merged 4 commits into
mainfrom
refactor/explicit-g-9h

Conversation

@Xinze-Li-Moqian
Copy link
Copy Markdown
Contributor

@Xinze-Li-Moqian Xinze-Li-Moqian commented May 18, 2026

Summary

9h — lift Curvature/RiemannCurvature.lean from typeclass-bound HasMetric.metric to explicit (g : RiemannianMetric I M) parameters.

Lifted theorems / defs

Theorem Status Notes
riemannCurvature_metric_skew ✅ explicit-g uses lifted riemannCurvature_inner_self_zero
riemannCurvature_pair_symm ✅ explicit-g uses lifted bianchi_first, _antisymm, _metric_skew
sectionalCurvature (def) ✅ explicit-g
sectionalCurvatureAt (def) ✅ explicit-g
sectionalCurvature_symmetric ✅ explicit-g
IsFlat (predicate) ✅ explicit-g
IsKilling (predicate) ✅ explicit-g
IsKilling.second_covDeriv_inner_skew ✅ explicit-g local g : M → ℝ renamed to kw_g to avoid section-var shadow
second_covDeriv_commutator ✅ explicit-g
IsKilling.second_covDeriv_eq_curvature ✅ explicit-g
ricci_symm ✅ explicit-g (with hg : g = hm.metric) trace via LinearMap.trace_eq_sum_inner over ⟪·,·⟫_ℝ = hm.metric.inner ties to hm.metric; lift uses subst hg to bridge to typeclass form

After this PR RiemannCurvature.lean is fully explicit-g (5 residual HasMetric.metric occurrences are in docstrings / cross-references, not in theorem bodies).

Bochner caller update

Operators/Bochner/BochnerExpansion.lean line 421 caller updated from
ricci_symm WV GV x h_interior to
ricci_symm HasMetric.metric rfl WV GV x h_interior.

Deferred

Bochner stack body lifts (BochnerExpansion.lean 179 sites, PerSummand.lean 183 sites, Bochner.lean 77 sites) — depend on lifting SmoothOrthoFrame wrappers (also have InnerProductSpace tie). Separate effort.

Test plan

  • lake build clean per commit
  • CI green
  • Sorry / shake / MathTag baselines unchanged

…ure) to explicit g

- IsKilling predicate now takes (g : RiemannianMetric I M)
- IsKilling.second_covDeriv_inner_skew lifted; local scalar var g renamed to kw_g to avoid shadowing the section g
- second_covDeriv_commutator lifted
- IsKilling.second_covDeriv_eq_curvature lifted

All HasMetric.metric body refs replaced with g; metricInner abbrev calls with g.metricInner; metricInner_X lemma calls with g.metricInner_X. Internal callers within RiemannCurvature.lean updated to pass g.
The proof routes through ⟪·,·⟫_ℝ = hm.metric.inner via the InnerProductSpace
instance derived from [HasMetric I M], so ricci_symm cannot be lifted for
arbitrary g without InnerProductSpace restructure. Use subst hg pattern:
caller passes g and proof of g = hm.metric, body works in hm.metric form.

BochnerExpansion caller updated to pass (HasMetric.metric, rfl).

RiemannCurvature.lean is now fully explicit-g for all theorems with at most
this trivial hg sidecar.
@Xinze-Li-Moqian Xinze-Li-Moqian merged commit fcbd557 into main May 18, 2026
2 checks passed
@Xinze-Li-Moqian Xinze-Li-Moqian deleted the refactor/explicit-g-9h branch May 18, 2026 23:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant