From c99541eb5c4ddd98a017c2e841e11c9b22eb7ff7 Mon Sep 17 00:00:00 2001 From: MetalCreator666 <57985847+MetalCreator666@users.noreply.github.com> Date: Fri, 17 Jan 2025 11:36:46 +0100 Subject: [PATCH] Addd some functionality --- DeRhamCohomology/ContinuousAlternatingMap/Curry.lean | 12 ++++++++++++ DeRhamCohomology/ContinuousAlternatingMap/Wedge.lean | 11 +++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/DeRhamCohomology/ContinuousAlternatingMap/Curry.lean b/DeRhamCohomology/ContinuousAlternatingMap/Curry.lean index 9860570..ba2d8be 100644 --- a/DeRhamCohomology/ContinuousAlternatingMap/Curry.lean +++ b/DeRhamCohomology/ContinuousAlternatingMap/Curry.lean @@ -130,6 +130,13 @@ def uncurrySum.summand (f : E [β‹€^ΞΉ]β†’L[π•œ] E [β‹€^ΞΉ']β†’L[π•œ] F) (Οƒ : simp [ContinuousMultilinearMap.flipAlternating] rfl +theorem uncurrySum.summand_mk'' (f : E [β‹€^ΞΉ]β†’L[π•œ] E [β‹€^ΞΉ']β†’L[π•œ] F) (Οƒ : Equiv.Perm (ΞΉ βŠ• ΞΉ')) : + uncurrySum.summand f (Quotient.mk'' Οƒ) = Equiv.Perm.sign Οƒ β€’ + (ContinuousMultilinearMap.uncurrySum + (f.toContinuousMultilinearMap.flipAlternating.toContinuousMultilinearMap.flipMultilinear) : + ContinuousMultilinearMap π•œ (fun _ => E) F).domDomCongr Οƒ := + rfl + /-- Swapping elements in `Οƒ` with equal values in `v` results in an addition that cancels -/ theorem uncurrySum.summand_add_swap_smul_eq_zero (f : E [β‹€^ΞΉ]β†’L[π•œ] E [β‹€^ΞΉ']β†’L[π•œ] F) (Οƒ : Equiv.Perm.ModSumCongr ΞΉ ΞΉ') {v : ΞΉ βŠ• ΞΉ' β†’ E} @@ -198,6 +205,11 @@ def uncurrySum (f : E [β‹€^ΞΉ]β†’L[π•œ] E [β‹€^ΞΉ']β†’L[π•œ] F) : E [β‹€^ΞΉ (fun Οƒ _ => Finset.mem_univ _) fun Οƒ _ => Equiv.swap_smul_involutive i j Οƒ } +theorem uncurrySum_coe (f : E [β‹€^ΞΉ]β†’L[π•œ] E [β‹€^ΞΉ']β†’L[π•œ] F) : + ((uncurrySum f).toContinuousMultilinearMap : ContinuousMultilinearMap π•œ (fun _ => E) F) = + βˆ‘ Οƒ : Equiv.Perm.ModSumCongr ΞΉ ΞΉ', uncurrySum.summand f Οƒ := + ContinuousMultilinearMap.ext fun _ => rfl + def uncurryFinAdd (f : E [β‹€^Fin m]β†’L[π•œ] E [β‹€^Fin n]β†’L[π•œ] F) : E [β‹€^Fin (m + n)]β†’L[π•œ] F := ContinuousAlternatingMap.domDomCongr finSumFinEquiv (uncurrySum f) diff --git a/DeRhamCohomology/ContinuousAlternatingMap/Wedge.lean b/DeRhamCohomology/ContinuousAlternatingMap/Wedge.lean index 789a25a..e20704d 100644 --- a/DeRhamCohomology/ContinuousAlternatingMap/Wedge.lean +++ b/DeRhamCohomology/ContinuousAlternatingMap/Wedge.lean @@ -49,11 +49,18 @@ theorem wedge_product_lsmul {g : M [β‹€^Fin m]β†’L[π•œ] π•œ} {h : M [β‹€^Fin n /- Associativity of wedge product -/ theorem wedge_assoc (g : M [β‹€^Fin m]β†’L[π•œ] N) (h : M [β‹€^Fin n]β†’L[π•œ] N) (f : N β†’L[π•œ] N β†’L[π•œ] N) (l : M [β‹€^Fin p]β†’L[π•œ] N) (f' : N β†’L[π•œ] N β†’L[π•œ] N) : - ContinuousAlternatingMap.domDomCongr finAssoc.symm (g ∧[f] h ∧[f'] l) = ((g ∧[f] h) ∧[f'] l) := by sorry + ContinuousAlternatingMap.domDomCongr finAssoc.symm (g ∧[f] h ∧[f'] l) = ((g ∧[f] h) ∧[f'] l) := by + rw[wedge_product, ContinuousLinearMap.compContinuousAlternatingMapβ‚‚, uncurryFinAdd, + uncurrySum, ContinuousAlternatingMap.ext_iff] + intro x + sorry /- Left distributivity of wedge product -/ theorem add_wedge (g₁ gβ‚‚ : M [β‹€^Fin m]β†’L[π•œ] N) (h : M [β‹€^Fin n]β†’L[π•œ] N') (f : N β†’L[π•œ] N' β†’L[π•œ] N'') : - ((g₁ + gβ‚‚) ∧[f] h) = (g₁ ∧[f] h) + (gβ‚‚ ∧[f] h) := by sorry + ((g₁ + gβ‚‚) ∧[f] h) = (g₁ ∧[f] h) + (gβ‚‚ ∧[f] h) := by + ext x + sorry + /- Right distributivity of wedge product -/ theorem wedge_add (g : M [β‹€^Fin m]β†’L[π•œ] N) (h₁ hβ‚‚ : M [β‹€^Fin n]β†’L[π•œ] N') (f : N β†’L[π•œ] N' β†’L[π•œ] N'') :