35 lines
2 KiB
Text
35 lines
2 KiB
Text
@CommMonoid.mk.{u_1} : {α : Type u_1} →
|
||
[toMonoid : Monoid.{u_1} α] →
|
||
(∀ (a b : α),
|
||
@Eq.{u_1 + 1} α
|
||
(@HMul.hMul.{u_1, u_1, u_1} α α α
|
||
(@instHMul.{u_1} α (@Semigroup.toMul.{u_1} α (@Monoid.toSemigroup.{u_1} α toMonoid))) a b)
|
||
(@HMul.hMul.{u_1, u_1, u_1} α α α
|
||
(@instHMul.{u_1} α (@Semigroup.toMul.{u_1} α (@Monoid.toSemigroup.{u_1} α toMonoid))) b a)) →
|
||
CommMonoid.{u_1} α
|
||
def CommMonoid.toCommSemigroup.{u} : {α : Type u} → [self : CommMonoid.{u} α] → CommSemigroup.{u} α :=
|
||
fun (α : Type u) [self : CommMonoid.{u} α] =>
|
||
@CommSemigroup.mk.{u} α (@Monoid.toSemigroup.{u} α (@CommMonoid.toMonoid.{u} α self))
|
||
(@CommMonoid.mul_comm.{u} α self)
|
||
@CommGroup.mk.{u_1} : {α : Type u_1} →
|
||
[toGroup : Group.{u_1} α] →
|
||
(∀ (a b : α),
|
||
@Eq.{u_1 + 1} α
|
||
(@HMul.hMul.{u_1, u_1, u_1} α α α
|
||
(@instHMul.{u_1} α
|
||
(@Semigroup.toMul.{u_1} α (@Monoid.toSemigroup.{u_1} α (@Group.toMonoid.{u_1} α toGroup))))
|
||
a b)
|
||
(@HMul.hMul.{u_1, u_1, u_1} α α α
|
||
(@instHMul.{u_1} α
|
||
(@Semigroup.toMul.{u_1} α (@Monoid.toSemigroup.{u_1} α (@Group.toMonoid.{u_1} α toGroup))))
|
||
b a)) →
|
||
CommGroup.{u_1} α
|
||
def CommGroup.toCommMonoid.{u} : {α : Type u} → [self : CommGroup.{u} α] → CommMonoid.{u} α :=
|
||
fun (α : Type u) [self : CommGroup.{u} α] =>
|
||
@CommMonoid.mk.{u} α (@Group.toMonoid.{u} α (@CommGroup.toGroup.{u} α self)) (@CommGroup.mul_comm.{u} α self)
|
||
@Field.mk : {α : Type u_1} → [toDivisionRing : DivisionRing α] → (∀ (a b : α), a * b = b * a) → Field α
|
||
def Field.toDivisionRing.{u} : {α : Type u} → [self : Field.{u} α] → DivisionRing.{u} α :=
|
||
fun (α : Type u) [self : Field.{u} α] => self.1
|
||
def Field.toCommRing.{u} : {α : Type u} → [self : Field.{u} α] → CommRing.{u} α :=
|
||
fun (α : Type u) [self : Field.{u} α] =>
|
||
@CommRing.mk.{u} α (@DivisionRing.toRing.{u} α (@Field.toDivisionRing.{u} α self)) (@Field.mul_comm.{u} α self)
|