| Step | Hyp | Ref | Expression | 
						
							| 1 |  | ax-1cn |  | 
						
							| 2 |  | recl |  | 
						
							| 3 | 2 | adantr |  | 
						
							| 4 | 3 | recnd |  | 
						
							| 5 | 3 | rered |  | 
						
							| 6 |  | neghalfpire |  | 
						
							| 7 | 6 | rexri |  | 
						
							| 8 |  | 0re |  | 
						
							| 9 |  | pirp |  | 
						
							| 10 |  | rphalfcl |  | 
						
							| 11 |  | rpgt0 |  | 
						
							| 12 | 9 10 11 | mp2b |  | 
						
							| 13 |  | halfpire |  | 
						
							| 14 |  | lt0neg2 |  | 
						
							| 15 | 13 14 | ax-mp |  | 
						
							| 16 | 12 15 | mpbi |  | 
						
							| 17 | 6 8 16 | ltleii |  | 
						
							| 18 |  | iooss1 |  | 
						
							| 19 | 7 17 18 | mp2an |  | 
						
							| 20 |  | simpr |  | 
						
							| 21 | 19 20 | sselid |  | 
						
							| 22 | 5 21 | eqeltrd |  | 
						
							| 23 |  | cosne0 |  | 
						
							| 24 | 4 22 23 | syl2anc |  | 
						
							| 25 | 4 24 | tancld |  | 
						
							| 26 |  | ax-icn |  | 
						
							| 27 |  | imcl |  | 
						
							| 28 | 27 | adantr |  | 
						
							| 29 | 28 | recnd |  | 
						
							| 30 |  | mulcl |  | 
						
							| 31 | 26 29 30 | sylancr |  | 
						
							| 32 |  | rpcoshcl |  | 
						
							| 33 | 28 32 | syl |  | 
						
							| 34 | 33 | rpne0d |  | 
						
							| 35 | 31 34 | tancld |  | 
						
							| 36 | 25 35 | mulcld |  | 
						
							| 37 |  | subcl |  | 
						
							| 38 | 1 36 37 | sylancr |  | 
						
							| 39 |  | replim |  | 
						
							| 40 | 39 | adantr |  | 
						
							| 41 | 40 | fveq2d |  | 
						
							| 42 |  | cosne0 |  | 
						
							| 43 | 21 42 | syldan |  | 
						
							| 44 | 41 43 | eqnetrrd |  | 
						
							| 45 |  | tanaddlem |  | 
						
							| 46 | 4 31 24 34 45 | syl22anc |  | 
						
							| 47 | 44 46 | mpbid |  | 
						
							| 48 | 47 | necomd |  | 
						
							| 49 |  | subeq0 |  | 
						
							| 50 | 49 | necon3bid |  | 
						
							| 51 | 1 36 50 | sylancr |  | 
						
							| 52 | 48 51 | mpbird |  | 
						
							| 53 | 38 52 | absrpcld |  | 
						
							| 54 |  | 2z |  | 
						
							| 55 |  | rpexpcl |  | 
						
							| 56 | 53 54 55 | sylancl |  | 
						
							| 57 | 56 | rprecred |  | 
						
							| 58 | 38 | cjcld |  | 
						
							| 59 | 25 35 | addcld |  | 
						
							| 60 | 58 59 | mulcld |  | 
						
							| 61 | 60 | recld |  | 
						
							| 62 | 56 | rpreccld |  | 
						
							| 63 | 62 | rpgt0d |  | 
						
							| 64 | 3 24 | retancld |  | 
						
							| 65 |  | 1re |  | 
						
							| 66 |  | retanhcl |  | 
						
							| 67 | 28 66 | syl |  | 
						
							| 68 | 67 | resqcld |  | 
						
							| 69 |  | resubcl |  | 
						
							| 70 | 65 68 69 | sylancr |  | 
						
							| 71 |  | tanrpcl |  | 
						
							| 72 | 71 | adantl |  | 
						
							| 73 | 72 | rpgt0d |  | 
						
							| 74 |  | absresq |  | 
						
							| 75 | 67 74 | syl |  | 
						
							| 76 |  | tanhbnd |  | 
						
							| 77 | 28 76 | syl |  | 
						
							| 78 |  | eliooord |  | 
						
							| 79 | 77 78 | syl |  | 
						
							| 80 |  | abslt |  | 
						
							| 81 | 67 65 80 | sylancl |  | 
						
							| 82 | 79 81 | mpbird |  | 
						
							| 83 | 67 | recnd |  | 
						
							| 84 | 83 | abscld |  | 
						
							| 85 | 65 | a1i |  | 
						
							| 86 | 83 | absge0d |  | 
						
							| 87 |  | 0le1 |  | 
						
							| 88 | 87 | a1i |  | 
						
							| 89 | 84 85 86 88 | lt2sqd |  | 
						
							| 90 | 82 89 | mpbid |  | 
						
							| 91 |  | sq1 |  | 
						
							| 92 | 90 91 | breqtrdi |  | 
						
							| 93 | 75 92 | eqbrtrrd |  | 
						
							| 94 |  | posdif |  | 
						
							| 95 | 68 65 94 | sylancl |  | 
						
							| 96 | 93 95 | mpbid |  | 
						
							| 97 | 64 70 73 96 | mulgt0d |  | 
						
							| 98 | 38 | recjd |  | 
						
							| 99 |  | resub |  | 
						
							| 100 | 1 36 99 | sylancr |  | 
						
							| 101 |  | re1 |  | 
						
							| 102 | 101 | oveq1i |  | 
						
							| 103 | 64 35 | remul2d |  | 
						
							| 104 |  | negicn |  | 
						
							| 105 | 104 | a1i |  | 
						
							| 106 |  | ine0 |  | 
						
							| 107 | 26 106 | negne0i |  | 
						
							| 108 | 107 | a1i |  | 
						
							| 109 | 35 105 108 | divcld |  | 
						
							| 110 |  | imre |  | 
						
							| 111 | 109 110 | syl |  | 
						
							| 112 | 26 | a1i |  | 
						
							| 113 | 106 | a1i |  | 
						
							| 114 | 35 112 113 | divneg2d |  | 
						
							| 115 | 67 | renegcld |  | 
						
							| 116 | 114 115 | eqeltrrd |  | 
						
							| 117 | 116 | reim0d |  | 
						
							| 118 | 35 105 108 | divcan2d |  | 
						
							| 119 | 118 | fveq2d |  | 
						
							| 120 | 111 117 119 | 3eqtr3rd |  | 
						
							| 121 | 120 | oveq2d |  | 
						
							| 122 | 25 | mul01d |  | 
						
							| 123 | 103 121 122 | 3eqtrd |  | 
						
							| 124 | 123 | oveq2d |  | 
						
							| 125 |  | 1m0e1 |  | 
						
							| 126 | 124 125 | eqtrdi |  | 
						
							| 127 | 102 126 | eqtrid |  | 
						
							| 128 | 98 100 127 | 3eqtrd |  | 
						
							| 129 | 35 112 113 | divcan2d |  | 
						
							| 130 | 129 | oveq2d |  | 
						
							| 131 | 130 | fveq2d |  | 
						
							| 132 | 64 67 | crred |  | 
						
							| 133 | 131 132 | eqtr3d |  | 
						
							| 134 | 128 133 | oveq12d |  | 
						
							| 135 |  | mulcom |  | 
						
							| 136 | 1 25 135 | sylancr |  | 
						
							| 137 | 134 136 | eqtrd |  | 
						
							| 138 | 25 83 83 | mulassd |  | 
						
							| 139 | 38 | imcjd |  | 
						
							| 140 |  | imsub |  | 
						
							| 141 | 1 36 140 | sylancr |  | 
						
							| 142 |  | im1 |  | 
						
							| 143 | 142 | oveq1i |  | 
						
							| 144 |  | df-neg |  | 
						
							| 145 | 143 144 | eqtr4i |  | 
						
							| 146 | 64 35 | immul2d |  | 
						
							| 147 |  | imval |  | 
						
							| 148 | 35 147 | syl |  | 
						
							| 149 | 67 | rered |  | 
						
							| 150 | 148 149 | eqtrd |  | 
						
							| 151 | 150 | oveq2d |  | 
						
							| 152 | 146 151 | eqtrd |  | 
						
							| 153 | 152 | negeqd |  | 
						
							| 154 | 145 153 | eqtrid |  | 
						
							| 155 | 141 154 | eqtrd |  | 
						
							| 156 | 155 | negeqd |  | 
						
							| 157 | 64 67 | remulcld |  | 
						
							| 158 | 157 | recnd |  | 
						
							| 159 | 158 | negnegd |  | 
						
							| 160 | 139 156 159 | 3eqtrd |  | 
						
							| 161 | 130 | fveq2d |  | 
						
							| 162 | 64 67 | crimd |  | 
						
							| 163 | 161 162 | eqtr3d |  | 
						
							| 164 | 160 163 | oveq12d |  | 
						
							| 165 | 83 | sqvald |  | 
						
							| 166 | 165 | oveq2d |  | 
						
							| 167 | 138 164 166 | 3eqtr4d |  | 
						
							| 168 | 137 167 | oveq12d |  | 
						
							| 169 | 58 59 | remuld |  | 
						
							| 170 | 1 | a1i |  | 
						
							| 171 | 83 | sqcld |  | 
						
							| 172 | 25 170 171 | subdid |  | 
						
							| 173 | 168 169 172 | 3eqtr4d |  | 
						
							| 174 | 97 173 | breqtrrd |  | 
						
							| 175 | 57 61 63 174 | mulgt0d |  | 
						
							| 176 | 40 | fveq2d |  | 
						
							| 177 |  | tanadd |  | 
						
							| 178 | 4 31 24 34 44 177 | syl23anc |  | 
						
							| 179 |  | recval |  | 
						
							| 180 | 38 52 179 | syl2anc |  | 
						
							| 181 | 180 | oveq1d |  | 
						
							| 182 | 59 38 52 | divrec2d |  | 
						
							| 183 | 38 | abscld |  | 
						
							| 184 | 183 | resqcld |  | 
						
							| 185 | 184 | recnd |  | 
						
							| 186 | 56 | rpne0d |  | 
						
							| 187 | 58 59 185 186 | div23d |  | 
						
							| 188 | 181 182 187 | 3eqtr4d |  | 
						
							| 189 | 176 178 188 | 3eqtrd |  | 
						
							| 190 | 60 185 186 | divrec2d |  | 
						
							| 191 | 189 190 | eqtrd |  | 
						
							| 192 | 191 | fveq2d |  | 
						
							| 193 | 57 60 | remul2d |  | 
						
							| 194 | 192 193 | eqtrd |  | 
						
							| 195 | 175 194 | breqtrrd |  |