| Step | Hyp | Ref | Expression | 
						
							| 1 |  | proot1ex.g |  |-  G = ( ( mulGrp ` CCfld ) |`s ( CC \ { 0 } ) ) | 
						
							| 2 |  | proot1ex.o |  |-  O = ( od ` G ) | 
						
							| 3 |  | neg1cn |  |-  -u 1 e. CC | 
						
							| 4 |  | 2rp |  |-  2 e. RR+ | 
						
							| 5 |  | nnrp |  |-  ( N e. NN -> N e. RR+ ) | 
						
							| 6 |  | rpdivcl |  |-  ( ( 2 e. RR+ /\ N e. RR+ ) -> ( 2 / N ) e. RR+ ) | 
						
							| 7 | 4 5 6 | sylancr |  |-  ( N e. NN -> ( 2 / N ) e. RR+ ) | 
						
							| 8 | 7 | rpcnd |  |-  ( N e. NN -> ( 2 / N ) e. CC ) | 
						
							| 9 |  | cxpcl |  |-  ( ( -u 1 e. CC /\ ( 2 / N ) e. CC ) -> ( -u 1 ^c ( 2 / N ) ) e. CC ) | 
						
							| 10 | 3 8 9 | sylancr |  |-  ( N e. NN -> ( -u 1 ^c ( 2 / N ) ) e. CC ) | 
						
							| 11 | 3 | a1i |  |-  ( N e. NN -> -u 1 e. CC ) | 
						
							| 12 |  | neg1ne0 |  |-  -u 1 =/= 0 | 
						
							| 13 | 12 | a1i |  |-  ( N e. NN -> -u 1 =/= 0 ) | 
						
							| 14 | 11 13 8 | cxpne0d |  |-  ( N e. NN -> ( -u 1 ^c ( 2 / N ) ) =/= 0 ) | 
						
							| 15 |  | eldifsn |  |-  ( ( -u 1 ^c ( 2 / N ) ) e. ( CC \ { 0 } ) <-> ( ( -u 1 ^c ( 2 / N ) ) e. CC /\ ( -u 1 ^c ( 2 / N ) ) =/= 0 ) ) | 
						
							| 16 | 10 14 15 | sylanbrc |  |-  ( N e. NN -> ( -u 1 ^c ( 2 / N ) ) e. ( CC \ { 0 } ) ) | 
						
							| 17 | 3 | a1i |  |-  ( ( N e. NN /\ x e. NN0 ) -> -u 1 e. CC ) | 
						
							| 18 | 12 | a1i |  |-  ( ( N e. NN /\ x e. NN0 ) -> -u 1 =/= 0 ) | 
						
							| 19 |  | nn0cn |  |-  ( x e. NN0 -> x e. CC ) | 
						
							| 20 |  | mulcl |  |-  ( ( ( 2 / N ) e. CC /\ x e. CC ) -> ( ( 2 / N ) x. x ) e. CC ) | 
						
							| 21 | 8 19 20 | syl2an |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( 2 / N ) x. x ) e. CC ) | 
						
							| 22 | 17 18 21 | cxpefd |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( -u 1 ^c ( ( 2 / N ) x. x ) ) = ( exp ` ( ( ( 2 / N ) x. x ) x. ( log ` -u 1 ) ) ) ) | 
						
							| 23 | 22 | eqeq1d |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( -u 1 ^c ( ( 2 / N ) x. x ) ) = 1 <-> ( exp ` ( ( ( 2 / N ) x. x ) x. ( log ` -u 1 ) ) ) = 1 ) ) | 
						
							| 24 |  | logcl |  |-  ( ( -u 1 e. CC /\ -u 1 =/= 0 ) -> ( log ` -u 1 ) e. CC ) | 
						
							| 25 | 3 12 24 | mp2an |  |-  ( log ` -u 1 ) e. CC | 
						
							| 26 |  | mulcl |  |-  ( ( ( ( 2 / N ) x. x ) e. CC /\ ( log ` -u 1 ) e. CC ) -> ( ( ( 2 / N ) x. x ) x. ( log ` -u 1 ) ) e. CC ) | 
						
							| 27 | 21 25 26 | sylancl |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( ( 2 / N ) x. x ) x. ( log ` -u 1 ) ) e. CC ) | 
						
							| 28 |  | efeq1 |  |-  ( ( ( ( 2 / N ) x. x ) x. ( log ` -u 1 ) ) e. CC -> ( ( exp ` ( ( ( 2 / N ) x. x ) x. ( log ` -u 1 ) ) ) = 1 <-> ( ( ( ( 2 / N ) x. x ) x. ( log ` -u 1 ) ) / ( _i x. ( 2 x. _pi ) ) ) e. ZZ ) ) | 
						
							| 29 | 27 28 | syl |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( exp ` ( ( ( 2 / N ) x. x ) x. ( log ` -u 1 ) ) ) = 1 <-> ( ( ( ( 2 / N ) x. x ) x. ( log ` -u 1 ) ) / ( _i x. ( 2 x. _pi ) ) ) e. ZZ ) ) | 
						
							| 30 |  | 2cn |  |-  2 e. CC | 
						
							| 31 | 30 | a1i |  |-  ( ( N e. NN /\ x e. NN0 ) -> 2 e. CC ) | 
						
							| 32 |  | nncn |  |-  ( N e. NN -> N e. CC ) | 
						
							| 33 | 32 | adantr |  |-  ( ( N e. NN /\ x e. NN0 ) -> N e. CC ) | 
						
							| 34 | 19 | adantl |  |-  ( ( N e. NN /\ x e. NN0 ) -> x e. CC ) | 
						
							| 35 |  | nnne0 |  |-  ( N e. NN -> N =/= 0 ) | 
						
							| 36 | 35 | adantr |  |-  ( ( N e. NN /\ x e. NN0 ) -> N =/= 0 ) | 
						
							| 37 | 31 33 34 36 | div13d |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( 2 / N ) x. x ) = ( ( x / N ) x. 2 ) ) | 
						
							| 38 |  | logm1 |  |-  ( log ` -u 1 ) = ( _i x. _pi ) | 
						
							| 39 | 38 | a1i |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( log ` -u 1 ) = ( _i x. _pi ) ) | 
						
							| 40 | 37 39 | oveq12d |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( ( 2 / N ) x. x ) x. ( log ` -u 1 ) ) = ( ( ( x / N ) x. 2 ) x. ( _i x. _pi ) ) ) | 
						
							| 41 | 34 33 36 | divcld |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( x / N ) e. CC ) | 
						
							| 42 |  | ax-icn |  |-  _i e. CC | 
						
							| 43 |  | picn |  |-  _pi e. CC | 
						
							| 44 | 42 43 | mulcli |  |-  ( _i x. _pi ) e. CC | 
						
							| 45 | 44 | a1i |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( _i x. _pi ) e. CC ) | 
						
							| 46 | 41 31 45 | mulassd |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( ( x / N ) x. 2 ) x. ( _i x. _pi ) ) = ( ( x / N ) x. ( 2 x. ( _i x. _pi ) ) ) ) | 
						
							| 47 | 42 | a1i |  |-  ( ( N e. NN /\ x e. NN0 ) -> _i e. CC ) | 
						
							| 48 | 43 | a1i |  |-  ( ( N e. NN /\ x e. NN0 ) -> _pi e. CC ) | 
						
							| 49 | 31 47 48 | mul12d |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( 2 x. ( _i x. _pi ) ) = ( _i x. ( 2 x. _pi ) ) ) | 
						
							| 50 | 49 | oveq2d |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( x / N ) x. ( 2 x. ( _i x. _pi ) ) ) = ( ( x / N ) x. ( _i x. ( 2 x. _pi ) ) ) ) | 
						
							| 51 | 40 46 50 | 3eqtrd |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( ( 2 / N ) x. x ) x. ( log ` -u 1 ) ) = ( ( x / N ) x. ( _i x. ( 2 x. _pi ) ) ) ) | 
						
							| 52 | 51 | oveq1d |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( ( ( 2 / N ) x. x ) x. ( log ` -u 1 ) ) / ( _i x. ( 2 x. _pi ) ) ) = ( ( ( x / N ) x. ( _i x. ( 2 x. _pi ) ) ) / ( _i x. ( 2 x. _pi ) ) ) ) | 
						
							| 53 | 30 43 | mulcli |  |-  ( 2 x. _pi ) e. CC | 
						
							| 54 | 42 53 | mulcli |  |-  ( _i x. ( 2 x. _pi ) ) e. CC | 
						
							| 55 | 54 | a1i |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( _i x. ( 2 x. _pi ) ) e. CC ) | 
						
							| 56 |  | ine0 |  |-  _i =/= 0 | 
						
							| 57 |  | 2ne0 |  |-  2 =/= 0 | 
						
							| 58 |  | pire |  |-  _pi e. RR | 
						
							| 59 |  | pipos |  |-  0 < _pi | 
						
							| 60 | 58 59 | gt0ne0ii |  |-  _pi =/= 0 | 
						
							| 61 | 30 43 57 60 | mulne0i |  |-  ( 2 x. _pi ) =/= 0 | 
						
							| 62 | 42 53 56 61 | mulne0i |  |-  ( _i x. ( 2 x. _pi ) ) =/= 0 | 
						
							| 63 | 62 | a1i |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( _i x. ( 2 x. _pi ) ) =/= 0 ) | 
						
							| 64 | 41 55 63 | divcan4d |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( ( x / N ) x. ( _i x. ( 2 x. _pi ) ) ) / ( _i x. ( 2 x. _pi ) ) ) = ( x / N ) ) | 
						
							| 65 | 52 64 | eqtrd |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( ( ( 2 / N ) x. x ) x. ( log ` -u 1 ) ) / ( _i x. ( 2 x. _pi ) ) ) = ( x / N ) ) | 
						
							| 66 | 65 | eleq1d |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( ( ( ( 2 / N ) x. x ) x. ( log ` -u 1 ) ) / ( _i x. ( 2 x. _pi ) ) ) e. ZZ <-> ( x / N ) e. ZZ ) ) | 
						
							| 67 | 23 29 66 | 3bitrd |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( -u 1 ^c ( ( 2 / N ) x. x ) ) = 1 <-> ( x / N ) e. ZZ ) ) | 
						
							| 68 | 8 | adantr |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( 2 / N ) e. CC ) | 
						
							| 69 |  | simpr |  |-  ( ( N e. NN /\ x e. NN0 ) -> x e. NN0 ) | 
						
							| 70 | 17 68 69 | cxpmul2d |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( -u 1 ^c ( ( 2 / N ) x. x ) ) = ( ( -u 1 ^c ( 2 / N ) ) ^ x ) ) | 
						
							| 71 |  | cnfldexp |  |-  ( ( ( -u 1 ^c ( 2 / N ) ) e. CC /\ x e. NN0 ) -> ( x ( .g ` ( mulGrp ` CCfld ) ) ( -u 1 ^c ( 2 / N ) ) ) = ( ( -u 1 ^c ( 2 / N ) ) ^ x ) ) | 
						
							| 72 | 10 71 | sylan |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( x ( .g ` ( mulGrp ` CCfld ) ) ( -u 1 ^c ( 2 / N ) ) ) = ( ( -u 1 ^c ( 2 / N ) ) ^ x ) ) | 
						
							| 73 |  | cnring |  |-  CCfld e. Ring | 
						
							| 74 |  | cnfldbas |  |-  CC = ( Base ` CCfld ) | 
						
							| 75 |  | cnfld0 |  |-  0 = ( 0g ` CCfld ) | 
						
							| 76 |  | cndrng |  |-  CCfld e. DivRing | 
						
							| 77 | 74 75 76 | drngui |  |-  ( CC \ { 0 } ) = ( Unit ` CCfld ) | 
						
							| 78 |  | eqid |  |-  ( mulGrp ` CCfld ) = ( mulGrp ` CCfld ) | 
						
							| 79 | 77 78 | unitsubm |  |-  ( CCfld e. Ring -> ( CC \ { 0 } ) e. ( SubMnd ` ( mulGrp ` CCfld ) ) ) | 
						
							| 80 | 73 79 | mp1i |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( CC \ { 0 } ) e. ( SubMnd ` ( mulGrp ` CCfld ) ) ) | 
						
							| 81 | 16 | adantr |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( -u 1 ^c ( 2 / N ) ) e. ( CC \ { 0 } ) ) | 
						
							| 82 |  | eqid |  |-  ( .g ` ( mulGrp ` CCfld ) ) = ( .g ` ( mulGrp ` CCfld ) ) | 
						
							| 83 |  | eqid |  |-  ( .g ` G ) = ( .g ` G ) | 
						
							| 84 | 82 1 83 | submmulg |  |-  ( ( ( CC \ { 0 } ) e. ( SubMnd ` ( mulGrp ` CCfld ) ) /\ x e. NN0 /\ ( -u 1 ^c ( 2 / N ) ) e. ( CC \ { 0 } ) ) -> ( x ( .g ` ( mulGrp ` CCfld ) ) ( -u 1 ^c ( 2 / N ) ) ) = ( x ( .g ` G ) ( -u 1 ^c ( 2 / N ) ) ) ) | 
						
							| 85 | 80 69 81 84 | syl3anc |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( x ( .g ` ( mulGrp ` CCfld ) ) ( -u 1 ^c ( 2 / N ) ) ) = ( x ( .g ` G ) ( -u 1 ^c ( 2 / N ) ) ) ) | 
						
							| 86 | 70 72 85 | 3eqtr2rd |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( x ( .g ` G ) ( -u 1 ^c ( 2 / N ) ) ) = ( -u 1 ^c ( ( 2 / N ) x. x ) ) ) | 
						
							| 87 | 86 | eqeq1d |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( ( x ( .g ` G ) ( -u 1 ^c ( 2 / N ) ) ) = 1 <-> ( -u 1 ^c ( ( 2 / N ) x. x ) ) = 1 ) ) | 
						
							| 88 |  | nnz |  |-  ( N e. NN -> N e. ZZ ) | 
						
							| 89 | 88 | adantr |  |-  ( ( N e. NN /\ x e. NN0 ) -> N e. ZZ ) | 
						
							| 90 |  | nn0z |  |-  ( x e. NN0 -> x e. ZZ ) | 
						
							| 91 | 90 | adantl |  |-  ( ( N e. NN /\ x e. NN0 ) -> x e. ZZ ) | 
						
							| 92 |  | dvdsval2 |  |-  ( ( N e. ZZ /\ N =/= 0 /\ x e. ZZ ) -> ( N || x <-> ( x / N ) e. ZZ ) ) | 
						
							| 93 | 89 36 91 92 | syl3anc |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( N || x <-> ( x / N ) e. ZZ ) ) | 
						
							| 94 | 67 87 93 | 3bitr4rd |  |-  ( ( N e. NN /\ x e. NN0 ) -> ( N || x <-> ( x ( .g ` G ) ( -u 1 ^c ( 2 / N ) ) ) = 1 ) ) | 
						
							| 95 | 94 | ralrimiva |  |-  ( N e. NN -> A. x e. NN0 ( N || x <-> ( x ( .g ` G ) ( -u 1 ^c ( 2 / N ) ) ) = 1 ) ) | 
						
							| 96 | 77 1 | unitgrp |  |-  ( CCfld e. Ring -> G e. Grp ) | 
						
							| 97 | 73 96 | mp1i |  |-  ( N e. NN -> G e. Grp ) | 
						
							| 98 |  | nnnn0 |  |-  ( N e. NN -> N e. NN0 ) | 
						
							| 99 | 77 1 | unitgrpbas |  |-  ( CC \ { 0 } ) = ( Base ` G ) | 
						
							| 100 |  | cnfld1 |  |-  1 = ( 1r ` CCfld ) | 
						
							| 101 | 77 1 100 | unitgrpid |  |-  ( CCfld e. Ring -> 1 = ( 0g ` G ) ) | 
						
							| 102 | 73 101 | ax-mp |  |-  1 = ( 0g ` G ) | 
						
							| 103 | 99 2 83 102 | odeq |  |-  ( ( G e. Grp /\ ( -u 1 ^c ( 2 / N ) ) e. ( CC \ { 0 } ) /\ N e. NN0 ) -> ( N = ( O ` ( -u 1 ^c ( 2 / N ) ) ) <-> A. x e. NN0 ( N || x <-> ( x ( .g ` G ) ( -u 1 ^c ( 2 / N ) ) ) = 1 ) ) ) | 
						
							| 104 | 97 16 98 103 | syl3anc |  |-  ( N e. NN -> ( N = ( O ` ( -u 1 ^c ( 2 / N ) ) ) <-> A. x e. NN0 ( N || x <-> ( x ( .g ` G ) ( -u 1 ^c ( 2 / N ) ) ) = 1 ) ) ) | 
						
							| 105 | 95 104 | mpbird |  |-  ( N e. NN -> N = ( O ` ( -u 1 ^c ( 2 / N ) ) ) ) | 
						
							| 106 | 105 | eqcomd |  |-  ( N e. NN -> ( O ` ( -u 1 ^c ( 2 / N ) ) ) = N ) | 
						
							| 107 | 99 2 | odf |  |-  O : ( CC \ { 0 } ) --> NN0 | 
						
							| 108 |  | ffn |  |-  ( O : ( CC \ { 0 } ) --> NN0 -> O Fn ( CC \ { 0 } ) ) | 
						
							| 109 | 107 108 | ax-mp |  |-  O Fn ( CC \ { 0 } ) | 
						
							| 110 |  | fniniseg |  |-  ( O Fn ( CC \ { 0 } ) -> ( ( -u 1 ^c ( 2 / N ) ) e. ( `' O " { N } ) <-> ( ( -u 1 ^c ( 2 / N ) ) e. ( CC \ { 0 } ) /\ ( O ` ( -u 1 ^c ( 2 / N ) ) ) = N ) ) ) | 
						
							| 111 | 109 110 | mp1i |  |-  ( N e. NN -> ( ( -u 1 ^c ( 2 / N ) ) e. ( `' O " { N } ) <-> ( ( -u 1 ^c ( 2 / N ) ) e. ( CC \ { 0 } ) /\ ( O ` ( -u 1 ^c ( 2 / N ) ) ) = N ) ) ) | 
						
							| 112 | 16 106 111 | mpbir2and |  |-  ( N e. NN -> ( -u 1 ^c ( 2 / N ) ) e. ( `' O " { N } ) ) |