Documentation

Mathlib.LinearAlgebra.BilinearForm.DualLattice

Dual submodule with respect to a bilinear form. #

Main definitions and results #

TODO #

Properly develop the material in the context of lattices.

def LinearMap.BilinForm.dualSubmodule {R : Type u_1} {S : Type u_2} {M : Type u_3} [CommRing R] [Field S] [AddCommGroup M] [Algebra R S] [Module R M] [Module S M] [IsScalarTower R S M] (B : LinearMap.BilinForm S M) (N : Submodule R M) :

The dual submodule of a submodule with respect to a bilinear form.

Instances For
    theorem LinearMap.BilinForm.mem_dualSubmodule {R : Type u_1} {S : Type u_3} {M : Type u_2} [CommRing R] [Field S] [AddCommGroup M] [Algebra R S] [Module R M] [Module S M] [IsScalarTower R S M] (B : LinearMap.BilinForm S M) {N : Submodule R M} {x : M} :
    x ∈ B.dualSubmodule N ↔ āˆ€ y ∈ N, (B x) y ∈ 1
    theorem LinearMap.BilinForm.le_flip_dualSubmodule {R : Type u_1} {S : Type u_3} {M : Type u_2} [CommRing R] [Field S] [AddCommGroup M] [Algebra R S] [Module R M] [Module S M] [IsScalarTower R S M] (B : LinearMap.BilinForm S M) {N₁ Nā‚‚ : Submodule R M} :
    N₁ ≤ B.flip.dualSubmodule Nā‚‚ ↔ Nā‚‚ ≤ B.dualSubmodule N₁
    noncomputable def LinearMap.BilinForm.dualSubmoduleParing {R : Type u_1} {S : Type u_2} {M : Type u_3} [CommRing R] [Field S] [AddCommGroup M] [Algebra R S] [Module R M] [Module S M] [IsScalarTower R S M] (B : LinearMap.BilinForm S M) {N : Submodule R M} (x : ↄ(B.dualSubmodule N)) (y : ↄN) :
    R

    The natural paring of B.dualSubmodule N and N. This is bundled as a bilinear map in BilinForm.dualSubmoduleToDual.

    Instances For
      @[simp]
      theorem LinearMap.BilinForm.dualSubmoduleParing_spec {R : Type u_1} {S : Type u_3} {M : Type u_2} [CommRing R] [Field S] [AddCommGroup M] [Algebra R S] [Module R M] [Module S M] [IsScalarTower R S M] (B : LinearMap.BilinForm S M) {N : Submodule R M} (x : ↄ(B.dualSubmodule N)) (y : ↄN) :
      (algebraMap R S) (B.dualSubmoduleParing x y) = (B ↑x) ↑y
      noncomputable def LinearMap.BilinForm.dualSubmoduleToDual {R : Type u_1} {S : Type u_2} {M : Type u_3} [CommRing R] [Field S] [AddCommGroup M] [Algebra R S] [Module R M] [Module S M] [IsScalarTower R S M] (B : LinearMap.BilinForm S M) [IsDomain R] [Module.IsTorsionFree R S] (N : Submodule R M) :
      ↄ(B.dualSubmodule N) →ₗ[R] Module.Dual R ↄN

      The natural paring of B.dualSubmodule N and N.

      Instances For
        @[simp]
        theorem LinearMap.BilinForm.dualSubmoduleToDual_apply_apply {R : Type u_1} {S : Type u_2} {M : Type u_3} [CommRing R] [Field S] [AddCommGroup M] [Algebra R S] [Module R M] [Module S M] [IsScalarTower R S M] (B : LinearMap.BilinForm S M) [IsDomain R] [Module.IsTorsionFree R S] (N : Submodule R M) (x : ↄ(B.dualSubmodule N)) (y : ↄN) :
        theorem LinearMap.BilinForm.dualSubmoduleToDual_injective {R : Type u_1} {S : Type u_2} {M : Type u_3} [CommRing R] [Field S] [AddCommGroup M] [Algebra R S] [Module R M] [Module S M] [IsScalarTower R S M] (B : LinearMap.BilinForm S M) [IsDomain R] (hB : B.Nondegenerate) [Module.IsTorsionFree R S] (N : Submodule R M) (hN : Submodule.span S ↑N = ⊤) :
        Function.Injective ⇑(B.dualSubmoduleToDual N)
        theorem LinearMap.BilinForm.dualSubmodule_span_of_basis {R : Type u_4} {S : Type u_2} {M : Type u_3} [CommRing R] [Field S] [AddCommGroup M] [Algebra R S] [Module R M] [Module S M] [IsScalarTower R S M] (B : LinearMap.BilinForm S M) {ι : Type u_1} [Finite ι] [DecidableEq ι] (hB : B.Nondegenerate) (b : Module.Basis ι S M) :
        theorem LinearMap.BilinForm.dualSubmodule_dualSubmodule_flip_of_basis {R : Type u_4} {S : Type u_2} {M : Type u_3} [CommRing R] [Field S] [AddCommGroup M] [Algebra R S] [Module R M] [Module S M] [IsScalarTower R S M] (B : LinearMap.BilinForm S M) {ι : Type u_1} [Finite ι] (hB : B.Nondegenerate) (b : Module.Basis ι S M) :
        theorem LinearMap.BilinForm.dualSubmodule_flip_dualSubmodule_of_basis {R : Type u_4} {S : Type u_2} {M : Type u_3} [CommRing R] [Field S] [AddCommGroup M] [Algebra R S] [Module R M] [Module S M] [IsScalarTower R S M] (B : LinearMap.BilinForm S M) {ι : Type u_1} [Finite ι] (hB : B.Nondegenerate) (b : Module.Basis ι S M) :
        theorem LinearMap.BilinForm.dualSubmodule_dualSubmodule_of_basis {R : Type u_4} {S : Type u_2} {M : Type u_3} [CommRing R] [Field S] [AddCommGroup M] [Algebra R S] [Module R M] [Module S M] [IsScalarTower R S M] (B : LinearMap.BilinForm S M) {ι : Type u_1} [Finite ι] (hB : B.Nondegenerate) (hB' : B.IsSymm) (b : Module.Basis ι S M) :