Bracket Notation #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file provides notation which can be used for the Lie bracket, for the commutator of two subgroups, and for other similar operations.
Main Definitions #
has_bracket L M
for a binary operation that takes something inL
and something inM
and produces something inM
. Defining an instance of this structure gives access to the notation⁅ ⁆
Notation #
We introduce the notation ⁅x, y⁆
for the bracket
of any has_bracket
structure. Note that
these are the Unicode "square with quill" brackets rather than the usual square brackets.
The has_bracket class has three intended uses:
-
for certain binary operations on structures, like the product
⁅x, y⁆
of two elementsx
,y
in a Lie algebra or the commutator of two elementsx
andy
in a group. -
for certain actions of one structure on another, like the action
⁅x, m⁆
of an elementx
of a Lie algebra on an elementm
in one of its modules (analogous tohas_smul
in the associative setting). -
for binary operations on substructures, like the commutator
⁅H, K⁆
of two subgroupsH
andK
of a group.
Instances of this typeclass
- lie_ring.to_has_bracket
- lie_ring_module.to_has_bracket
- ring.has_bracket
- commutator_element
- subgroup.commutator
- derivation.has_bracket
- left_invariant_derivation.has_bracket
- lie_submodule.has_bracket
- lie_submodule.quotient.action_as_endo_map_bracket
- lie_submodule.quotient.lie_quotient_has_bracket
- lie_algebra.extend_scalars.tensor_product.has_bracket
Instances of other typeclasses for has_bracket
- has_bracket.has_sizeof_inst