Documentation

AlgebraInLean.Chapter01.Sheet01

The most common structure in algebra is the group. A group is defined as a set G along with some binary operation on that set that satisfies some properties (listed below). This is represented in Lean as a type class, which are objects that share certain properties (a proof that a type satisfies a given type class is called an instance). For a given type G, the type Group G corresponds to it being a group; as an argument, this is often written [Group G], which makes Lean automatically look for an implementation of such.

Instances
    theorem AlgebraInLean.GroupIntro.Group.op_id {G : Type u_1} [self : AlgebraInLean.GroupIntro.Group G] (a : G) :
    AlgebraInLean.GroupIntro.Group.op a AlgebraInLean.GroupIntro.Group.id = a

    a ⬝ 𝕖 = a

    theorem AlgebraInLean.GroupIntro.Group.id_op {G : Type u_1} [self : AlgebraInLean.GroupIntro.Group G] (a : G) :
    AlgebraInLean.GroupIntro.Group.op AlgebraInLean.GroupIntro.Group.id a = a

    𝕖 ⬝ a = a

    a⁻¹ ⬝ a = 𝕖

    The group operation

    Equations
    • AlgebraInLean.GroupIntro.μ = AlgebraInLean.GroupIntro.Group.op
    Instances For

      The identity element of the group

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

        a ⬝ 𝕖 = a

        theorem AlgebraInLean.GroupIntro.id_op {G : Type u_1} [AlgebraInLean.GroupIntro.Group G] (a : G) :
        AlgebraInLean.GroupIntro.μ AlgebraInLean.GroupIntro.𝕖 a = a

        𝕖 ⬝ a = a

        The inverse map of the group

        Equations
        • AlgebraInLean.GroupIntro.ι = AlgebraInLean.GroupIntro.Group.inv
        Instances For

          a⁻¹ ⬝ a = 𝕖

          a ⬝ a⁻¹ =𝕖