| Step |
Hyp |
Ref |
Expression |
| 1 |
|
ply1degltdim.p |
|- P = ( Poly1 ` R ) |
| 2 |
|
ply1degltdim.d |
|- D = ( deg1 ` R ) |
| 3 |
|
ply1degltdim.s |
|- S = ( `' D " ( -oo [,) N ) ) |
| 4 |
|
ply1degltdim.n |
|- ( ph -> N e. NN0 ) |
| 5 |
|
ply1degltdim.r |
|- ( ph -> R e. DivRing ) |
| 6 |
|
ply1degltdim.e |
|- E = ( P |`s S ) |
| 7 |
1 5
|
ply1lvec |
|- ( ph -> P e. LVec ) |
| 8 |
5
|
drngringd |
|- ( ph -> R e. Ring ) |
| 9 |
1 2 3 4 8
|
ply1degltlss |
|- ( ph -> S e. ( LSubSp ` P ) ) |
| 10 |
|
eqid |
|- ( LSubSp ` P ) = ( LSubSp ` P ) |
| 11 |
6 10
|
lsslvec |
|- ( ( P e. LVec /\ S e. ( LSubSp ` P ) ) -> E e. LVec ) |
| 12 |
7 9 11
|
syl2anc |
|- ( ph -> E e. LVec ) |
| 13 |
|
oveq1 |
|- ( k = n -> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) = ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) |
| 14 |
13
|
cbvmptv |
|- ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) = ( n e. ( 0 ..^ N ) |-> ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) |
| 15 |
1 2 3 4 5 6 14
|
ply1degltdimlem |
|- ( ph -> ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) e. ( LBasis ` E ) ) |
| 16 |
|
eqid |
|- ( Base ` P ) = ( Base ` P ) |
| 17 |
2 1 16
|
deg1xrf |
|- D : ( Base ` P ) --> RR* |
| 18 |
|
ffn |
|- ( D : ( Base ` P ) --> RR* -> D Fn ( Base ` P ) ) |
| 19 |
17 18
|
mp1i |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> D Fn ( Base ` P ) ) |
| 20 |
|
eqid |
|- ( mulGrp ` P ) = ( mulGrp ` P ) |
| 21 |
20 16
|
mgpbas |
|- ( Base ` P ) = ( Base ` ( mulGrp ` P ) ) |
| 22 |
|
eqid |
|- ( .g ` ( mulGrp ` P ) ) = ( .g ` ( mulGrp ` P ) ) |
| 23 |
1
|
ply1ring |
|- ( R e. Ring -> P e. Ring ) |
| 24 |
20
|
ringmgp |
|- ( P e. Ring -> ( mulGrp ` P ) e. Mnd ) |
| 25 |
8 23 24
|
3syl |
|- ( ph -> ( mulGrp ` P ) e. Mnd ) |
| 26 |
25
|
adantr |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> ( mulGrp ` P ) e. Mnd ) |
| 27 |
|
elfzonn0 |
|- ( n e. ( 0 ..^ N ) -> n e. NN0 ) |
| 28 |
27
|
adantl |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> n e. NN0 ) |
| 29 |
|
eqid |
|- ( var1 ` R ) = ( var1 ` R ) |
| 30 |
29 1 16
|
vr1cl |
|- ( R e. Ring -> ( var1 ` R ) e. ( Base ` P ) ) |
| 31 |
8 30
|
syl |
|- ( ph -> ( var1 ` R ) e. ( Base ` P ) ) |
| 32 |
31
|
adantr |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> ( var1 ` R ) e. ( Base ` P ) ) |
| 33 |
21 22 26 28 32
|
mulgnn0cld |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) e. ( Base ` P ) ) |
| 34 |
|
mnfxr |
|- -oo e. RR* |
| 35 |
34
|
a1i |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> -oo e. RR* ) |
| 36 |
4
|
nn0red |
|- ( ph -> N e. RR ) |
| 37 |
36
|
rexrd |
|- ( ph -> N e. RR* ) |
| 38 |
37
|
adantr |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> N e. RR* ) |
| 39 |
2 1 16
|
deg1xrcl |
|- ( ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) e. ( Base ` P ) -> ( D ` ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) e. RR* ) |
| 40 |
33 39
|
syl |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> ( D ` ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) e. RR* ) |
| 41 |
40
|
mnfled |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> -oo <_ ( D ` ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) ) |
| 42 |
27
|
nn0red |
|- ( n e. ( 0 ..^ N ) -> n e. RR ) |
| 43 |
42
|
rexrd |
|- ( n e. ( 0 ..^ N ) -> n e. RR* ) |
| 44 |
43
|
adantl |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> n e. RR* ) |
| 45 |
2 1 29 20 22
|
deg1pwle |
|- ( ( R e. Ring /\ n e. NN0 ) -> ( D ` ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) <_ n ) |
| 46 |
8 27 45
|
syl2an |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> ( D ` ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) <_ n ) |
| 47 |
|
elfzolt2 |
|- ( n e. ( 0 ..^ N ) -> n < N ) |
| 48 |
47
|
adantl |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> n < N ) |
| 49 |
40 44 38 46 48
|
xrlelttrd |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> ( D ` ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) < N ) |
| 50 |
35 38 40 41 49
|
elicod |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> ( D ` ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) e. ( -oo [,) N ) ) |
| 51 |
19 33 50
|
elpreimad |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) e. ( `' D " ( -oo [,) N ) ) ) |
| 52 |
51 3
|
eleqtrrdi |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) e. S ) |
| 53 |
16 10
|
lssss |
|- ( S e. ( LSubSp ` P ) -> S C_ ( Base ` P ) ) |
| 54 |
6 16
|
ressbas2 |
|- ( S C_ ( Base ` P ) -> S = ( Base ` E ) ) |
| 55 |
9 53 54
|
3syl |
|- ( ph -> S = ( Base ` E ) ) |
| 56 |
55
|
adantr |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> S = ( Base ` E ) ) |
| 57 |
52 56
|
eleqtrd |
|- ( ( ph /\ n e. ( 0 ..^ N ) ) -> ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) e. ( Base ` E ) ) |
| 58 |
57 14
|
fmptd |
|- ( ph -> ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) : ( 0 ..^ N ) --> ( Base ` E ) ) |
| 59 |
58
|
ffnd |
|- ( ph -> ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) Fn ( 0 ..^ N ) ) |
| 60 |
|
hashfn |
|- ( ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) Fn ( 0 ..^ N ) -> ( # ` ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) ) = ( # ` ( 0 ..^ N ) ) ) |
| 61 |
59 60
|
syl |
|- ( ph -> ( # ` ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) ) = ( # ` ( 0 ..^ N ) ) ) |
| 62 |
|
ovexd |
|- ( ph -> ( 0 ..^ N ) e. _V ) |
| 63 |
57
|
ralrimiva |
|- ( ph -> A. n e. ( 0 ..^ N ) ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) e. ( Base ` E ) ) |
| 64 |
|
drngnzr |
|- ( R e. DivRing -> R e. NzRing ) |
| 65 |
5 64
|
syl |
|- ( ph -> R e. NzRing ) |
| 66 |
65
|
ad2antrr |
|- ( ( ( ph /\ n e. ( 0 ..^ N ) ) /\ i e. ( 0 ..^ N ) ) -> R e. NzRing ) |
| 67 |
28
|
adantr |
|- ( ( ( ph /\ n e. ( 0 ..^ N ) ) /\ i e. ( 0 ..^ N ) ) -> n e. NN0 ) |
| 68 |
|
elfzonn0 |
|- ( i e. ( 0 ..^ N ) -> i e. NN0 ) |
| 69 |
68
|
adantl |
|- ( ( ( ph /\ n e. ( 0 ..^ N ) ) /\ i e. ( 0 ..^ N ) ) -> i e. NN0 ) |
| 70 |
1 29 22 66 67 69
|
ply1moneq |
|- ( ( ( ph /\ n e. ( 0 ..^ N ) ) /\ i e. ( 0 ..^ N ) ) -> ( ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) = ( i ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) <-> n = i ) ) |
| 71 |
70
|
biimpd |
|- ( ( ( ph /\ n e. ( 0 ..^ N ) ) /\ i e. ( 0 ..^ N ) ) -> ( ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) = ( i ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) -> n = i ) ) |
| 72 |
71
|
anasss |
|- ( ( ph /\ ( n e. ( 0 ..^ N ) /\ i e. ( 0 ..^ N ) ) ) -> ( ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) = ( i ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) -> n = i ) ) |
| 73 |
72
|
ralrimivva |
|- ( ph -> A. n e. ( 0 ..^ N ) A. i e. ( 0 ..^ N ) ( ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) = ( i ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) -> n = i ) ) |
| 74 |
|
oveq1 |
|- ( n = i -> ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) = ( i ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) |
| 75 |
14 74
|
f1mpt |
|- ( ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) : ( 0 ..^ N ) -1-1-> ( Base ` E ) <-> ( A. n e. ( 0 ..^ N ) ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) e. ( Base ` E ) /\ A. n e. ( 0 ..^ N ) A. i e. ( 0 ..^ N ) ( ( n ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) = ( i ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) -> n = i ) ) ) |
| 76 |
63 73 75
|
sylanbrc |
|- ( ph -> ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) : ( 0 ..^ N ) -1-1-> ( Base ` E ) ) |
| 77 |
|
hashf1rn |
|- ( ( ( 0 ..^ N ) e. _V /\ ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) : ( 0 ..^ N ) -1-1-> ( Base ` E ) ) -> ( # ` ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) ) = ( # ` ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) ) ) |
| 78 |
62 76 77
|
syl2anc |
|- ( ph -> ( # ` ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) ) = ( # ` ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) ) ) |
| 79 |
|
hashfzo0 |
|- ( N e. NN0 -> ( # ` ( 0 ..^ N ) ) = N ) |
| 80 |
4 79
|
syl |
|- ( ph -> ( # ` ( 0 ..^ N ) ) = N ) |
| 81 |
61 78 80
|
3eqtr3d |
|- ( ph -> ( # ` ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) ) = N ) |
| 82 |
|
hashvnfin |
|- ( ( ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) e. ( LBasis ` E ) /\ N e. NN0 ) -> ( ( # ` ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) ) = N -> ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) e. Fin ) ) |
| 83 |
82
|
imp |
|- ( ( ( ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) e. ( LBasis ` E ) /\ N e. NN0 ) /\ ( # ` ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) ) = N ) -> ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) e. Fin ) |
| 84 |
15 4 81 83
|
syl21anc |
|- ( ph -> ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) e. Fin ) |
| 85 |
|
eqid |
|- ( LBasis ` E ) = ( LBasis ` E ) |
| 86 |
85
|
dimvalfi |
|- ( ( E e. LVec /\ ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) e. ( LBasis ` E ) /\ ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) e. Fin ) -> ( dim ` E ) = ( # ` ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) ) ) |
| 87 |
12 15 84 86
|
syl3anc |
|- ( ph -> ( dim ` E ) = ( # ` ran ( k e. ( 0 ..^ N ) |-> ( k ( .g ` ( mulGrp ` P ) ) ( var1 ` R ) ) ) ) ) |
| 88 |
87 81
|
eqtrd |
|- ( ph -> ( dim ` E ) = N ) |