Finite bilinear modules #
A finite abelian group equipped with a symmetric biadditive pairing into ℚ/ℤ. The pairing
is stored as its adjoint into Mathlib's CharacterModule; nondegeneracy asserts that this
adjoint is bijective.
This file provides the basic constructions needed for discriminant forms: morphisms, isometries, restriction, form negation, orthogonal direct sums, radicals, orthogonal complements, isotropic elements, isotropic subgroups, and Lagrangians. Nondegeneracy remains a predicate because restriction to a subgroup can be degenerate.
References #
- V. V. Nikulin, Integral symmetric bilinear forms and some of their applications, §1.1.
- W. Ebeling, Lattices and Codes, Chapter 1.
Main definitions #
TauCeti.FiniteBilinearModule: a finite abelian group with a symmetricℚ/ℤ-valued pairing.TauCeti.FiniteBilinearModule.toBilin: the pairing as aℤ-bilinear map.TauCeti.FiniteBilinearModule.IsNondegenerate: bijectivity of the adjoint pairing.TauCeti.FiniteBilinearModule.Hom: a pairing-preserving additive homomorphism.TauCeti.FiniteBilinearModule.Isometry: a pairing-preserving additive equivalence.TauCeti.FiniteBilinearModule.Isometry.prod: the orthogonal direct sum of two isometries.TauCeti.FiniteBilinearModule.orthogonalComplement: the orthogonal complement of a subgroup.TauCeti.FiniteBilinearModule.IsIsotropicElem: vanishing of the self-pairing on an element.TauCeti.FiniteBilinearModule.IsIsotropic: vanishing of the pairing on a subgroup.TauCeti.FiniteBilinearModule.IsLagrangian: equality with the orthogonal complement.
Main results #
TauCeti.FiniteBilinearModule.radical_restrict: the radical of a restricted pairing is the part of the orthogonal complement lying in the subgroup.TauCeti.FiniteBilinearModule.Isometry.map_orthogonalComplement: an isometry carries orthogonal complements to orthogonal complements.TauCeti.FiniteBilinearModule.Isometry.comap_orthogonalComplement: the inverse image of an orthogonal complement under an isometry is the orthogonal complement of the inverse image.TauCeti.FiniteBilinearModule.Isometry.orthogonalComplementEquiv: the induced equivalence between corresponding orthogonal complements.TauCeti.FiniteBilinearModule.Hom.isIsotropic_map_iff: the image of a subgroup under a morphism is isotropic exactly when the subgroup is;Isometry.isIsotropic_map_iffis the form for an isometry's additive equivalence.TauCeti.FiniteBilinearModule.Isometry.isIsotropic_comap_iff: an isometry transports isotropic subgroups by inverse image.TauCeti.FiniteBilinearModule.Isometry.isLagrangian_map_iff: an isometry transports Lagrangian subgroups.TauCeti.FiniteBilinearModule.isIsotropic_prod_iff: isotropy of a product subgroup in an orthogonal direct sum is isotropy of each factor subgroup.
A finite abelian group equipped with a symmetric biadditive pairing into ℚ/ℤ.
The pairing is stored as its adjoint A →+ CharacterModule A, so biadditivity is part of its
type.
- carrier : Type u
The underlying finite abelian group.
- addCommGroup : AddCommGroup self.carrier
The adjoint of the bilinear pairing.
The pairing is symmetric.
Instances For
A finite bilinear module coerces to its underlying type.
The pairing of 0 with any element is zero.
The pairing of any element with 0 is zero.
The pairing is additive in its first argument.
The pairing is additive in its second argument.
Negating the first argument negates the pairing.
Negating the second argument negates the pairing.
The pairing is ℕ-linear in its first argument.
The bilinear pairing associated to a finite bilinear module, viewed as a ℤ-bilinear map.
Instances For
The ℤ-bilinear map toBilin evaluates to the pairing.
The bilinear map toBilin is reflexive: a pairing that vanishes in one order vanishes in the
other.
A finite bilinear module is nondegenerate when its adjoint pairing is bijective.
Equations
Instances For
An injective pairing on a finite module is nondegenerate by finite duality.
Nondegeneracy is equivalent to injectivity of the adjoint pairing for a finite module.
The adjoint pairing of a nondegenerate finite module is injective.
The adjoint pairing of a nondegenerate finite module is surjective.
The adjoint pairing of a nondegenerate finite module is bijective.
A nondegenerate pairing identifies its group with the full character module.
Equations
- A.adjointEquiv hA = AddEquiv.ofBijective A.pairing ⋯
Instances For
The adjoint equivalence sends x to its character A.pairing x.
Morphisms and isometries #
A morphism of finite bilinear modules is a pairing-preserving additive homomorphism.
The underlying additive homomorphism.
- map_pairing' (x y : A.carrier) : (B.pairing (self.toAddMonoidHom x)) (self.toAddMonoidHom y) = (A.pairing x) y
The homomorphism preserves the bilinear pairing.
Instances For
A morphism of finite bilinear modules coerces to a function between the underlying groups.
Equations
- TauCeti.FiniteBilinearModule.Hom.instFunLikeCarrier = { coe := fun (f : A.Hom B) => ⇑f.toAddMonoidHom, coe_injective := ⋯ }
A morphism of finite bilinear modules is an additive homomorphism.
The underlying additive homomorphism of a morphism has the same underlying function.
A morphism of finite bilinear modules preserves the stored pairing.
Two morphisms are equal when they agree on every element.
The identity morphism of a finite bilinear module.
Equations
- TauCeti.FiniteBilinearModule.Hom.id A = { toAddMonoidHom := AddMonoidHom.id A.carrier, map_pairing' := ⋯ }
Instances For
The composite of two finite bilinear module morphisms.
Equations
- g.comp f = { toAddMonoidHom := g.toAddMonoidHom.comp f.toAddMonoidHom, map_pairing' := ⋯ }
Instances For
The identity morphism fixes every element.
A composite of morphisms applies the two morphisms in turn.
The identity morphism is a left identity for composition.
The identity morphism is a right identity for composition.
Composition of morphisms is associative.
A morphism out of a nondegenerate finite bilinear module is injective.
An isometry of finite bilinear modules is an additive equivalence preserving the pairing.
The underlying additive equivalence.
- map_pairing' (x y : A.carrier) : (B.pairing (self.toAddEquiv x)) (self.toAddEquiv y) = (A.pairing x) y
The equivalence preserves the bilinear pairing.
Instances For
An isometry is determined by its underlying additive equivalence.
Two isometries are equal exactly when their underlying additive equivalences are.
An isometry of finite bilinear modules coerces to an equivalence of the underlying groups.
Equations
- One or more equations did not get rendered due to their size.
An isometry of finite bilinear modules is an additive equivalence.
The underlying additive equivalence of an isometry has the same underlying function.
An isometry preserves the pairing.
An isometry is, after forgetting bijectivity, a morphism of finite bilinear modules.
Equations
- f.toHom = { toAddMonoidHom := f.toAddEquiv.toAddMonoidHom, map_pairing' := ⋯ }
Instances For
The morphism underlying an isometry has the same underlying function.
The additive homomorphism underlying f.toHom is that of the additive equivalence of f.
The underlying morphism of an isometry is bijective.
Two isometries are equal when they agree on all elements.
The identity isometry.
Equations
- TauCeti.FiniteBilinearModule.Isometry.refl A = { toAddEquiv := AddEquiv.refl A.carrier, map_pairing' := ⋯ }
Instances For
The inverse of an isometry.
Instances For
The composite of two isometries.
Equations
- f.trans g = { toAddEquiv := f.toAddEquiv.trans g.toAddEquiv, map_pairing' := ⋯ }
Instances For
The identity isometry has the identity additive equivalence.
The inverse isometry has the inverse additive equivalence.
The composite isometry has the composite additive equivalence.
The identity isometry fixes every element.
The inverse of an isometry undoes it.
An isometry undoes its inverse.
A composite of isometries applies the two isometries in turn.
Forgetting the identity isometry gives the identity morphism.
Forgetting a composite isometry gives the composite morphism.
Nondegeneracy transfers along an isometry.
Nondegeneracy is invariant under isometry.
A bijective morphism of finite bilinear modules is an isometry.
Equations
- f.toIsometry hf = { toAddEquiv := AddEquiv.ofBijective f.toAddMonoidHom hf, map_pairing' := ⋯ }
Instances For
The isometry packaged from a bijective morphism has the same underlying function.
Forgetting a bijective morphism after packaging it as an isometry recovers the morphism.
Packaging the underlying morphism of an isometry recovers the isometry.
Restrict a finite bilinear module to an additive subgroup.
No nondegeneracy conclusion is asserted: a subgroup of a nondegenerate module can have a degenerate restricted pairing.
Equations
Instances For
The restricted pairing pairs elements of the subgroup as elements of the whole module.
The inclusion of a restricted finite bilinear module into the original module.
Equations
- A.restrictHom H = { toAddMonoidHom := H.subtype, map_pairing' := ⋯ }
Instances For
The inclusion of a restricted module sends an element of the subgroup to itself.
Negate the pairing of a finite bilinear module.
Equations
Instances For
The negated module pairs elements by the negated pairing.
Form negation preserves nondegeneracy of a finite bilinear module.
The orthogonal direct sum of two finite bilinear modules.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The orthogonal direct sum pairs componentwise and adds the two pairings.
The orthogonal direct sum of two isometries.
Equations
- f.prod g = { toAddEquiv := f.toAddEquiv.prodCongr g.toAddEquiv, map_pairing' := ⋯ }
Instances For
An orthogonal direct sum of isometries acts componentwise.
The radical is the kernel of the adjoint pairing.
Instances For
An element lies in the radical exactly when it pairs trivially with every element.
A finite bilinear module is nondegenerate if and only if its radical is trivial.
The radical of an orthogonal direct sum is the product of the radicals.
An orthogonal direct sum of finite bilinear modules is nondegenerate if and only if both factors are nondegenerate.
An element pairing trivially with every element is zero in a nondegenerate module.
The radical of a nondegenerate finite bilinear module is trivial.
A finite bilinear module with trivial radical is nondegenerate.
The orthogonal complement of a subgroup consists of the elements pairing trivially with it.
Equations
Instances For
An element lies in the orthogonal complement of H exactly when it pairs trivially with every
element of H.
The radical of a restricted pairing. Restricting the pairing of A to a subgroup S
makes degenerate exactly the vectors of S which are orthogonal to all of S.
Orthogonal complements reverse inclusions.
Every element is orthogonal to the trivial subgroup.
The orthogonal complement of the whole group is the radical.
The orthogonal complement of the whole group is trivial for a nondegenerate pairing.
Every subgroup is contained in its double orthogonal complement.
An element of a finite bilinear module is isotropic when its self-pairing vanishes.
Equations
- A.IsIsotropicElem x = ((A.pairing x) x = 0)
Instances For
An element is isotropic exactly when its self-pairing vanishes.
The zero element is isotropic.
The negative of an isotropic element is isotropic.
A morphism of finite bilinear modules preserves and reflects isotropic elements.
An isometry preserves and reflects isotropic elements.
Form negation preserves isotropic elements.
An element in an orthogonal product is isotropic if and only if the sum of its component pairings vanishes.
A subgroup is bilinearly isotropic when the pairing vanishes on the subgroup square.
Equations
- A.IsIsotropic H = ∀ x ∈ H, ∀ y ∈ H, (A.pairing x) y = 0
Instances For
Bilinear isotropy of a subgroup, unfolded to its defining property.
An element belonging to an isotropic subgroup is isotropic.
The cyclic subgroup generated by x is isotropic if and only if x is isotropic.
Isotropy is equivalently inclusion in the orthogonal complement.
Isotropy passes to additive subgroups.
The trivial subgroup is isotropic.
Isotropy of a product subgroup is componentwise.
A Lagrangian is a subgroup equal to its orthogonal complement.
Equations
- A.IsLagrangian H = (H = A.orthogonalComplement H)
Instances For
A subgroup is Lagrangian exactly when it equals its orthogonal complement.
Every Lagrangian is isotropic.
An isometry carries orthogonal complements to orthogonal complements.
The inverse image of an orthogonal complement under an isometry is the orthogonal complement of the inverse image.
An isometry restricts to an additive equivalence from the orthogonal complement of a subgroup onto the orthogonal complement of its image.
Equations
Instances For
The restricted equivalence of orthogonal complements acts by the isometry.
The inverse restricted equivalence of orthogonal complements acts by the inverse isometry.
An isometry carries an element of the orthogonal complement of H into the orthogonal
complement of K whenever the preimage of K is contained in H.
An isometry carrying H onto K carries every element of H^⊥ into K^⊥.
The image of a subgroup under a morphism of finite bilinear modules is isotropic exactly when the subgroup is.
An isometry transports isotropic subgroups, stated for the image under its additive equivalence.
An isometry transports isotropic subgroups by inverse image.
An isometry transports Lagrangian subgroups.