Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 709b449

Browse files
committed
chore(algebra/star/basic): provide automorphisms in commutative rings (#9483)
This adds `star_mul_aut` and `star_ring_aut`, which are the versions of `star_mul_equiv` and `star_ring_equiv` which avoid needing `opposite` due to commutativity.
1 parent fc7f9f3 commit 709b449

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src/algebra/star/basic.lean

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ import tactic.apply_fun
77
import algebra.order.ring
88
import algebra.opposites
99
import algebra.big_operators.basic
10-
import data.equiv.ring
10+
import data.equiv.ring_aut
11+
import data.equiv.mul_add_aut
1112

1213
/-!
1314
# Star monoids and star rings
@@ -86,6 +87,13 @@ def star_mul_equiv [monoid R] [star_monoid R] : R ≃* Rᵒᵖ :=
8687
map_mul' := λ x y, (star_mul x y).symm ▸ (opposite.op_mul _ _),
8788
..(has_involutive_star.star_involutive.to_equiv star).trans opposite.equiv_to_opposite}
8889

90+
/-- `star` as a `mul_aut` for commutative `R`. -/
91+
@[simps apply]
92+
def star_mul_aut [comm_monoid R] [star_monoid R] : mul_aut R :=
93+
{ to_fun := star,
94+
map_mul' := λ x y, (star_mul x y).trans (mul_comm _ _),
95+
..(has_involutive_star.star_involutive.to_equiv star) }
96+
8997
variables (R)
9098

9199
@[simp] lemma star_one [monoid R] [star_monoid R] : star (1 : R) = 1 :=
@@ -152,6 +160,13 @@ def star_ring_equiv [semiring R] [star_ring R] : R ≃+* Rᵒᵖ :=
152160
..star_add_equiv.trans (opposite.op_add_equiv : R ≃+ Rᵒᵖ),
153161
..star_mul_equiv}
154162

163+
/-- `star` as a `ring_aut` for commutative `R`. -/
164+
@[simps apply]
165+
def star_ring_aut [comm_semiring R] [star_ring R] : ring_aut R :=
166+
{ to_fun := star,
167+
..star_add_equiv,
168+
..star_mul_aut }
169+
155170
section
156171
open_locale big_operators
157172

0 commit comments

Comments
 (0)