Metamath Proof Explorer


Theorem deg1pw

Description: Exact degree of a variable power over a nontrivial ring. (Contributed by Stefan O'Rear, 1-Apr-2015)

Ref Expression
Hypotheses deg1pw.d
|- D = ( deg1 ` R )
deg1pw.p
|- P = ( Poly1 ` R )
deg1pw.x
|- X = ( var1 ` R )
deg1pw.n
|- N = ( mulGrp ` P )
deg1pw.e
|- .^ = ( .g ` N )
Assertion deg1pw
|- ( ( R e. NzRing /\ F e. NN0 ) -> ( D ` ( F .^ X ) ) = F )

Proof

Step Hyp Ref Expression
1 deg1pw.d
 |-  D = ( deg1 ` R )
2 deg1pw.p
 |-  P = ( Poly1 ` R )
3 deg1pw.x
 |-  X = ( var1 ` R )
4 deg1pw.n
 |-  N = ( mulGrp ` P )
5 deg1pw.e
 |-  .^ = ( .g ` N )
6 2 ply1sca
 |-  ( R e. NzRing -> R = ( Scalar ` P ) )
7 6 adantr
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> R = ( Scalar ` P ) )
8 7 fveq2d
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> ( 1r ` R ) = ( 1r ` ( Scalar ` P ) ) )
9 8 oveq1d
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> ( ( 1r ` R ) ( .s ` P ) ( F .^ X ) ) = ( ( 1r ` ( Scalar ` P ) ) ( .s ` P ) ( F .^ X ) ) )
10 nzrring
 |-  ( R e. NzRing -> R e. Ring )
11 10 adantr
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> R e. Ring )
12 2 ply1lmod
 |-  ( R e. Ring -> P e. LMod )
13 11 12 syl
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> P e. LMod )
14 2 ply1ring
 |-  ( R e. Ring -> P e. Ring )
15 4 ringmgp
 |-  ( P e. Ring -> N e. Mnd )
16 11 14 15 3syl
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> N e. Mnd )
17 simpr
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> F e. NN0 )
18 eqid
 |-  ( Base ` P ) = ( Base ` P )
19 3 2 18 vr1cl
 |-  ( R e. Ring -> X e. ( Base ` P ) )
20 11 19 syl
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> X e. ( Base ` P ) )
21 4 18 mgpbas
 |-  ( Base ` P ) = ( Base ` N )
22 21 5 mulgnn0cl
 |-  ( ( N e. Mnd /\ F e. NN0 /\ X e. ( Base ` P ) ) -> ( F .^ X ) e. ( Base ` P ) )
23 16 17 20 22 syl3anc
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> ( F .^ X ) e. ( Base ` P ) )
24 eqid
 |-  ( Scalar ` P ) = ( Scalar ` P )
25 eqid
 |-  ( .s ` P ) = ( .s ` P )
26 eqid
 |-  ( 1r ` ( Scalar ` P ) ) = ( 1r ` ( Scalar ` P ) )
27 18 24 25 26 lmodvs1
 |-  ( ( P e. LMod /\ ( F .^ X ) e. ( Base ` P ) ) -> ( ( 1r ` ( Scalar ` P ) ) ( .s ` P ) ( F .^ X ) ) = ( F .^ X ) )
28 13 23 27 syl2anc
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> ( ( 1r ` ( Scalar ` P ) ) ( .s ` P ) ( F .^ X ) ) = ( F .^ X ) )
29 9 28 eqtrd
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> ( ( 1r ` R ) ( .s ` P ) ( F .^ X ) ) = ( F .^ X ) )
30 29 fveq2d
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> ( D ` ( ( 1r ` R ) ( .s ` P ) ( F .^ X ) ) ) = ( D ` ( F .^ X ) ) )
31 eqid
 |-  ( Base ` R ) = ( Base ` R )
32 eqid
 |-  ( 1r ` R ) = ( 1r ` R )
33 31 32 ringidcl
 |-  ( R e. Ring -> ( 1r ` R ) e. ( Base ` R ) )
34 11 33 syl
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> ( 1r ` R ) e. ( Base ` R ) )
35 eqid
 |-  ( 0g ` R ) = ( 0g ` R )
36 32 35 nzrnz
 |-  ( R e. NzRing -> ( 1r ` R ) =/= ( 0g ` R ) )
37 36 adantr
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> ( 1r ` R ) =/= ( 0g ` R ) )
38 1 31 2 3 25 4 5 35 deg1tm
 |-  ( ( R e. Ring /\ ( ( 1r ` R ) e. ( Base ` R ) /\ ( 1r ` R ) =/= ( 0g ` R ) ) /\ F e. NN0 ) -> ( D ` ( ( 1r ` R ) ( .s ` P ) ( F .^ X ) ) ) = F )
39 11 34 37 17 38 syl121anc
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> ( D ` ( ( 1r ` R ) ( .s ` P ) ( F .^ X ) ) ) = F )
40 30 39 eqtr3d
 |-  ( ( R e. NzRing /\ F e. NN0 ) -> ( D ` ( F .^ X ) ) = F )