Documentation

Mathlib.Algebra.Group.IsCommutative

Commutative structures from unbundled commutativity #

This file provides scoped instances that promote algebraic structures satisfying IsMulCommutative or IsAddCommutative to their bundled commutative counterparts.

@[instance_reducible]

A magma which IsMulCommutative is a CommMagma.

This is primarily used to deduce the bundled version from the unbundled one for commutative subobjects in a noncommutative ambient type. As such this is only available inside the IsMulCommutative scope so as to avoid deleterious effects to type class synthesis for bundled commutativity.

See note [commutative subobjects].

Equations
Instances For
    @[instance_reducible]

    An additive magma which IsMulCommutative is a AddCommMagma.

    This is primarily used to deduce the bundled version from the unbundled one for commutative subobjects in a noncommutative ambient type. As such this is only available inside the IsMulCommutative scope so as to avoid deleterious effects to type class synthesis for bundled commutativity.

    See note [commutative subobjects].

    Equations
    Instances For
      @[instance_reducible]

      A Semigroup which IsMulCommutative is a CommSemigroup.

      This is primarily used to deduce the bundled version from the unbundled one for commutative subobjects in a noncommutative ambient type. As such this is only available inside the IsMulCommutative scope so as to avoid deleterious effects to type class synthesis for bundled commutativity.

      See note [commutative subobjects].

      Equations
      Instances For
        @[instance_reducible]

        An AddSemigroup which IsMulCommutative is a AddCommSemigroup.

        This is primarily used to deduce the bundled version from the unbundled one for commutative subobjects in a noncommutative ambient type. As such this is only available inside the IsMulCommutative scope so as to avoid deleterious effects to type class synthesis for bundled commutativity.

        See note [commutative subobjects].

        Equations
        Instances For
          @[instance_reducible]

          A Monoid which IsMulCommutative is a CommMonoid.

          This is primarily used to deduce the bundled version from the unbundled one for commutative subobjects in a noncommutative ambient type. As such this is only available inside the IsMulCommutative scope so as to avoid deleterious effects to type class synthesis for bundled commutativity.

          See note [commutative subobjects].

          Equations
          Instances For
            @[instance_reducible]

            A AddMonoid which IsMulCommutative is a AddCommMonoid.

            This is primarily used to deduce the bundled version from the unbundled one for commutative subobjects in a noncommutative ambient type. As such this is only available inside the IsMulCommutative scope so as to avoid deleterious effects to type class synthesis for bundled commutativity.

            See note [commutative subobjects].

            Equations
            Instances For
              @[instance_reducible]

              A DivisionMonoid which IsMulCommutative is a DivisionCommMonoid.

              This is primarily used to deduce the bundled version from the unbundled one for commutative subobjects in a noncommutative ambient type. As such this is only available inside the IsMulCommutative scope so as to avoid deleterious effects to type class synthesis for bundled commutativity.

              See note [commutative subobjects].

              Equations
              Instances For
                @[instance_reducible]

                A SubtractionMonoid which IsMulCommutative is a SubtractionCommMonoid.

                This is primarily used to deduce the bundled version from the unbundled one for commutative subobjects in a noncommutative ambient type. As such this is only available inside the IsMulCommutative scope so as to avoid deleterious effects to type class synthesis for bundled commutativity.

                See note [commutative subobjects].

                Equations
                Instances For
                  @[instance_reducible]

                  A Group which IsMulCommutative is a CommGroup.

                  This is primarily used to deduce the bundled version from the unbundled one for commutative subobjects in a noncommutative ambient type. As such this is only available inside the IsMulCommutative scope so as to avoid deleterious effects to type class synthesis for bundled commutativity.

                  See note [commutative subobjects].

                  Equations
                  Instances For
                    @[instance_reducible]

                    An AddGroup which IsMulCommutative is a AddCommGroup.

                    This is primarily used to deduce the bundled version from the unbundled one for commutative subobjects in a noncommutative ambient type. As such this is only available inside the IsMulCommutative scope so as to avoid deleterious effects to type class synthesis for bundled commutativity.

                    See note [commutative subobjects].

                    Equations
                    Instances For