Metamath Proof Explorer


Theorem fxpsubrg

Description: The fixed points of a group action A on a ring W is a subgring. (Contributed by Thierry Arnoux, 18-Nov-2025)

Ref Expression
Hypotheses fxpsubm.b ⊢ B = Base G
fxpsubm.c ⊢ C = Base W
fxpsubm.f ⊢ F = x ∈ C ⟼ p A x
fxpsubm.a ⊢ φ → A ∈ G GrpAct C
fxpsubrg.1 ⊢ φ ∧ p ∈ B → F ∈ W RingHom W
Assertion fxpsubrg Could not format assertion : No typesetting found for |- ( ph -> ( C FixPts A ) e. ( SubRing ` W ) ) with typecode |-

Proof

Step Hyp Ref Expression
1 fxpsubm.b ⊢ B = Base G
2 fxpsubm.c ⊢ C = Base W
3 fxpsubm.f ⊢ F = x ∈ C ⟼ p A x
4 fxpsubm.a ⊢ φ → A ∈ G GrpAct C
5 fxpsubrg.1 ⊢ φ ∧ p ∈ B → F ∈ W RingHom W
6 oveq1 ⊢ p = 0 G → p A x = 0 G A x
7 6 mpteq2dv ⊢ p = 0 G → x ∈ C ⟼ p A x = x ∈ C ⟼ 0 G A x
8 3 7 eqtrid ⊢ p = 0 G → F = x ∈ C ⟼ 0 G A x
9 8 eleq1d ⊢ p = 0 G → F ∈ W RingHom W ↔ x ∈ C ⟼ 0 G A x ∈ W RingHom W
10 5 ralrimiva ⊢ φ → ∀ p ∈ B F ∈ W RingHom W
11 gagrp ⊢ A ∈ G GrpAct C → G ∈ Grp
12 eqid ⊢ 0 G = 0 G
13 1 12 grpidcl ⊢ G ∈ Grp → 0 G ∈ B
14 4 11 13 3syl ⊢ φ → 0 G ∈ B
15 9 10 14 rspcdva ⊢ φ → x ∈ C ⟼ 0 G A x ∈ W RingHom W
16 rhmrcl1 ⊢ x ∈ C ⟼ 0 G A x ∈ W RingHom W → W ∈ Ring
17 15 16 syl ⊢ φ → W ∈ Ring
18 rhmghm ⊢ F ∈ W RingHom W → F ∈ W GrpHom W
19 5 18 syl ⊢ φ ∧ p ∈ B → F ∈ W GrpHom W
20 1 2 3 4 19 fxpsubg Could not format ( ph -> ( C FixPts A ) e. ( SubGrp ` W ) ) : No typesetting found for |- ( ph -> ( C FixPts A ) e. ( SubGrp ` W ) ) with typecode |-
21 oveq2 ⊢ x = 1 W → p A x = p A 1 W
22 eqid ⊢ 1 W = 1 W
23 2 22 17 ringidcld ⊢ φ → 1 W ∈ C
24 23 adantr ⊢ φ ∧ p ∈ B → 1 W ∈ C
25 ovexd ⊢ φ ∧ p ∈ B → p A 1 W ∈ V
26 3 21 24 25 fvmptd3 ⊢ φ ∧ p ∈ B → F ⁡ 1 W = p A 1 W
27 22 22 rhm1 ⊢ F ∈ W RingHom W → F ⁡ 1 W = 1 W
28 5 27 syl ⊢ φ ∧ p ∈ B → F ⁡ 1 W = 1 W
29 26 28 eqtr3d ⊢ φ ∧ p ∈ B → p A 1 W = 1 W
30 29 ralrimiva ⊢ φ → ∀ p ∈ B p A 1 W = 1 W
31 1 4 23 isfxp Could not format ( ph -> ( ( 1r ` W ) e. ( C FixPts A ) <-> A. p e. B ( p A ( 1r ` W ) ) = ( 1r ` W ) ) ) : No typesetting found for |- ( ph -> ( ( 1r ` W ) e. ( C FixPts A ) <-> A. p e. B ( p A ( 1r ` W ) ) = ( 1r ` W ) ) ) with typecode |-
32 30 31 mpbird Could not format ( ph -> ( 1r ` W ) e. ( C FixPts A ) ) : No typesetting found for |- ( ph -> ( 1r ` W ) e. ( C FixPts A ) ) with typecode |-
33 5 ad4ant14 Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> F e. ( W RingHom W ) ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> F e. ( W RingHom W ) ) with typecode |-
34 gaset ⊢ A ∈ G GrpAct C → C ∈ V
35 4 34 syl ⊢ φ → C ∈ V
36 35 4 fxpss Could not format ( ph -> ( C FixPts A ) C_ C ) : No typesetting found for |- ( ph -> ( C FixPts A ) C_ C ) with typecode |-
37 36 sselda Could not format ( ( ph /\ z e. ( C FixPts A ) ) -> z e. C ) : No typesetting found for |- ( ( ph /\ z e. ( C FixPts A ) ) -> z e. C ) with typecode |-
38 37 adantr Could not format ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> z e. C ) : No typesetting found for |- ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> z e. C ) with typecode |-
39 38 adantr Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> z e. C ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> z e. C ) with typecode |-
40 36 adantr Could not format ( ( ph /\ z e. ( C FixPts A ) ) -> ( C FixPts A ) C_ C ) : No typesetting found for |- ( ( ph /\ z e. ( C FixPts A ) ) -> ( C FixPts A ) C_ C ) with typecode |-
41 40 sselda Could not format ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> y e. C ) : No typesetting found for |- ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> y e. C ) with typecode |-
42 41 adantr Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> y e. C ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> y e. C ) with typecode |-
43 eqid ⊢ ⋅ W = ⋅ W
44 2 43 43 rhmmul ⊢ F ∈ W RingHom W ∧ z ∈ C ∧ y ∈ C → F ⁡ z ⋅ W y = F ⁡ z ⋅ W F ⁡ y
45 33 39 42 44 syl3anc Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( F ` ( z ( .r ` W ) y ) ) = ( ( F ` z ) ( .r ` W ) ( F ` y ) ) ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( F ` ( z ( .r ` W ) y ) ) = ( ( F ` z ) ( .r ` W ) ( F ` y ) ) ) with typecode |-
46 oveq2 ⊢ x = z ⋅ W y → p A x = p A z ⋅ W y
47 17 ad2antrr Could not format ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> W e. Ring ) : No typesetting found for |- ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> W e. Ring ) with typecode |-
48 2 43 47 38 41 ringcld Could not format ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> ( z ( .r ` W ) y ) e. C ) : No typesetting found for |- ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> ( z ( .r ` W ) y ) e. C ) with typecode |-
49 ovexd Could not format ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> ( p A ( z ( .r ` W ) y ) ) e. _V ) : No typesetting found for |- ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> ( p A ( z ( .r ` W ) y ) ) e. _V ) with typecode |-
50 3 46 48 49 fvmptd3 Could not format ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> ( F ` ( z ( .r ` W ) y ) ) = ( p A ( z ( .r ` W ) y ) ) ) : No typesetting found for |- ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> ( F ` ( z ( .r ` W ) y ) ) = ( p A ( z ( .r ` W ) y ) ) ) with typecode |-
51 50 adantr Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( F ` ( z ( .r ` W ) y ) ) = ( p A ( z ( .r ` W ) y ) ) ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( F ` ( z ( .r ` W ) y ) ) = ( p A ( z ( .r ` W ) y ) ) ) with typecode |-
52 oveq2 ⊢ x = z → p A x = p A z
53 ovexd Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( p A z ) e. _V ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( p A z ) e. _V ) with typecode |-
54 3 52 39 53 fvmptd3 Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( F ` z ) = ( p A z ) ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( F ` z ) = ( p A z ) ) with typecode |-
55 4 ad2antrr Could not format ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> A e. ( G GrpAct C ) ) : No typesetting found for |- ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> A e. ( G GrpAct C ) ) with typecode |-
56 55 adantr Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> A e. ( G GrpAct C ) ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> A e. ( G GrpAct C ) ) with typecode |-
57 simpllr Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> z e. ( C FixPts A ) ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> z e. ( C FixPts A ) ) with typecode |-
58 simpr Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> p e. B ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> p e. B ) with typecode |-
59 1 56 57 58 fxpgaeq Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( p A z ) = z ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( p A z ) = z ) with typecode |-
60 54 59 eqtrd Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( F ` z ) = z ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( F ` z ) = z ) with typecode |-
61 oveq2 ⊢ x = y → p A x = p A y
62 ovexd Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( p A y ) e. _V ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( p A y ) e. _V ) with typecode |-
63 3 61 42 62 fvmptd3 Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( F ` y ) = ( p A y ) ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( F ` y ) = ( p A y ) ) with typecode |-
64 simplr Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> y e. ( C FixPts A ) ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> y e. ( C FixPts A ) ) with typecode |-
65 1 56 64 58 fxpgaeq Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( p A y ) = y ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( p A y ) = y ) with typecode |-
66 63 65 eqtrd Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( F ` y ) = y ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( F ` y ) = y ) with typecode |-
67 60 66 oveq12d Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( ( F ` z ) ( .r ` W ) ( F ` y ) ) = ( z ( .r ` W ) y ) ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( ( F ` z ) ( .r ` W ) ( F ` y ) ) = ( z ( .r ` W ) y ) ) with typecode |-
68 45 51 67 3eqtr3d Could not format ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( p A ( z ( .r ` W ) y ) ) = ( z ( .r ` W ) y ) ) : No typesetting found for |- ( ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) /\ p e. B ) -> ( p A ( z ( .r ` W ) y ) ) = ( z ( .r ` W ) y ) ) with typecode |-
69 68 ralrimiva Could not format ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> A. p e. B ( p A ( z ( .r ` W ) y ) ) = ( z ( .r ` W ) y ) ) : No typesetting found for |- ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> A. p e. B ( p A ( z ( .r ` W ) y ) ) = ( z ( .r ` W ) y ) ) with typecode |-
70 1 55 48 isfxp Could not format ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> ( ( z ( .r ` W ) y ) e. ( C FixPts A ) <-> A. p e. B ( p A ( z ( .r ` W ) y ) ) = ( z ( .r ` W ) y ) ) ) : No typesetting found for |- ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> ( ( z ( .r ` W ) y ) e. ( C FixPts A ) <-> A. p e. B ( p A ( z ( .r ` W ) y ) ) = ( z ( .r ` W ) y ) ) ) with typecode |-
71 69 70 mpbird Could not format ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> ( z ( .r ` W ) y ) e. ( C FixPts A ) ) : No typesetting found for |- ( ( ( ph /\ z e. ( C FixPts A ) ) /\ y e. ( C FixPts A ) ) -> ( z ( .r ` W ) y ) e. ( C FixPts A ) ) with typecode |-
72 71 anasss Could not format ( ( ph /\ ( z e. ( C FixPts A ) /\ y e. ( C FixPts A ) ) ) -> ( z ( .r ` W ) y ) e. ( C FixPts A ) ) : No typesetting found for |- ( ( ph /\ ( z e. ( C FixPts A ) /\ y e. ( C FixPts A ) ) ) -> ( z ( .r ` W ) y ) e. ( C FixPts A ) ) with typecode |-
73 72 ralrimivva Could not format ( ph -> A. z e. ( C FixPts A ) A. y e. ( C FixPts A ) ( z ( .r ` W ) y ) e. ( C FixPts A ) ) : No typesetting found for |- ( ph -> A. z e. ( C FixPts A ) A. y e. ( C FixPts A ) ( z ( .r ` W ) y ) e. ( C FixPts A ) ) with typecode |-
74 2 22 43 issubrg2 Could not format ( W e. Ring -> ( ( C FixPts A ) e. ( SubRing ` W ) <-> ( ( C FixPts A ) e. ( SubGrp ` W ) /\ ( 1r ` W ) e. ( C FixPts A ) /\ A. z e. ( C FixPts A ) A. y e. ( C FixPts A ) ( z ( .r ` W ) y ) e. ( C FixPts A ) ) ) ) : No typesetting found for |- ( W e. Ring -> ( ( C FixPts A ) e. ( SubRing ` W ) <-> ( ( C FixPts A ) e. ( SubGrp ` W ) /\ ( 1r ` W ) e. ( C FixPts A ) /\ A. z e. ( C FixPts A ) A. y e. ( C FixPts A ) ( z ( .r ` W ) y ) e. ( C FixPts A ) ) ) ) with typecode |-
75 74 biimpar Could not format ( ( W e. Ring /\ ( ( C FixPts A ) e. ( SubGrp ` W ) /\ ( 1r ` W ) e. ( C FixPts A ) /\ A. z e. ( C FixPts A ) A. y e. ( C FixPts A ) ( z ( .r ` W ) y ) e. ( C FixPts A ) ) ) -> ( C FixPts A ) e. ( SubRing ` W ) ) : No typesetting found for |- ( ( W e. Ring /\ ( ( C FixPts A ) e. ( SubGrp ` W ) /\ ( 1r ` W ) e. ( C FixPts A ) /\ A. z e. ( C FixPts A ) A. y e. ( C FixPts A ) ( z ( .r ` W ) y ) e. ( C FixPts A ) ) ) -> ( C FixPts A ) e. ( SubRing ` W ) ) with typecode |-
76 17 20 32 73 75 syl13anc Could not format ( ph -> ( C FixPts A ) e. ( SubRing ` W ) ) : No typesetting found for |- ( ph -> ( C FixPts A ) e. ( SubRing ` W ) ) with typecode |-