This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Lemma for sylow1 . Using Lagrange's theorem and the orbit-stabilizer theorem, show that there is a subgroup with size exactly P ^ N . (Contributed by Mario Carneiro, 16-Jan-2015)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | sylow1.x | |- X = ( Base ` G ) |
|
| sylow1.g | |- ( ph -> G e. Grp ) |
||
| sylow1.f | |- ( ph -> X e. Fin ) |
||
| sylow1.p | |- ( ph -> P e. Prime ) |
||
| sylow1.n | |- ( ph -> N e. NN0 ) |
||
| sylow1.d | |- ( ph -> ( P ^ N ) || ( # ` X ) ) |
||
| sylow1lem.a | |- .+ = ( +g ` G ) |
||
| sylow1lem.s | |- S = { s e. ~P X | ( # ` s ) = ( P ^ N ) } |
||
| sylow1lem.m | |- .(+) = ( x e. X , y e. S |-> ran ( z e. y |-> ( x .+ z ) ) ) |
||
| sylow1lem3.1 | |- .~ = { <. x , y >. | ( { x , y } C_ S /\ E. g e. X ( g .(+) x ) = y ) } |
||
| sylow1lem4.b | |- ( ph -> B e. S ) |
||
| sylow1lem4.h | |- H = { u e. X | ( u .(+) B ) = B } |
||
| sylow1lem5.l | |- ( ph -> ( P pCnt ( # ` [ B ] .~ ) ) <_ ( ( P pCnt ( # ` X ) ) - N ) ) |
||
| Assertion | sylow1lem5 | |- ( ph -> E. h e. ( SubGrp ` G ) ( # ` h ) = ( P ^ N ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | sylow1.x | |- X = ( Base ` G ) |
|
| 2 | sylow1.g | |- ( ph -> G e. Grp ) |
|
| 3 | sylow1.f | |- ( ph -> X e. Fin ) |
|
| 4 | sylow1.p | |- ( ph -> P e. Prime ) |
|
| 5 | sylow1.n | |- ( ph -> N e. NN0 ) |
|
| 6 | sylow1.d | |- ( ph -> ( P ^ N ) || ( # ` X ) ) |
|
| 7 | sylow1lem.a | |- .+ = ( +g ` G ) |
|
| 8 | sylow1lem.s | |- S = { s e. ~P X | ( # ` s ) = ( P ^ N ) } |
|
| 9 | sylow1lem.m | |- .(+) = ( x e. X , y e. S |-> ran ( z e. y |-> ( x .+ z ) ) ) |
|
| 10 | sylow1lem3.1 | |- .~ = { <. x , y >. | ( { x , y } C_ S /\ E. g e. X ( g .(+) x ) = y ) } |
|
| 11 | sylow1lem4.b | |- ( ph -> B e. S ) |
|
| 12 | sylow1lem4.h | |- H = { u e. X | ( u .(+) B ) = B } |
|
| 13 | sylow1lem5.l | |- ( ph -> ( P pCnt ( # ` [ B ] .~ ) ) <_ ( ( P pCnt ( # ` X ) ) - N ) ) |
|
| 14 | 1 2 3 4 5 6 7 8 9 | sylow1lem2 | |- ( ph -> .(+) e. ( G GrpAct S ) ) |
| 15 | 1 12 | gastacl | |- ( ( .(+) e. ( G GrpAct S ) /\ B e. S ) -> H e. ( SubGrp ` G ) ) |
| 16 | 14 11 15 | syl2anc | |- ( ph -> H e. ( SubGrp ` G ) ) |
| 17 | 1 2 3 4 5 6 7 8 9 10 11 12 | sylow1lem4 | |- ( ph -> ( # ` H ) <_ ( P ^ N ) ) |
| 18 | 10 1 | gaorber | |- ( .(+) e. ( G GrpAct S ) -> .~ Er S ) |
| 19 | 14 18 | syl | |- ( ph -> .~ Er S ) |
| 20 | erdm | |- ( .~ Er S -> dom .~ = S ) |
|
| 21 | 19 20 | syl | |- ( ph -> dom .~ = S ) |
| 22 | 11 21 | eleqtrrd | |- ( ph -> B e. dom .~ ) |
| 23 | ecdmn0 | |- ( B e. dom .~ <-> [ B ] .~ =/= (/) ) |
|
| 24 | 22 23 | sylib | |- ( ph -> [ B ] .~ =/= (/) ) |
| 25 | pwfi | |- ( X e. Fin <-> ~P X e. Fin ) |
|
| 26 | 3 25 | sylib | |- ( ph -> ~P X e. Fin ) |
| 27 | 8 | ssrab3 | |- S C_ ~P X |
| 28 | ssfi | |- ( ( ~P X e. Fin /\ S C_ ~P X ) -> S e. Fin ) |
|
| 29 | 26 27 28 | sylancl | |- ( ph -> S e. Fin ) |
| 30 | 19 | ecss | |- ( ph -> [ B ] .~ C_ S ) |
| 31 | 29 30 | ssfid | |- ( ph -> [ B ] .~ e. Fin ) |
| 32 | hashnncl | |- ( [ B ] .~ e. Fin -> ( ( # ` [ B ] .~ ) e. NN <-> [ B ] .~ =/= (/) ) ) |
|
| 33 | 31 32 | syl | |- ( ph -> ( ( # ` [ B ] .~ ) e. NN <-> [ B ] .~ =/= (/) ) ) |
| 34 | 24 33 | mpbird | |- ( ph -> ( # ` [ B ] .~ ) e. NN ) |
| 35 | 4 34 | pccld | |- ( ph -> ( P pCnt ( # ` [ B ] .~ ) ) e. NN0 ) |
| 36 | 35 | nn0red | |- ( ph -> ( P pCnt ( # ` [ B ] .~ ) ) e. RR ) |
| 37 | 5 | nn0red | |- ( ph -> N e. RR ) |
| 38 | 1 | grpbn0 | |- ( G e. Grp -> X =/= (/) ) |
| 39 | 2 38 | syl | |- ( ph -> X =/= (/) ) |
| 40 | hashnncl | |- ( X e. Fin -> ( ( # ` X ) e. NN <-> X =/= (/) ) ) |
|
| 41 | 3 40 | syl | |- ( ph -> ( ( # ` X ) e. NN <-> X =/= (/) ) ) |
| 42 | 39 41 | mpbird | |- ( ph -> ( # ` X ) e. NN ) |
| 43 | 4 42 | pccld | |- ( ph -> ( P pCnt ( # ` X ) ) e. NN0 ) |
| 44 | 43 | nn0red | |- ( ph -> ( P pCnt ( # ` X ) ) e. RR ) |
| 45 | leaddsub | |- ( ( ( P pCnt ( # ` [ B ] .~ ) ) e. RR /\ N e. RR /\ ( P pCnt ( # ` X ) ) e. RR ) -> ( ( ( P pCnt ( # ` [ B ] .~ ) ) + N ) <_ ( P pCnt ( # ` X ) ) <-> ( P pCnt ( # ` [ B ] .~ ) ) <_ ( ( P pCnt ( # ` X ) ) - N ) ) ) |
|
| 46 | 36 37 44 45 | syl3anc | |- ( ph -> ( ( ( P pCnt ( # ` [ B ] .~ ) ) + N ) <_ ( P pCnt ( # ` X ) ) <-> ( P pCnt ( # ` [ B ] .~ ) ) <_ ( ( P pCnt ( # ` X ) ) - N ) ) ) |
| 47 | 13 46 | mpbird | |- ( ph -> ( ( P pCnt ( # ` [ B ] .~ ) ) + N ) <_ ( P pCnt ( # ` X ) ) ) |
| 48 | eqid | |- ( G ~QG H ) = ( G ~QG H ) |
|
| 49 | 1 12 48 10 | orbsta2 | |- ( ( ( .(+) e. ( G GrpAct S ) /\ B e. S ) /\ X e. Fin ) -> ( # ` X ) = ( ( # ` [ B ] .~ ) x. ( # ` H ) ) ) |
| 50 | 14 11 3 49 | syl21anc | |- ( ph -> ( # ` X ) = ( ( # ` [ B ] .~ ) x. ( # ` H ) ) ) |
| 51 | 50 | oveq2d | |- ( ph -> ( P pCnt ( # ` X ) ) = ( P pCnt ( ( # ` [ B ] .~ ) x. ( # ` H ) ) ) ) |
| 52 | 34 | nnzd | |- ( ph -> ( # ` [ B ] .~ ) e. ZZ ) |
| 53 | 34 | nnne0d | |- ( ph -> ( # ` [ B ] .~ ) =/= 0 ) |
| 54 | eqid | |- ( 0g ` G ) = ( 0g ` G ) |
|
| 55 | 54 | subg0cl | |- ( H e. ( SubGrp ` G ) -> ( 0g ` G ) e. H ) |
| 56 | 16 55 | syl | |- ( ph -> ( 0g ` G ) e. H ) |
| 57 | 56 | ne0d | |- ( ph -> H =/= (/) ) |
| 58 | 12 | ssrab3 | |- H C_ X |
| 59 | ssfi | |- ( ( X e. Fin /\ H C_ X ) -> H e. Fin ) |
|
| 60 | 3 58 59 | sylancl | |- ( ph -> H e. Fin ) |
| 61 | hashnncl | |- ( H e. Fin -> ( ( # ` H ) e. NN <-> H =/= (/) ) ) |
|
| 62 | 60 61 | syl | |- ( ph -> ( ( # ` H ) e. NN <-> H =/= (/) ) ) |
| 63 | 57 62 | mpbird | |- ( ph -> ( # ` H ) e. NN ) |
| 64 | 63 | nnzd | |- ( ph -> ( # ` H ) e. ZZ ) |
| 65 | 63 | nnne0d | |- ( ph -> ( # ` H ) =/= 0 ) |
| 66 | pcmul | |- ( ( P e. Prime /\ ( ( # ` [ B ] .~ ) e. ZZ /\ ( # ` [ B ] .~ ) =/= 0 ) /\ ( ( # ` H ) e. ZZ /\ ( # ` H ) =/= 0 ) ) -> ( P pCnt ( ( # ` [ B ] .~ ) x. ( # ` H ) ) ) = ( ( P pCnt ( # ` [ B ] .~ ) ) + ( P pCnt ( # ` H ) ) ) ) |
|
| 67 | 4 52 53 64 65 66 | syl122anc | |- ( ph -> ( P pCnt ( ( # ` [ B ] .~ ) x. ( # ` H ) ) ) = ( ( P pCnt ( # ` [ B ] .~ ) ) + ( P pCnt ( # ` H ) ) ) ) |
| 68 | 51 67 | eqtrd | |- ( ph -> ( P pCnt ( # ` X ) ) = ( ( P pCnt ( # ` [ B ] .~ ) ) + ( P pCnt ( # ` H ) ) ) ) |
| 69 | 47 68 | breqtrd | |- ( ph -> ( ( P pCnt ( # ` [ B ] .~ ) ) + N ) <_ ( ( P pCnt ( # ` [ B ] .~ ) ) + ( P pCnt ( # ` H ) ) ) ) |
| 70 | 4 63 | pccld | |- ( ph -> ( P pCnt ( # ` H ) ) e. NN0 ) |
| 71 | 70 | nn0red | |- ( ph -> ( P pCnt ( # ` H ) ) e. RR ) |
| 72 | 37 71 36 | leadd2d | |- ( ph -> ( N <_ ( P pCnt ( # ` H ) ) <-> ( ( P pCnt ( # ` [ B ] .~ ) ) + N ) <_ ( ( P pCnt ( # ` [ B ] .~ ) ) + ( P pCnt ( # ` H ) ) ) ) ) |
| 73 | 69 72 | mpbird | |- ( ph -> N <_ ( P pCnt ( # ` H ) ) ) |
| 74 | pcdvdsb | |- ( ( P e. Prime /\ ( # ` H ) e. ZZ /\ N e. NN0 ) -> ( N <_ ( P pCnt ( # ` H ) ) <-> ( P ^ N ) || ( # ` H ) ) ) |
|
| 75 | 4 64 5 74 | syl3anc | |- ( ph -> ( N <_ ( P pCnt ( # ` H ) ) <-> ( P ^ N ) || ( # ` H ) ) ) |
| 76 | 73 75 | mpbid | |- ( ph -> ( P ^ N ) || ( # ` H ) ) |
| 77 | prmnn | |- ( P e. Prime -> P e. NN ) |
|
| 78 | 4 77 | syl | |- ( ph -> P e. NN ) |
| 79 | 78 5 | nnexpcld | |- ( ph -> ( P ^ N ) e. NN ) |
| 80 | 79 | nnzd | |- ( ph -> ( P ^ N ) e. ZZ ) |
| 81 | dvdsle | |- ( ( ( P ^ N ) e. ZZ /\ ( # ` H ) e. NN ) -> ( ( P ^ N ) || ( # ` H ) -> ( P ^ N ) <_ ( # ` H ) ) ) |
|
| 82 | 80 63 81 | syl2anc | |- ( ph -> ( ( P ^ N ) || ( # ` H ) -> ( P ^ N ) <_ ( # ` H ) ) ) |
| 83 | 76 82 | mpd | |- ( ph -> ( P ^ N ) <_ ( # ` H ) ) |
| 84 | hashcl | |- ( H e. Fin -> ( # ` H ) e. NN0 ) |
|
| 85 | 60 84 | syl | |- ( ph -> ( # ` H ) e. NN0 ) |
| 86 | 85 | nn0red | |- ( ph -> ( # ` H ) e. RR ) |
| 87 | 79 | nnred | |- ( ph -> ( P ^ N ) e. RR ) |
| 88 | 86 87 | letri3d | |- ( ph -> ( ( # ` H ) = ( P ^ N ) <-> ( ( # ` H ) <_ ( P ^ N ) /\ ( P ^ N ) <_ ( # ` H ) ) ) ) |
| 89 | 17 83 88 | mpbir2and | |- ( ph -> ( # ` H ) = ( P ^ N ) ) |
| 90 | fveqeq2 | |- ( h = H -> ( ( # ` h ) = ( P ^ N ) <-> ( # ` H ) = ( P ^ N ) ) ) |
|
| 91 | 90 | rspcev | |- ( ( H e. ( SubGrp ` G ) /\ ( # ` H ) = ( P ^ N ) ) -> E. h e. ( SubGrp ` G ) ( # ` h ) = ( P ^ N ) ) |
| 92 | 16 89 91 | syl2anc | |- ( ph -> E. h e. ( SubGrp ` G ) ( # ` h ) = ( P ^ N ) ) |