| Step | Hyp | Ref | Expression | 
						
							| 1 |  | tcphval.n |  | 
						
							| 2 |  | tcphcph.v |  | 
						
							| 3 |  | tcphcph.f |  | 
						
							| 4 |  | tcphcph.1 |  | 
						
							| 5 |  | tcphcph.2 |  | 
						
							| 6 |  | tcphcph.h |  | 
						
							| 7 |  | tcphcph.3 |  | 
						
							| 8 |  | tcphcph.4 |  | 
						
							| 9 |  | tcphcph.k |  | 
						
							| 10 |  | tcphcph.m |  | 
						
							| 11 |  | tcphcphlem1.3 |  | 
						
							| 12 |  | tcphcphlem1.4 |  | 
						
							| 13 |  | phllmod |  | 
						
							| 14 |  | lmodgrp |  | 
						
							| 15 | 4 13 14 | 3syl |  | 
						
							| 16 | 2 10 | grpsubcl |  | 
						
							| 17 | 15 11 12 16 | syl3anc |  | 
						
							| 18 | 1 2 3 4 5 6 | tcphcphlem3 |  | 
						
							| 19 | 17 18 | mpdan |  | 
						
							| 20 | 1 2 3 4 5 6 | tcphcphlem3 |  | 
						
							| 21 | 11 20 | mpdan |  | 
						
							| 22 | 1 2 3 4 5 6 | tcphcphlem3 |  | 
						
							| 23 | 12 22 | mpdan |  | 
						
							| 24 | 21 23 | readdcld |  | 
						
							| 25 | 1 2 3 4 5 | phclm |  | 
						
							| 26 | 3 9 | clmsscn |  | 
						
							| 27 | 25 26 | syl |  | 
						
							| 28 | 3 6 2 9 | ipcl |  | 
						
							| 29 | 4 11 12 28 | syl3anc |  | 
						
							| 30 | 27 29 | sseldd |  | 
						
							| 31 | 3 6 2 9 | ipcl |  | 
						
							| 32 | 4 12 11 31 | syl3anc |  | 
						
							| 33 | 27 32 | sseldd |  | 
						
							| 34 | 30 33 | addcld |  | 
						
							| 35 | 34 | abscld |  | 
						
							| 36 | 24 35 | readdcld |  | 
						
							| 37 | 21 | recnd |  | 
						
							| 38 |  | 2re |  | 
						
							| 39 |  | oveq12 |  | 
						
							| 40 | 39 | anidms |  | 
						
							| 41 | 40 | breq2d |  | 
						
							| 42 | 8 | ralrimiva |  | 
						
							| 43 | 41 42 11 | rspcdva |  | 
						
							| 44 | 21 43 | resqrtcld |  | 
						
							| 45 |  | oveq12 |  | 
						
							| 46 | 45 | anidms |  | 
						
							| 47 | 46 | breq2d |  | 
						
							| 48 | 47 42 12 | rspcdva |  | 
						
							| 49 | 23 48 | resqrtcld |  | 
						
							| 50 | 44 49 | remulcld |  | 
						
							| 51 |  | remulcl |  | 
						
							| 52 | 38 50 51 | sylancr |  | 
						
							| 53 | 52 | recnd |  | 
						
							| 54 | 23 | recnd |  | 
						
							| 55 | 37 53 54 | add32d |  | 
						
							| 56 | 24 52 | readdcld |  | 
						
							| 57 | 55 56 | eqeltrd |  | 
						
							| 58 |  | oveq12 |  | 
						
							| 59 | 58 | anidms |  | 
						
							| 60 | 59 | breq2d |  | 
						
							| 61 | 60 42 17 | rspcdva |  | 
						
							| 62 | 19 61 | absidd |  | 
						
							| 63 | 3 | clmadd |  | 
						
							| 64 | 25 63 | syl |  | 
						
							| 65 | 64 | oveqd |  | 
						
							| 66 | 64 | oveqd |  | 
						
							| 67 | 65 66 | oveq12d |  | 
						
							| 68 | 3 6 2 9 | ipcl |  | 
						
							| 69 | 4 11 11 68 | syl3anc |  | 
						
							| 70 | 3 6 2 9 | ipcl |  | 
						
							| 71 | 4 12 12 70 | syl3anc |  | 
						
							| 72 | 3 9 | clmacl |  | 
						
							| 73 | 25 69 71 72 | syl3anc |  | 
						
							| 74 | 3 9 | clmacl |  | 
						
							| 75 | 25 29 32 74 | syl3anc |  | 
						
							| 76 | 3 9 | clmsub |  | 
						
							| 77 | 25 73 75 76 | syl3anc |  | 
						
							| 78 |  | eqid |  | 
						
							| 79 |  | eqid |  | 
						
							| 80 | 3 6 2 10 78 79 4 11 12 11 12 | ip2subdi |  | 
						
							| 81 | 67 77 80 | 3eqtr4rd |  | 
						
							| 82 | 81 | fveq2d |  | 
						
							| 83 | 62 82 | eqtr3d |  | 
						
							| 84 | 27 73 | sseldd |  | 
						
							| 85 | 84 34 | abs2dif2d |  | 
						
							| 86 | 83 85 | eqbrtrd |  | 
						
							| 87 | 21 23 43 48 | addge0d |  | 
						
							| 88 | 24 87 | absidd |  | 
						
							| 89 | 88 | oveq1d |  | 
						
							| 90 | 86 89 | breqtrd |  | 
						
							| 91 | 30 | abscld |  | 
						
							| 92 |  | remulcl |  | 
						
							| 93 | 38 91 92 | sylancr |  | 
						
							| 94 | 30 33 | abstrid |  | 
						
							| 95 | 91 | recnd |  | 
						
							| 96 | 95 | 2timesd |  | 
						
							| 97 | 30 | abscjd |  | 
						
							| 98 | 3 | clmcj |  | 
						
							| 99 | 25 98 | syl |  | 
						
							| 100 | 99 | fveq1d |  | 
						
							| 101 |  | eqid |  | 
						
							| 102 | 3 6 2 101 | ipcj |  | 
						
							| 103 | 4 11 12 102 | syl3anc |  | 
						
							| 104 | 100 103 | eqtrd |  | 
						
							| 105 | 104 | fveq2d |  | 
						
							| 106 | 97 105 | eqtr3d |  | 
						
							| 107 | 106 | oveq2d |  | 
						
							| 108 | 96 107 | eqtrd |  | 
						
							| 109 | 94 108 | breqtrrd |  | 
						
							| 110 |  | eqid |  | 
						
							| 111 |  | eqid |  | 
						
							| 112 | 1 2 3 4 5 6 7 8 9 110 111 11 12 | ipcau2 |  | 
						
							| 113 | 1 110 2 6 | tcphnmval |  | 
						
							| 114 | 15 11 113 | syl2anc |  | 
						
							| 115 | 1 110 2 6 | tcphnmval |  | 
						
							| 116 | 15 12 115 | syl2anc |  | 
						
							| 117 | 114 116 | oveq12d |  | 
						
							| 118 | 112 117 | breqtrd |  | 
						
							| 119 | 38 | a1i |  | 
						
							| 120 |  | 2pos |  | 
						
							| 121 | 120 | a1i |  | 
						
							| 122 |  | lemul2 |  | 
						
							| 123 | 91 50 119 121 122 | syl112anc |  | 
						
							| 124 | 118 123 | mpbid |  | 
						
							| 125 | 35 93 52 109 124 | letrd |  | 
						
							| 126 | 35 52 24 125 | leadd2dd |  | 
						
							| 127 | 126 55 | breqtrrd |  | 
						
							| 128 | 19 36 57 90 127 | letrd |  | 
						
							| 129 | 19 | recnd |  | 
						
							| 130 | 129 | sqsqrtd |  | 
						
							| 131 | 37 | sqrtcld |  | 
						
							| 132 | 49 | recnd |  | 
						
							| 133 |  | binom2 |  | 
						
							| 134 | 131 132 133 | syl2anc |  | 
						
							| 135 | 37 | sqsqrtd |  | 
						
							| 136 | 135 | oveq1d |  | 
						
							| 137 | 54 | sqsqrtd |  | 
						
							| 138 | 136 137 | oveq12d |  | 
						
							| 139 | 134 138 | eqtrd |  | 
						
							| 140 | 128 130 139 | 3brtr4d |  | 
						
							| 141 | 19 61 | resqrtcld |  | 
						
							| 142 | 44 49 | readdcld |  | 
						
							| 143 | 19 61 | sqrtge0d |  | 
						
							| 144 | 21 43 | sqrtge0d |  | 
						
							| 145 | 23 48 | sqrtge0d |  | 
						
							| 146 | 44 49 144 145 | addge0d |  | 
						
							| 147 | 141 142 143 146 | le2sqd |  | 
						
							| 148 | 140 147 | mpbird |  |