Metamath Proof Explorer


Theorem elrgspn

Description: Membership in the subring generated by the subset A . An element X lies in that subring if and only if X is a linear combination with integer coefficients of products of elements of A . (Contributed by Thierry Arnoux, 5-Oct-2025)

Ref Expression
Hypotheses elrgspn.b
|- B = ( Base ` R )
elrgspn.m
|- M = ( mulGrp ` R )
elrgspn.x
|- .x. = ( .g ` R )
elrgspn.n
|- N = ( RingSpan ` R )
elrgspn.f
|- F = { f e. ( ZZ ^m Word A ) | f finSupp 0 }
elrgspn.r
|- ( ph -> R e. Ring )
elrgspn.a
|- ( ph -> A C_ B )
Assertion elrgspn
|- ( ph -> ( X e. ( N ` A ) <-> E. g e. F X = ( R gsum ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) ) ) )

Proof

Step Hyp Ref Expression
1 elrgspn.b
 |-  B = ( Base ` R )
2 elrgspn.m
 |-  M = ( mulGrp ` R )
3 elrgspn.x
 |-  .x. = ( .g ` R )
4 elrgspn.n
 |-  N = ( RingSpan ` R )
5 elrgspn.f
 |-  F = { f e. ( ZZ ^m Word A ) | f finSupp 0 }
6 elrgspn.r
 |-  ( ph -> R e. Ring )
7 elrgspn.a
 |-  ( ph -> A C_ B )
8 1 a1i
 |-  ( ph -> B = ( Base ` R ) )
9 4 a1i
 |-  ( ph -> N = ( RingSpan ` R ) )
10 eqidd
 |-  ( ph -> ( N ` A ) = ( N ` A ) )
11 6 8 7 9 10 rgspncl
 |-  ( ph -> ( N ` A ) e. ( SubRing ` R ) )
12 1 subrgss
 |-  ( ( N ` A ) e. ( SubRing ` R ) -> ( N ` A ) C_ B )
13 11 12 syl
 |-  ( ph -> ( N ` A ) C_ B )
14 13 sselda
 |-  ( ( ph /\ X e. ( N ` A ) ) -> X e. B )
15 simpr
 |-  ( ( ( ph /\ g e. F ) /\ X = ( R gsum ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) ) ) -> X = ( R gsum ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) ) )
16 eqid
 |-  ( 0g ` R ) = ( 0g ` R )
17 6 ringcmnd
 |-  ( ph -> R e. CMnd )
18 17 adantr
 |-  ( ( ph /\ g e. F ) -> R e. CMnd )
19 1 fvexi
 |-  B e. _V
20 19 a1i
 |-  ( ph -> B e. _V )
21 20 7 ssexd
 |-  ( ph -> A e. _V )
22 21 adantr
 |-  ( ( ph /\ g e. F ) -> A e. _V )
23 wrdexg
 |-  ( A e. _V -> Word A e. _V )
24 22 23 syl
 |-  ( ( ph /\ g e. F ) -> Word A e. _V )
25 6 ringgrpd
 |-  ( ph -> R e. Grp )
26 25 ad2antrr
 |-  ( ( ( ph /\ g e. F ) /\ w e. Word A ) -> R e. Grp )
27 breq1
 |-  ( f = g -> ( f finSupp 0 <-> g finSupp 0 ) )
28 27 5 elrab2
 |-  ( g e. F <-> ( g e. ( ZZ ^m Word A ) /\ g finSupp 0 ) )
29 28 biimpi
 |-  ( g e. F -> ( g e. ( ZZ ^m Word A ) /\ g finSupp 0 ) )
30 29 simpld
 |-  ( g e. F -> g e. ( ZZ ^m Word A ) )
31 30 adantl
 |-  ( ( ph /\ g e. F ) -> g e. ( ZZ ^m Word A ) )
32 31 elmaprd
 |-  ( ( ph /\ g e. F ) -> g : Word A --> ZZ )
33 32 ffvelcdmda
 |-  ( ( ( ph /\ g e. F ) /\ w e. Word A ) -> ( g ` w ) e. ZZ )
34 2 ringmgp
 |-  ( R e. Ring -> M e. Mnd )
35 6 34 syl
 |-  ( ph -> M e. Mnd )
36 35 ad2antrr
 |-  ( ( ( ph /\ g e. F ) /\ w e. Word A ) -> M e. Mnd )
37 sswrd
 |-  ( A C_ B -> Word A C_ Word B )
38 7 37 syl
 |-  ( ph -> Word A C_ Word B )
39 38 adantr
 |-  ( ( ph /\ g e. F ) -> Word A C_ Word B )
40 39 sselda
 |-  ( ( ( ph /\ g e. F ) /\ w e. Word A ) -> w e. Word B )
41 2 1 mgpbas
 |-  B = ( Base ` M )
42 41 gsumwcl
 |-  ( ( M e. Mnd /\ w e. Word B ) -> ( M gsum w ) e. B )
43 36 40 42 syl2anc
 |-  ( ( ( ph /\ g e. F ) /\ w e. Word A ) -> ( M gsum w ) e. B )
44 1 3 26 33 43 mulgcld
 |-  ( ( ( ph /\ g e. F ) /\ w e. Word A ) -> ( ( g ` w ) .x. ( M gsum w ) ) e. B )
45 44 fmpttd
 |-  ( ( ph /\ g e. F ) -> ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) : Word A --> B )
46 32 feqmptd
 |-  ( ( ph /\ g e. F ) -> g = ( w e. Word A |-> ( g ` w ) ) )
47 29 simprd
 |-  ( g e. F -> g finSupp 0 )
48 47 adantl
 |-  ( ( ph /\ g e. F ) -> g finSupp 0 )
49 46 48 eqbrtrrd
 |-  ( ( ph /\ g e. F ) -> ( w e. Word A |-> ( g ` w ) ) finSupp 0 )
50 1 16 3 mulg0
 |-  ( y e. B -> ( 0 .x. y ) = ( 0g ` R ) )
51 50 adantl
 |-  ( ( ( ph /\ g e. F ) /\ y e. B ) -> ( 0 .x. y ) = ( 0g ` R ) )
52 fvexd
 |-  ( ( ph /\ g e. F ) -> ( 0g ` R ) e. _V )
53 49 51 33 43 52 fsuppssov1
 |-  ( ( ph /\ g e. F ) -> ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) finSupp ( 0g ` R ) )
54 1 16 18 24 45 53 gsumcl
 |-  ( ( ph /\ g e. F ) -> ( R gsum ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) ) e. B )
55 54 adantr
 |-  ( ( ( ph /\ g e. F ) /\ X = ( R gsum ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) ) ) -> ( R gsum ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) ) e. B )
56 15 55 eqeltrd
 |-  ( ( ( ph /\ g e. F ) /\ X = ( R gsum ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) ) ) -> X e. B )
57 56 r19.29an
 |-  ( ( ph /\ E. g e. F X = ( R gsum ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) ) ) -> X e. B )
58 6 adantr
 |-  ( ( ph /\ X e. B ) -> R e. Ring )
59 7 adantr
 |-  ( ( ph /\ X e. B ) -> A C_ B )
60 fveq1
 |-  ( h = i -> ( h ` w ) = ( i ` w ) )
61 60 oveq1d
 |-  ( h = i -> ( ( h ` w ) .x. ( M gsum w ) ) = ( ( i ` w ) .x. ( M gsum w ) ) )
62 61 mpteq2dv
 |-  ( h = i -> ( w e. Word A |-> ( ( h ` w ) .x. ( M gsum w ) ) ) = ( w e. Word A |-> ( ( i ` w ) .x. ( M gsum w ) ) ) )
63 fveq2
 |-  ( w = v -> ( i ` w ) = ( i ` v ) )
64 oveq2
 |-  ( w = v -> ( M gsum w ) = ( M gsum v ) )
65 63 64 oveq12d
 |-  ( w = v -> ( ( i ` w ) .x. ( M gsum w ) ) = ( ( i ` v ) .x. ( M gsum v ) ) )
66 65 cbvmptv
 |-  ( w e. Word A |-> ( ( i ` w ) .x. ( M gsum w ) ) ) = ( v e. Word A |-> ( ( i ` v ) .x. ( M gsum v ) ) )
67 62 66 eqtrdi
 |-  ( h = i -> ( w e. Word A |-> ( ( h ` w ) .x. ( M gsum w ) ) ) = ( v e. Word A |-> ( ( i ` v ) .x. ( M gsum v ) ) ) )
68 67 oveq2d
 |-  ( h = i -> ( R gsum ( w e. Word A |-> ( ( h ` w ) .x. ( M gsum w ) ) ) ) = ( R gsum ( v e. Word A |-> ( ( i ` v ) .x. ( M gsum v ) ) ) ) )
69 68 cbvmptv
 |-  ( h e. F |-> ( R gsum ( w e. Word A |-> ( ( h ` w ) .x. ( M gsum w ) ) ) ) ) = ( i e. F |-> ( R gsum ( v e. Word A |-> ( ( i ` v ) .x. ( M gsum v ) ) ) ) )
70 69 rneqi
 |-  ran ( h e. F |-> ( R gsum ( w e. Word A |-> ( ( h ` w ) .x. ( M gsum w ) ) ) ) ) = ran ( i e. F |-> ( R gsum ( v e. Word A |-> ( ( i ` v ) .x. ( M gsum v ) ) ) ) )
71 1 2 3 4 5 58 59 70 elrgspnlem4
 |-  ( ( ph /\ X e. B ) -> ( N ` A ) = ran ( h e. F |-> ( R gsum ( w e. Word A |-> ( ( h ` w ) .x. ( M gsum w ) ) ) ) ) )
72 71 eleq2d
 |-  ( ( ph /\ X e. B ) -> ( X e. ( N ` A ) <-> X e. ran ( h e. F |-> ( R gsum ( w e. Word A |-> ( ( h ` w ) .x. ( M gsum w ) ) ) ) ) ) )
73 fveq1
 |-  ( h = g -> ( h ` w ) = ( g ` w ) )
74 73 oveq1d
 |-  ( h = g -> ( ( h ` w ) .x. ( M gsum w ) ) = ( ( g ` w ) .x. ( M gsum w ) ) )
75 74 mpteq2dv
 |-  ( h = g -> ( w e. Word A |-> ( ( h ` w ) .x. ( M gsum w ) ) ) = ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) )
76 75 oveq2d
 |-  ( h = g -> ( R gsum ( w e. Word A |-> ( ( h ` w ) .x. ( M gsum w ) ) ) ) = ( R gsum ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) ) )
77 76 cbvmptv
 |-  ( h e. F |-> ( R gsum ( w e. Word A |-> ( ( h ` w ) .x. ( M gsum w ) ) ) ) ) = ( g e. F |-> ( R gsum ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) ) )
78 77 elrnmpt
 |-  ( X e. B -> ( X e. ran ( h e. F |-> ( R gsum ( w e. Word A |-> ( ( h ` w ) .x. ( M gsum w ) ) ) ) ) <-> E. g e. F X = ( R gsum ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) ) ) )
79 78 adantl
 |-  ( ( ph /\ X e. B ) -> ( X e. ran ( h e. F |-> ( R gsum ( w e. Word A |-> ( ( h ` w ) .x. ( M gsum w ) ) ) ) ) <-> E. g e. F X = ( R gsum ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) ) ) )
80 72 79 bitrd
 |-  ( ( ph /\ X e. B ) -> ( X e. ( N ` A ) <-> E. g e. F X = ( R gsum ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) ) ) )
81 14 57 80 bibiad
 |-  ( ph -> ( X e. ( N ` A ) <-> E. g e. F X = ( R gsum ( w e. Word A |-> ( ( g ` w ) .x. ( M gsum w ) ) ) ) ) )