Documentation

CsdLean4.Mathlib.Geometry.Manifold.WedgeForm

The wedge of differential forms on a manifold #

Category: 1-Mathlib (CSD-free; upstream target Mathlib.Geometry.Manifold).

With the flat wedge bounded and bilinear (Alternating/WedgeCLM.lean) and the local-representative machinery of ExteriorDerivative.lean, the wedge of two smooth sections of alternating bundles is a smooth section, and so is a reindexing and the constant 0-form. Every smoothness proof is the same three lines: the trivialisation of the new section in the chart at x₀ is the flat operation applied to the local representatives (trivializationAt_*_snd, from trivializationAt_snd and the flat "commutes with pullback" lemma), the flat operation is C^∞ in its arguments, and contMDiffAt_section closes.

Honest scope #

⚠️ Only the operations. No algebraic law of the wedge is proved at section level — associativity, graded commutativity, the Leibniz rule with mextDeriv — because none is proved flat (Wedge.lean's honest scope). wedgePow is a definition, and nothing here says it is nonzero.

⚠️ ∞ and 𝓘(ℝ, E) only, inherited from ExteriorDerivative.lean.

Provenance and references. The top-power plan (M2); Alternating/WedgeCLM.lean; Geometry/Manifold/ExteriorDerivative.lean; consumer Geometry/Manifold/Instances/ProjectiveSpaceFubiniStudyForm.lean (fsTopForm); the completed-work ledger.

The wedge of two families #

noncomputable def DifferentialForm.wedgeFamily {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {F : Type u_2} {G : Type u_3} {H : Type u_4} [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedAddCommGroup G] [NormedSpace ℝ G] [NormedAddCommGroup H] [NormedSpace ℝ H] {M : Type u_5} [TopologicalSpace M] [ChartedSpace E M] {ιa : Type u_6} {ιb : Type u_7} [Fintype ιa] [Fintype ιb] [DecidableEq ιa] [DecidableEq ιb] (B : F →L[ℝ] G →L[ℝ] H) (α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^ιa]→L[ℝ] Bundle.Trivial M F x) (β : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^ιb]→L[ℝ] Bundle.Trivial M G x) (x : M) :

The wedge of two families of alternating maps on the tangent spaces, fibrewise.

Equations
Instances For
    theorem DifferentialForm.toFlat_wedgeFamily {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {F : Type u_2} {G : Type u_3} {H : Type u_4} [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedAddCommGroup G] [NormedSpace ℝ G] [NormedAddCommGroup H] [NormedSpace ℝ H] {M : Type u_5} [TopologicalSpace M] [ChartedSpace E M] {ιa : Type u_6} {ιb : Type u_7} [Fintype ιa] [Fintype ιb] [DecidableEq ιa] [DecidableEq ιb] (B : F →L[ℝ] G →L[ℝ] H) (α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^ιa]→L[ℝ] Bundle.Trivial M F x) (β : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^ιb]→L[ℝ] Bundle.Trivial M G x) (x : M) :
    theorem DifferentialForm.trivializationAt_wedgeFamily_snd {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {F : Type u_2} {G : Type u_3} {H : Type u_4} [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedAddCommGroup G] [NormedSpace ℝ G] [NormedAddCommGroup H] [NormedSpace ℝ H] {M : Type u_5} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] {ιa : Type u_6} {ιb : Type u_7} [Fintype ιa] [Fintype ιb] [DecidableEq ιa] [DecidableEq ιb] (B : F →L[ℝ] G →L[ℝ] H) (α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^ιa]→L[ℝ] Bundle.Trivial M F x) (β : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^ιb]→L[ℝ] Bundle.Trivial M G x) (x₀ y : M) (hy : y ∈ (chartAt E x₀).source) :
    (↑(trivializationAt (E [⋀^ιa ⊕ ιb]→L[ℝ] H) (fun (x : M) => TangentSpace (modelWithCornersSelf ℝ E) x [⋀^ιa ⊕ ιb]→L[ℝ] Bundle.Trivial M H x) x₀) ⟨y, wedgeFamily B α β y⟩).2 = ContinuousAlternatingMap.wedge B (localRep α x₀ (↑(chartAt E x₀) y)) (localRep β x₀ (↑(chartAt E x₀) y))

    ★ In the chart at x₀, a wedge trivialises to the wedge of the local representatives.

    theorem DifferentialForm.localRep_wedgeFamily {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {F : Type u_2} {G : Type u_3} {H : Type u_4} [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedAddCommGroup G] [NormedSpace ℝ G] [NormedAddCommGroup H] [NormedSpace ℝ H] {M : Type u_5} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] {ιa : Type u_6} {ιb : Type u_7} [Fintype ιa] [Fintype ιb] [DecidableEq ιa] [DecidableEq ιb] (B : F →L[ℝ] G →L[ℝ] H) (α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^ιa]→L[ℝ] Bundle.Trivial M F x) (β : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^ιb]→L[ℝ] Bundle.Trivial M G x) (x₀ : M) {w : E} (hw : w ∈ (chartAt E x₀).target) :
    localRep (wedgeFamily B α β) x₀ w = ContinuousAlternatingMap.wedge B (localRep α x₀ w) (localRep β x₀ w)

    ★ The local representative of a wedge is the wedge of the local representatives.

    ★★ The wedge of two C^∞ sections is a C^∞ section.

    noncomputable def DifferentialForm.wedge {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {F : Type u_2} {G : Type u_3} {H : Type u_4} [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedAddCommGroup G] [NormedSpace ℝ G] [NormedAddCommGroup H] [NormedSpace ℝ H] {M : Type u_5} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] {ιa : Type u_6} {ιb : Type u_7} [Fintype ιa] [Fintype ιb] [DecidableEq ιa] [DecidableEq ιb] (B : F →L[ℝ] G →L[ℝ] H) (α : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) ιa F) (β : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) ιb G) :

    ★★ The wedge of two differential forms.

    Equations
    Instances For
      @[simp]
      theorem DifferentialForm.wedge_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {F : Type u_2} {G : Type u_3} {H : Type u_4} [NormedAddCommGroup F] [NormedSpace ℝ F] [NormedAddCommGroup G] [NormedSpace ℝ G] [NormedAddCommGroup H] [NormedSpace ℝ H] {M : Type u_5} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] {ιa : Type u_6} {ιb : Type u_7} [Fintype ιa] [Fintype ιb] [DecidableEq ιa] [DecidableEq ιb] (B : F →L[ℝ] G →L[ℝ] H) (α : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) ιa F) (β : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) ιb G) (x : M) :
      (wedge B α β) x = wedgeFamily B (fun (x : M) => α x) (fun (x : M) => β x) x

      Reindexing a family #

      noncomputable def DifferentialForm.domDomCongrFamily {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {F : Type u_2} [NormedAddCommGroup F] [NormedSpace ℝ F] {M : Type u_5} [TopologicalSpace M] [ChartedSpace E M] {ι : Type u_8} {ι' : Type u_9} (σ : ι ≃ ι') (α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^ι]→L[ℝ] Bundle.Trivial M F x) (x : M) :

      Reindexing a family of alternating maps along an equivalence of index types, fibrewise.

      Equations
      Instances For
        theorem DifferentialForm.trivializationAt_domDomCongrFamily_snd {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {F : Type u_2} [NormedAddCommGroup F] [NormedSpace ℝ F] {M : Type u_5} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] {ι : Type u_8} {ι' : Type u_9} [Fintype ι] [Fintype ι'] (σ : ι ≃ ι') (α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^ι]→L[ℝ] Bundle.Trivial M F x) (x₀ y : M) (hy : y ∈ (chartAt E x₀).source) :
        (↑(trivializationAt (E [⋀^ι']→L[ℝ] F) (fun (x : M) => TangentSpace (modelWithCornersSelf ℝ E) x [⋀^ι']→L[ℝ] Bundle.Trivial M F x) x₀) ⟨y, domDomCongrFamily σ α y⟩).2 = ContinuousAlternatingMap.domDomCongr σ (localRep α x₀ (↑(chartAt E x₀) y))
        theorem DifferentialForm.localRep_domDomCongrFamily {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {F : Type u_2} [NormedAddCommGroup F] [NormedSpace ℝ F] {M : Type u_5} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] {ι : Type u_8} {ι' : Type u_9} [Fintype ι] [Fintype ι'] (σ : ι ≃ ι') (α : (x : M) → TangentSpace (modelWithCornersSelf ℝ E) x [⋀^ι]→L[ℝ] Bundle.Trivial M F x) (x₀ : M) {w : E} (hw : w ∈ (chartAt E x₀).target) :
        noncomputable def DifferentialForm.domDomCongr {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {F : Type u_2} [NormedAddCommGroup F] [NormedSpace ℝ F] {M : Type u_5} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] {ι : Type u_8} {ι' : Type u_9} [Fintype ι] [DecidableEq ι] [Fintype ι'] (σ : ι ≃ ι') (α : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) ι F) :

        ★ Reindexing a differential form along an equivalence of index types.

        Equations
        Instances For
          @[simp]
          theorem DifferentialForm.domDomCongr_apply {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {F : Type u_2} [NormedAddCommGroup F] [NormedSpace ℝ F] {M : Type u_5} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] {ι : Type u_8} {ι' : Type u_9} [Fintype ι] [DecidableEq ι] [Fintype ι'] (σ : ι ≃ ι') (α : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) ι F) (x : M) :
          (domDomCongr σ α) x = domDomCongrFamily σ (fun (x : M) => α x) x

          The constant 0-form #

          The constant 0-form with value c, as a family.

          Equations
          Instances For

            The constant 0-form with value c.

            Equations
            Instances For

              The iterated power of a real 2-form #

              def DifferentialForm.powEquiv (k : ℕ) :
              Fin (2 * k) ⊕ Fin 2 ≃ Fin (2 * (k + 1))

              The equivalence Fin (2k) ⊕ Fin 2 ≃ Fin (2(k+1)) the iterated power re-indexes along.

              Equations
              Instances For

                The flat iterated power, and the local representative of a power #

                Pullback commutes with the iterated power.

                The iterated power is homogeneous of degree k: (c • α)^{∧k} = c^k • α^{∧k}.

                theorem DifferentialForm.localRep_wedgePow {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {M : Type u_5} [TopologicalSpace M] [ChartedSpace E M] [IsManifold (modelWithCornersSelf ℝ E) (↑⊤) M] (α : DifferentialForm (modelWithCornersSelf ℝ E) M (↑⊤) (Fin 2) ℝ) (x₀ : M) {w : E} (hw : w ∈ (chartAt E x₀).target) (k : ℕ) :
                localRep (fun (x : M) => (α.wedgePow k) x) x₀ w = (localRep (fun (x : M) => α x) x₀ w).wedgePow k

                ★ The local representative of the k-th power is the k-th power of the local representative.