The exterior product of continuous alternating maps #
TERM-SCOPE(Kahler) β the phrase "top-power identity" appears below in the restricted
sense the source repository's terms register records: the identity is what this file makes
sayable, and it is
neither stated nor proved here. (The marker is repository bookkeeping; it goes with the
References block if the file is ever sent upstream.)
Category: 1-Mathlib (CSD-free; upstream target
Mathlib.Analysis.Normed.Module.Alternating).
Mathlib has the exterior product of two AlternatingMaps (AlternatingMap.domCoprod,
valued in the tensor product of the two codomains) and it has
ContinuousAlternatingMap. It does not have the exterior product of two continuous
alternating maps: domCoprod occurs in exactly three algebraic files, and
ContinuousAlternatingMap.domCoprod is zero declarations at the pin.
MATHLIB-ABSENT(ContinuousAlternatingMap.domCoprod)
β οΈ And it cannot be stated in the tensor-valued form. There is no topology on
F β[π] G at the pin, so E [β^ΞΉa β ΞΉb]βL[π] (F β[π] G) is not a type. The standard
fix, and the one taken here, is to pair the two codomains through a continuous bilinear
map B : F βL[π] G βL[π] H. Every use in sight has that shape β for real-valued forms
B is multiplication β and the tensor-valued version is recovered from this one the
moment a topology on the tensor product exists, by taking B to be TensorProduct.mk.
Contents #
ContinuousLinearMap.liftTensorβ the linear mapF β[π] G ββ[π] Hinduced by a continuous bilinearB;ContinuousAlternatingMap.continuous_liftTensor_summandβ each summand of the antisymmetrisation, paired throughB, is continuous. This is the whole mathematical content of the file;- β
ContinuousAlternatingMap.wedgeβ the exterior product itself; wedge_toAlternatingMap(rfl) β it is the algebraicAlternatingMap.domCoprodpostcomposed withliftTensor B, so every algebraic fact aboutdomCoprodtransfers and this file adds exactly one thing: boundedness;wedge_applyβ the pointwise signed sum overEquiv.Perm.ModSumCongr ΞΉa ΞΉb.
Honest scope #
Delivered: the binary product and its two defining equations. NOT built here, and not claimed:
- associativity, graded commutativity and the Leibniz rule for
extDeriv. All three are algebraic facts aboutdomCoprodbefore they are facts about its continuous form, so the transport route (wedge_toAlternatingMap) can only carry what the algebraic side already proves. None of them is proved here; - the iterated power: the index type of
wedgeisΞΉa β ΞΉb, so an iterated product onFin (2 * k)needs adomDomCongralongfinSumFinEquivat each step plus a recursion onk. That is the next brick, not this one; - any nonvanishing statement. A wedge can be zero for good reasons (a 1-form with itself), and nothing here rules that out in any particular case;
- a norm bound. The construction goes through continuity rather than
AlternatingMap.mkContinuous, so no constant is produced. The bound is true and is a natural follow-up; it is not needed in order to state a top power.
The point of the file is narrow and worth stating plainly: with it, a top-power identity
of the shape Ο^(N-1)/(N-1)! = ΞΌ_FS becomes sayable in Lean. It does not make any
such statement true, and nothing here depends on it.
Provenance and references. The Mathlib-gaps register; the backlog (XL, "Manifold exterior
calculus");
the terms register (moment map);
CsdLean4/Mathlib/Analysis/InnerProductSpace/KahlerWedge.lean (the consumer).
The linear map F β[π] G ββ[π] H induced by a continuous bilinear map B.
This is TensorProduct.lift of the underlying bilinear map. The continuity of B is not
used here β there is no topology on the source β only downstream, where the composite is
shown to be a continuous function of the vector family.
Equations
- B.liftTensor = TensorProduct.lift (ContinuousLinearMap.coeLM π ββ βB)
Instances For
Reindex a continuous alternating map along an equivalence of index types.
Mathlib has this for AlternatingMap (AlternatingMap.domDomCongr) and for
ContinuousMultilinearMap (ContinuousMultilinearMap.domDomCongr), but not for
ContinuousAlternatingMap β MATHLIB-ABSENT(ContinuousAlternatingMap.domDomCongr).
It is needed here rather than merely wanted: wedge is indexed by ΞΉa β ΞΉb, while
extDeriv and every other differential-form API in Mathlib is indexed by Fin n, so
without a reindexing the product of two forms cannot be fed back into the calculus it
came from.
Equations
- ContinuousAlternatingMap.domDomCongr Ο f = { toContinuousMultilinearMap := ContinuousMultilinearMap.domDomCongr Ο f.toContinuousMultilinearMap, map_eq_zero_of_eq' := β― }
Instances For
The mathematical content of this file. One summand of the antisymmetrisation,
paired through B, is a continuous function of the vector family.
The summand is a class in Equiv.Perm.ModSumCongr ΞΉa ΞΉb; on a representative Ο it is
Equiv.Perm.sign Ο β’ (a (v β Ο β Sum.inl) ββ b (v β Ο β Sum.inr)). Pairing through B
and reading off continuity needs precomposition with Ο (continuous coordinatewise), a
and b, and the joint continuity of B (ContinuousLinearMap.continuousβ) β being
separately continuous in each slot would not suffice.
β
The exterior product of two continuous alternating maps, with the codomains
paired through a continuous bilinear map B.
Its underlying alternating map is the algebraic AlternatingMap.domCoprod postcomposed
with ContinuousLinearMap.liftTensor B (wedge_toAlternatingMap, which is rfl); the
new content is that the result is continuous.
Equations
- ContinuousAlternatingMap.wedge B a b = { toMultilinearMap := β(B.liftTensor.compAlternatingMap (a.toAlternatingMap.domCoprod b.toAlternatingMap)), cont := β―, map_eq_zero_of_eq' := β― }
Instances For
The continuous exterior product is the algebraic one, paired through B. Every
fact Mathlib proves about AlternatingMap.domCoprod transfers along this equation.
The pointwise formula: a signed sum over shuffle classes.