Documentation
Mathlib
.
Algebra
.
Order
.
Group
.
End
Search
return to top
source
Imports
Init
Mathlib.Algebra.Group.Defs
Mathlib.Order.RelIso.Basic
Imported by
RelHom
.
instMonoid
RelHom
.
one_def
RelHom
.
mul_def
RelHom
.
coe_one
RelHom
.
coe_mul
RelHom
.
one_apply
RelHom
.
mul_apply
RelEmbedding
.
instMonoid
RelEmbedding
.
one_def
RelEmbedding
.
mul_def
RelEmbedding
.
coe_one
RelEmbedding
.
coe_mul
RelEmbedding
.
one_apply
RelEmbedding
.
mul_apply
RelIso
.
instGroup
RelIso
.
one_def
RelIso
.
mul_def
RelIso
.
coe_one
RelIso
.
coe_mul
RelIso
.
one_apply
RelIso
.
mul_apply
RelIso
.
inv_apply_self
RelIso
.
apply_inv_self
Relation isomorphisms form a group
#
source
instance
RelHom
.
instMonoid
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
:
Monoid
(
r
→r
r
)
Equations
RelHom.instMonoid
=
Monoid.mk
⋯
⋯
npowRecAuto
⋯
⋯
source
theorem
RelHom
.
one_def
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
:
1
=
RelHom.id
r
source
theorem
RelHom
.
mul_def
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
(
f
g
:
r
→r
r
)
:
f
*
g
=
f
.
comp
g
source
@[simp]
theorem
RelHom
.
coe_one
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
:
⇑
1
=
id
source
@[simp]
theorem
RelHom
.
coe_mul
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
(
f
g
:
r
→r
r
)
:
⇑(
f
*
g
)
=
⇑
f
∘
⇑
g
source
theorem
RelHom
.
one_apply
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
(
a
:
α
)
:
1
a
=
a
source
theorem
RelHom
.
mul_apply
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
(
e₁
e₂
:
r
→r
r
)
(
x
:
α
)
:
(
e₁
*
e₂
)
x
=
e₁
(
e₂
x
)
source
instance
RelEmbedding
.
instMonoid
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
:
Monoid
(
r
↪r
r
)
Equations
RelEmbedding.instMonoid
=
Monoid.mk
⋯
⋯
npowRecAuto
⋯
⋯
source
theorem
RelEmbedding
.
one_def
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
:
1
=
RelEmbedding.refl
r
source
theorem
RelEmbedding
.
mul_def
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
(
f
g
:
r
↪r
r
)
:
f
*
g
=
g
.
trans
f
source
@[simp]
theorem
RelEmbedding
.
coe_one
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
:
⇑
1
=
id
source
@[simp]
theorem
RelEmbedding
.
coe_mul
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
(
f
g
:
r
↪r
r
)
:
⇑(
f
*
g
)
=
⇑
f
∘
⇑
g
source
theorem
RelEmbedding
.
one_apply
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
(
a
:
α
)
:
1
a
=
a
source
theorem
RelEmbedding
.
mul_apply
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
(
e₁
e₂
:
r
↪r
r
)
(
x
:
α
)
:
(
e₁
*
e₂
)
x
=
e₁
(
e₂
x
)
source
instance
RelIso
.
instGroup
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
:
Group
(
r
≃r
r
)
Equations
RelIso.instGroup
=
Group.mk
⋯
source
theorem
RelIso
.
one_def
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
:
1
=
RelIso.refl
r
source
theorem
RelIso
.
mul_def
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
(
f
g
:
r
≃r
r
)
:
f
*
g
=
g
.
trans
f
source
@[simp]
theorem
RelIso
.
coe_one
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
:
⇑
1
=
id
source
@[simp]
theorem
RelIso
.
coe_mul
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
(
e₁
e₂
:
r
≃r
r
)
:
⇑(
e₁
*
e₂
)
=
⇑
e₁
∘
⇑
e₂
source
theorem
RelIso
.
one_apply
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
(
x
:
α
)
:
1
x
=
x
source
theorem
RelIso
.
mul_apply
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
(
e₁
e₂
:
r
≃r
r
)
(
x
:
α
)
:
(
e₁
*
e₂
)
x
=
e₁
(
e₂
x
)
source
@[simp]
theorem
RelIso
.
inv_apply_self
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
(
e
:
r
≃r
r
)
(
x
:
α
)
:
e
⁻¹
(
e
x
)
=
x
source
@[simp]
theorem
RelIso
.
apply_inv_self
{
α
:
Type
u_1}
{
r
:
α
→
α
→
Prop
}
(
e
:
r
≃r
r
)
(
x
:
α
)
:
e
(
e
⁻¹
x
)
=
x