Documentation

AlgebraInLean.Chapter01.Sheet02

class AlgebraInLean.Magma (α : Type u_1) :
Type u_1

A magma is the simplest algebraic structure. It is a set along with a binary operation with no additional properties imposed

  • op : ααα
Instances
    def AlgebraInLean.μ {α : Type u_1} [AlgebraInLean.Magma α] :
    ααα

    The operation on a Magma or derived structure

    Equations
    • AlgebraInLean.μ = AlgebraInLean.Magma.op
    Instances For

      A semigroup is a magma where the operation is associative

      Instances

        (a ⬝ b) ⬝ c = a ⬝ (b ⬝ c)

        A monoid is a semigroup with an identity element

        Instances
          theorem AlgebraInLean.Monoid.op_id {α : Type u_2} [self : AlgebraInLean.Monoid α] (a : α) :
          AlgebraInLean.μ a AlgebraInLean.Monoid.id = a
          theorem AlgebraInLean.Monoid.id_op {α : Type u_2} [self : AlgebraInLean.Monoid α] (a : α) :
          AlgebraInLean.μ AlgebraInLean.Monoid.id a = a

          The identity element of a monoid or derived structure

          Equations
          • AlgebraInLean.𝕖 = AlgebraInLean.Monoid.id
          Instances For
            theorem AlgebraInLean.op_id {α : Type u_1} [AlgebraInLean.Monoid α] (a : α) :
            AlgebraInLean.μ a AlgebraInLean.𝕖 = a

            a ⬝ 𝕖 = a

            theorem AlgebraInLean.id_op {α : Type u_1} [AlgebraInLean.Monoid α] (a : α) :
            AlgebraInLean.μ AlgebraInLean.𝕖 a = a

            𝕖 ⬝ a = a

            Commutative monoids have the additional property that the operation is commutative

            Instances
              theorem AlgebraInLean.op_comm {α : Type u_1} [AlgebraInLean.CommMonoid α] (a : α) (b : α) :

              a ⬝ b = b ⬝ a

              class AlgebraInLean.Group (α : Type u_2) extends AlgebraInLean.Monoid :
              Type u_2

              A group is a monoid with inverses

              Instances
                theorem AlgebraInLean.Group.inv_op {α : Type u_2} [self : AlgebraInLean.Group α] (a : α) :
                AlgebraInLean.μ (AlgebraInLean.Group.inv a) a = AlgebraInLean.𝕖
                def AlgebraInLean.ι {α : Type u_1} [AlgebraInLean.Group α] :
                αα

                The inverse map of a group or derived structure

                Equations
                • AlgebraInLean.ι = AlgebraInLean.Group.inv
                Instances For
                  theorem AlgebraInLean.inv_op {α : Type u_1} [AlgebraInLean.Group α] (a : α) :
                  AlgebraInLean.μ (AlgebraInLean.ι a) a = AlgebraInLean.𝕖

                  a⁻¹ ⬝ a = 𝕖

                  An abelian group is a group with commutativity

                  Instances
                    Equations
                    theorem AlgebraInLean.op_inv {α : Type u_1} [AlgebraInLean.Group α] (a : α) :
                    AlgebraInLean.μ a (AlgebraInLean.ι a) = AlgebraInLean.𝕖

                    a ⬝ a⁻¹ = 𝕖

                    theorem AlgebraInLean.op_left_cancel {α : Type u_1} [AlgebraInLean.Group α] (a : α) (b : α) (c : α) (h : AlgebraInLean.μ a b = AlgebraInLean.μ a c) :
                    b = c

                    a ⬝ b = a ⬝ c ⇒ b = c

                    theorem AlgebraInLean.op_right_cancel {α : Type u_1} [AlgebraInLean.Group α] (a : α) (b : α) (c : α) (h : AlgebraInLean.μ b a = AlgebraInLean.μ c a) :
                    b = c

                    b ⬝ a = c ⬝ a ⇒ b = c