Commit 915cfc3
authored
9f: explicit-g cascade — Tensoriality/RiemannCurvature/bianchi_first + Bochner wrappers (#38)
* 9f Phase 1: lift HessianExpansion + Tensoriality to explicit-g
Lifts the explicit-g cascade through:
- Util/MetricInnerSmoothness: add Riemannian.RiemannianMetric.metricInner_mdifferentiableAt_of_tangentSmoothAt (explicit-g variant of typeclass helper)
- Operators/Bochner/HessianExpansion: full lift to (g : RiemannianMetric I M) section variable; body uses g.metricInner, manifoldGradient g, etc.; ‖grad_g[I] f‖²_g notation expanded inline
- Curvature/Tensoriality: full mass lift with include g; all riemannCurvature_eq_of_X/Y/Z_eq_at, _pointwise_eq, add_first, smul_third/first, eventuallyEq, zero_of_zero theorems now take explicit g; local g shadowing fixed via rename to c
- Curvature/RiemannCurvature: riemannCurvature_antisymm, riemannCurvature_add_third lifted to explicit g; internal callers updated
Consumer fixups:
- Operators/Bochner: pass HasMetric.metric to hessian_gradientNormSq_apply_section; add show cast to bridge ‖V‖²_g notation
- Operators/Bochner/BochnerExpansion: pass HasMetric.metric to riemannCurvature_eq_of_pointwise_eq
Defers to follow-up:
- BochnerExpansion/PerSummand/Bochner.lean full body lift requires lifting ricci_symm, riemannCurvature_inner_self_zero, bianchi_first, SmoothOrthoFrame wrappers (cascade depth ~10+ theorems); separate PR.
- Notation drop and metricInner typeclass abbrev deletion deferred.
* 9f Phase 2: lift bianchi_first + curvature_self chain to explicit-g
Continues the upstream cascade started in Phase 1:
- LeviCivita.bianchi_first lifted; ∇[X] Y / ⟦X, Y⟧ notations expanded inline in body
- RiemannCurvature.mDirDeriv_self_eq_two_metricInner_leviCivita_self lifted
- RiemannCurvature.fun_mDirDeriv_self_eq_two_metricInner_leviCivita_self lifted
- RiemannCurvature.half_mDirDeriv_iterate_eq_metricInner_iterCovDeriv lifted
- RiemannCurvature.riemannCurvature_inner_self_zero lifted (statement: g.metricInner ... = 0; body uses Riem notation in some places — kept where downstream typeclass-form needed)
- RiemannCurvature.riemannCurvature_const_first_swap_eq_neg lifted (uses lifted bianchi_first + antisymm)
ricci_symm intentionally NOT lifted: its proof routes through ⟪·,·⟫_ℝ (= hm.metric.inner via InnerProductSpace instance), so lifting requires either g = hm.metric hypothesis or instance restructuring. Consumers (Bochner) call ricci_symm with implicit typeclass form; works under typical use where g = hm.metric.
riemannCurvature_metric_skew internal callers pass HasMetric.metric to lifted riemannCurvature_inner_self_zero.
* 9f Phase 3: ricci_symm statement explicit, BochnerExpansion caller fix
- ricci_symm statement: Ric(X, Y) notation → explicit ricci HasMetric.metric form (kept typeclass since proof routes through ⟪·,·⟫_ℝ = hm.metric.inner via InnerProductSpace instance — lifting to arbitrary g requires either g = hm.metric hypothesis or trace-without-inner-product refactor)
- BochnerExpansion: riemannCurvature_eq_of_pointwise_eq caller updated to pass HasMetric.metric (matches Tensoriality lift)
* 9f Phase 4: explicit-g wrappers for headline Bochner theorems
Adds explicit-g wrappers for the three public-facing Bochner theorems via subst hg pattern:
- bochner_leibniz_trace_reduction_g (Operators/Bochner.lean)
- bochner_connectionLaplacian_grad_decomposition_g (Operators/Bochner/PerSummand.lean)
- bochner_weitzenboeck_g (Operators/Bochner.lean)
Each wrapper takes (g : RiemannianMetric I M) (hg : g = hm.metric) and discharges via subst hg + typeclass version. Provides explicit-g API surface without requiring lift of internal proof bodies (which depend on ricci_symm + smoothOrthoFrame chain still tied to ⟪·,·⟫_ℝ = hm.metric.inner via InnerProductSpace instance).
End users pass hm.metric for g and rfl for hg to consume.1 parent 3595e0c commit 915cfc3
8 files changed
Lines changed: 832 additions & 762 deletions
File tree
- OpenGALib/Riemannian
- Connection
- Curvature
- Operators
- Bochner
- Util
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
771 | 771 | | |
772 | 772 | | |
773 | 773 | | |
| 774 | + | |
774 | 775 | | |
775 | | - | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
776 | 779 | | |
777 | 780 | | |
778 | 781 | | |
| |||
782 | 785 | | |
783 | 786 | | |
784 | 787 | | |
785 | | - | |
786 | | - | |
787 | | - | |
788 | | - | |
789 | | - | |
790 | | - | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
791 | 794 | | |
792 | 795 | | |
793 | 796 | | |
| |||
799 | 802 | | |
800 | 803 | | |
801 | 804 | | |
802 | | - | |
803 | | - | |
804 | | - | |
805 | | - | |
806 | | - | |
807 | | - | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
808 | 814 | | |
809 | | - | |
810 | | - | |
811 | | - | |
812 | | - | |
813 | | - | |
814 | | - | |
815 | | - | |
816 | | - | |
817 | | - | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
818 | 824 | | |
819 | | - | |
| 825 | + | |
820 | 826 | | |
821 | | - | |
| 827 | + | |
822 | 828 | | |
823 | | - | |
| 829 | + | |
824 | 830 | | |
825 | 831 | | |
826 | | - | |
827 | | - | |
| 832 | + | |
| 833 | + | |
828 | 834 | | |
829 | | - | |
830 | | - | |
831 | | - | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
832 | 838 | | |
833 | | - | |
834 | | - | |
835 | | - | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
836 | 842 | | |
837 | | - | |
| 843 | + | |
838 | 844 | | |
839 | 845 | | |
840 | 846 | | |
| |||
845 | 851 | | |
846 | 852 | | |
847 | 853 | | |
848 | | - | |
| 854 | + | |
849 | 855 | | |
850 | | - | |
| 856 | + | |
851 | 857 | | |
852 | | - | |
| 858 | + | |
853 | 859 | | |
854 | | - | |
| 860 | + | |
855 | 861 | | |
856 | | - | |
| 862 | + | |
857 | 863 | | |
858 | | - | |
| 864 | + | |
859 | 865 | | |
860 | 866 | | |
861 | 867 | | |
| |||
0 commit comments