The ULift shell: transporting ChartedSpace/IsManifold/LieAddGroup along Homeomorph.ulift #
Unit: jacobian-construction (docs/design/jacobian-construction.md §2, §7). The challenge's
Jacobian X : Type u is universe-polymorphic in X, but the honest construction
Jac₀ X := (Fin (genus X) → ℂ) ⧸ Λ lives in Type 0; Jacobian X := ULift.{u} (Jac₀ X) bridges
the two. This file builds the (specialized, per design's R1 fallback) transport toolkit that
moves ChartedSpace/IsManifold/LieAddGroup across Homeomorph.ulift : ULift (V ⧸ L) ≃ₜ V ⧸ L,
for the same V, L as Torus.lean.
The key simplification throughout: ULift.up/ULift.down are an exact (not merely
"eventual", unlike the lattice-shift business in Torus.lean) pair of mutually inverse
continuous maps, so every chart composite involving them cancels by rfl. Consequently:
ChartedSpace/IsManifoldtransport directly, reusingTorus.lean'sanalyticOnNhd_chartAt'_transverbatim (theULift-wrapped transition function/source agree exactly, not just up to congruence, with the unwrapped one).LieAddGrouptransports via a cleaner route:ULift.down/ULift.upare themselvesω-smooth maps betweenULift (V ⧸ L)andV ⧸ L(their chart composite, in matching charts at the same representative, is the identity on an open set), so addition/negation onULift (V ⧸ L)factor throughV ⧸ L's owncontMDiff_add_torus/contMDiff_neg_torusby composition — no new analyticity computation.
The chart family for ULift (V ⧸ L): chartAt' L x, transported through
Homeomorph.ulift.
Equations
Instances For
Equations
- RS.instChartedSpaceULift L = RS.chartedSpaceOfFamily' (RS.uliftChartAt L) (fun (q : ULift.{?u.2, ?u.1} (V ⧸ L)) => Function.surjInv ⋯ q.down) ⋯
Homeomorph.ulift's associated OpenPartialHomeomorph.symm, precomposed into a
uliftChartAt, cancels by rfl (PartialEquiv.coe_trans_symm).
The ULift-wrapped transition function agrees exactly with the unwrapped one (no
neighborhood needed: ULift.up/.down cancel by rfl).
ULift (V ⧸ L) is an ω-manifold, by transporting Torus.lean's
analyticOnNhd_chartAt'_trans exactly through the (rfl-cancelling) ULift wrapping.
ULift.down/ULift.up are ω-smooth #
ULift.down is ω-smooth: in matching charts at the same representative, the composite is
the identity on the (open) chart target.
ULift.up is ω-smooth: mirror-image argument to contMDiff_uliftDown.