port(curve-velocity-mfderiv): 曲线速度 + mfderiv 设施#69
Open
LehengChen wants to merge 1 commit into
Open
Conversation
…lity Curve velocity (global + within-set) and the within-equals-global lemma, plus mfderiv functoriality lemmas: chain rule, diffeomorph inverse, and open-subset inclusion invertibility. Stated directly on Mathlib's TangentBundle / mfderiv API; design-neutral, 0 sorry. Ported from SmoothManifoldsLee (a5f308c): Chap03/Sec03_17/Definition_3_17_extra_1.lean Chap03/Sec03_14/Proposition_3_6.lean Chap03/Sec03_14/Proposition_3_9.lean Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
感谢 #69(曲线速度 + mfderiv)。现在 develop 上有两个已合并的注释范本可对照:
另:#65 已合并,base 可重定向到 develop(你这条目前还挂在上游 port 分支)。 本 PR 额外一项: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
port(curve-velocity-mfderiv): 曲线速度 + mfderiv 函子性设施
Port of Lee, Introduction to Smooth Manifolds, §3: the velocity of a
parametrized curve (global and within-set) and basic functoriality of the
manifold differential
mfderiv— the chain rule, the differential of adiffeomorphism / its inverse, and invertibility of the differential of an
open-subset inclusion. Independent sub-chain root for tangent-bundle
localization.
Source → landing
Three source files split across two new modules under
OpenGALib/Manifold/Tangent/:import/smooth-manifolds-lee@a5f308c)Chap03/Sec03_17/Definition_3_17_extra_1.leanCurveVelocity.leanunitTangentVector(private helper),curve_velocity,curve_velocityWithin,curve_velocityWithin_eq_curve_velocityChap03/Sec03_14/Proposition_3_6.leanMFDeriv.leanmfderiv_comp_of_smooth,diffeomorph_mfderiv_symm_eq_symmChap03/Sec03_14/Proposition_3_9.leanMFDeriv.leanmfderiv_open_subset_inclusion_isInvertibleCore objects (new)
Manifold.curve_velocity I γ t— velocityγ'(t) ∈ T_{γ t} Mof a curveγ : ℝ → Mat parametert,= mfderiv 𝓘(ℝ) I γ tapplied to the unittangent vector
d/dt.Manifold.curve_velocityWithin I γ s t— within-set (one-sided) velocityrelative to a domain subset
s ⊆ ℝ, usingmfderivWithin(for boundaryarguments).
Supporting results:
curve_velocityWithin_eq_curve_velocity(within-set andordinary velocity agree at a differentiability point of a uniquely
differentiable parameter set);
mfderiv_comp_of_smooth(chain rule for smoothmaps);
diffeomorph_mfderiv_symm_eq_symm(inverse ofdΦisd(Φ⁻¹)for aC^ndiffeomorphism,n ≠ 0);mfderiv_open_subset_inclusion_isInvertible(differential of
Subtype.val : U → Mfor an openUis invertible).设计中立声明 (design-neutral)
Mathlib's tangent-bundle / differential API:
mfderiv/mfderivWithin,TangentSpace,ModelWithCorners(incl.𝓘(ℝ)),ContMDiff,MDifferentiableAt,Diffeomorph(M ≃ₘ^n⟮I, I'⟯ N),PartialDiffeomorph,IsLocalDiffeomorphAt,ContinuousLinearMap.IsInvertible. No OpenGASmoothManifoldpackaging and no LeeTopologicalManifoldare touched.restatetransform in this ticket (transforms: []); none applied.omit(see Deviations).Deviations / namespacing
sections, no enclosing namespace). Per the namespace policy all were movedunder
namespace Manifold(namespace_root) with their names preserved:curve_velocity,curve_velocityWithin,curve_velocityWithin_eq_curve_velocity,mfderiv_comp_of_smooth,diffeomorph_mfderiv_symm_eq_symm,mfderiv_open_subset_inclusion_isInvertible. No declaration renamed to dodgethe gate. The
curve_velocity/curve_velocityWithinnames are kept verbatimto match the ticket
core_objects(they use_only as a math-name connector,not snake_case identifiers).
MFDeriv.leancontent as "the two mfderiv lemmas", but lists three sourcefiles.
Definition_3_17_extra_1supplies the curve-velocity content(→
CurveVelocity.lean); the remaining two source files(
Proposition_3_6,Proposition_3_9) together contain three realtheorems. To avoid dropping a listed source file, all three landed in
MFDeriv.lean(Prop 3.6 contributes two; Prop 3.9 one). Flagging the countmismatch for review.
#check-only items not ported.Proposition_3_6.leanalso contained three#checkstubs (mfderivtyped as a CLM,mfderiv_id,Diffeomorph.mfderivToContinuousLinearEquiv[_coe]). These are notdeclarations and exist verbatim in Mathlib; not carried over.
omitadded.mfderiv_comp_of_smoothdoes not use the[IsManifold …]section instances; an
omit [IsManifold I ∞ M] [IsManifold I' ∞ N] [IsManifold I'' ∞ P] inwas added to silence theunusedSectionVarslinter(in the source these instances were "used" only via sibling
#checks in thesame section). No effect on the statement.
OpenGALib/shows nopre-existing
curve_velocity*or these three mfderiv theorem names.exist verbatim on the current toolchain:
mfderiv_comp,mfderivWithin_eq_mfderiv,Diffeomorph.isLocalDiffeomorph,IsLocalDiffeomorphAt.localInverse[_*],IsLocalDiffeomorphAt.mfderivToContinuousLinearEquiv[_coe],Diffeomorph.mfderivToContinuousLinearEquiv,TopologicalSpace.Opens.openPartialHomeomorphSubtypeCoe,ChartedSpace.liftPropWithinAt_subtypeVal_comp_iff,contMDiff_subtype_val,ContinuousLinearMap.isInvertible_equiv.import Mathlib(Proposition_3_9) and theper-item
Mathlib.*imports in favor of targeted imports; noSmoothManifoldsLee.*imports were present.出处 (provenance)
import/smooth-manifolds-lee@a5f308c, subpathstaging/SmoothManifoldsLee/SmoothManifoldsLee:Chap03/Sec03_17/Definition_3_17_extra_1.leanChap03/Sec03_14/Proposition_3_6.leanChap03/Sec03_14/Proposition_3_9.leanPer-module provenance lines are embedded in each landing file's module docstring.
Index wiring
OpenGALib/Manifold.lean— addedimport OpenGALib.Manifold.Tangent.CurveVelocityandimport OpenGALib.Manifold.Tangent.MFDeriv(alphabetical, after theCutoff.Exhaustionline).OpenGALib.leanalready importsOpenGALib.Manifold; no change needed.Branch
port/curve-velocity-mfderiv, cut from the stacked batch tipport/exhaustion-cutoff(notorigin/develop). Files:OpenGALib/Manifold/Tangent/CurveVelocity.leanOpenGALib/Manifold/Tangent/MFDeriv.leanOpenGALib/Manifold.leanGate 结果 (all six green)
Report:
projects/sml-to-openga/ledger/reports/ticket05-20260614T044252Z.json(full
lake build, cache warm; 0 sorry).评审重点 (minimal trusted base)
Proofs are kernel-checked; please focus review on whether the definitions and
statements name the same mathematical objects as Lee §3:
Manifold.curve_velocity≙γ'(t) = dγ_t(d/dt);curve_velocityWithinitswithin-set variant;
mfderiv_comp_of_smooth≙ chain ruled(G∘F)_p = dG_{F p} ∘ dF_p;diffeomorph_mfderiv_symm_eq_symm≙d(Φ⁻¹)_{Φ p} = (dΦ_p)⁻¹;mfderiv_open_subset_inclusion_isInvertible≙ the inclusion of an opensubmanifold has invertible differential at each point.