| Step | Hyp | Ref | Expression | 
						
							| 1 |  | dchrabl.g |  | 
						
							| 2 |  | dchrfi.b |  | 
						
							| 3 |  | snfi |  | 
						
							| 4 |  | cnex |  | 
						
							| 5 | 4 | a1i |  | 
						
							| 6 |  | ovexd |  | 
						
							| 7 |  | 1cnd |  | 
						
							| 8 |  | eqidd |  | 
						
							| 9 |  | fconstmpt |  | 
						
							| 10 | 9 | a1i |  | 
						
							| 11 | 5 6 7 8 10 | offval2 |  | 
						
							| 12 |  | ssid |  | 
						
							| 13 | 12 | a1i |  | 
						
							| 14 |  | 1cnd |  | 
						
							| 15 |  | phicl |  | 
						
							| 16 | 15 | nnnn0d |  | 
						
							| 17 |  | plypow |  | 
						
							| 18 | 13 14 16 17 | syl3anc |  | 
						
							| 19 |  | ax-1cn |  | 
						
							| 20 |  | plyconst |  | 
						
							| 21 | 12 19 20 | mp2an |  | 
						
							| 22 |  | plysubcl |  | 
						
							| 23 | 18 21 22 | sylancl |  | 
						
							| 24 | 11 23 | eqeltrrd |  | 
						
							| 25 |  | 0cn |  | 
						
							| 26 |  | neg1ne0 |  | 
						
							| 27 | 15 | 0expd |  | 
						
							| 28 | 27 | oveq1d |  | 
						
							| 29 |  | oveq1 |  | 
						
							| 30 | 29 | oveq1d |  | 
						
							| 31 |  | eqid |  | 
						
							| 32 |  | ovex |  | 
						
							| 33 | 30 31 32 | fvmpt |  | 
						
							| 34 | 25 33 | ax-mp |  | 
						
							| 35 |  | df-neg |  | 
						
							| 36 | 28 34 35 | 3eqtr4g |  | 
						
							| 37 | 36 | neeq1d |  | 
						
							| 38 | 26 37 | mpbiri |  | 
						
							| 39 |  | ne0p |  | 
						
							| 40 | 25 38 39 | sylancr |  | 
						
							| 41 | 31 | mptiniseg |  | 
						
							| 42 | 25 41 | ax-mp |  | 
						
							| 43 | 42 | eqcomi |  | 
						
							| 44 | 43 | fta1 |  | 
						
							| 45 | 24 40 44 | syl2anc |  | 
						
							| 46 | 45 | simpld |  | 
						
							| 47 |  | unfi |  | 
						
							| 48 | 3 46 47 | sylancr |  | 
						
							| 49 |  | eqid |  | 
						
							| 50 |  | eqid |  | 
						
							| 51 | 49 50 | znfi |  | 
						
							| 52 |  | mapfi |  | 
						
							| 53 | 48 51 52 | syl2anc |  | 
						
							| 54 |  | simpr |  | 
						
							| 55 | 1 49 2 50 54 | dchrf |  | 
						
							| 56 | 55 | ffnd |  | 
						
							| 57 |  | df-ne |  | 
						
							| 58 |  | fvex |  | 
						
							| 59 | 58 | elsn |  | 
						
							| 60 | 57 59 | xchbinxr |  | 
						
							| 61 |  | oveq1 |  | 
						
							| 62 | 61 | oveq1d |  | 
						
							| 63 | 62 | eqeq1d |  | 
						
							| 64 |  | simpl |  | 
						
							| 65 |  | ffvelcdm |  | 
						
							| 66 | 55 64 65 | syl2an |  | 
						
							| 67 | 1 49 2 | dchrmhm |  | 
						
							| 68 |  | simplr |  | 
						
							| 69 | 67 68 | sselid |  | 
						
							| 70 | 16 | ad2antrr |  | 
						
							| 71 |  | simprl |  | 
						
							| 72 |  | eqid |  | 
						
							| 73 | 72 50 | mgpbas |  | 
						
							| 74 |  | eqid |  | 
						
							| 75 |  | eqid |  | 
						
							| 76 | 73 74 75 | mhmmulg |  | 
						
							| 77 | 69 70 71 76 | syl3anc |  | 
						
							| 78 |  | nnnn0 |  | 
						
							| 79 | 49 | zncrng |  | 
						
							| 80 | 78 79 | syl |  | 
						
							| 81 |  | crngring |  | 
						
							| 82 | 80 81 | syl |  | 
						
							| 83 | 82 | ad2antrr |  | 
						
							| 84 |  | eqid |  | 
						
							| 85 |  | eqid |  | 
						
							| 86 | 84 85 | unitgrp |  | 
						
							| 87 | 83 86 | syl |  | 
						
							| 88 | 49 84 | znunithash |  | 
						
							| 89 | 88 16 | eqeltrd |  | 
						
							| 90 |  | fvex |  | 
						
							| 91 |  | hashclb |  | 
						
							| 92 | 90 91 | ax-mp |  | 
						
							| 93 | 89 92 | sylibr |  | 
						
							| 94 | 93 | ad2antrr |  | 
						
							| 95 |  | simprr |  | 
						
							| 96 | 1 49 2 50 84 68 71 | dchrn0 |  | 
						
							| 97 | 95 96 | mpbid |  | 
						
							| 98 | 84 85 | unitgrpbas |  | 
						
							| 99 |  | eqid |  | 
						
							| 100 | 98 99 | oddvds2 |  | 
						
							| 101 | 87 94 97 100 | syl3anc |  | 
						
							| 102 | 88 | ad2antrr |  | 
						
							| 103 | 101 102 | breqtrd |  | 
						
							| 104 | 15 | ad2antrr |  | 
						
							| 105 | 104 | nnzd |  | 
						
							| 106 |  | eqid |  | 
						
							| 107 |  | eqid |  | 
						
							| 108 | 98 99 106 107 | oddvds |  | 
						
							| 109 | 87 97 105 108 | syl3anc |  | 
						
							| 110 | 103 109 | mpbid |  | 
						
							| 111 | 84 72 | unitsubm |  | 
						
							| 112 | 83 111 | syl |  | 
						
							| 113 | 74 85 106 | submmulg |  | 
						
							| 114 | 112 70 97 113 | syl3anc |  | 
						
							| 115 |  | eqid |  | 
						
							| 116 | 72 115 | ringidval |  | 
						
							| 117 | 85 116 | subm0 |  | 
						
							| 118 | 112 117 | syl |  | 
						
							| 119 | 110 114 118 | 3eqtr4d |  | 
						
							| 120 | 119 | fveq2d |  | 
						
							| 121 | 77 120 | eqtr3d |  | 
						
							| 122 |  | cnfldexp |  | 
						
							| 123 | 66 70 122 | syl2anc |  | 
						
							| 124 |  | eqid |  | 
						
							| 125 |  | cnfld1 |  | 
						
							| 126 | 124 125 | ringidval |  | 
						
							| 127 | 116 126 | mhm0 |  | 
						
							| 128 | 69 127 | syl |  | 
						
							| 129 | 121 123 128 | 3eqtr3d |  | 
						
							| 130 | 129 | oveq1d |  | 
						
							| 131 |  | 1m1e0 |  | 
						
							| 132 | 130 131 | eqtrdi |  | 
						
							| 133 | 63 66 132 | elrabd |  | 
						
							| 134 | 133 | expr |  | 
						
							| 135 | 60 134 | biimtrrid |  | 
						
							| 136 | 135 | orrd |  | 
						
							| 137 |  | elun |  | 
						
							| 138 | 136 137 | sylibr |  | 
						
							| 139 | 138 | ralrimiva |  | 
						
							| 140 |  | ffnfv |  | 
						
							| 141 | 56 139 140 | sylanbrc |  | 
						
							| 142 | 141 | ex |  | 
						
							| 143 | 48 51 | elmapd |  | 
						
							| 144 | 142 143 | sylibrd |  | 
						
							| 145 | 144 | ssrdv |  | 
						
							| 146 | 53 145 | ssfid |  |