| Step | Hyp | Ref | Expression | 
						
							| 1 |  | sseq1 |  | 
						
							| 2 | 1 | 3anbi1d |  | 
						
							| 3 |  | raleq |  | 
						
							| 4 |  | difeq1 |  | 
						
							| 5 | 4 | raleqdv |  | 
						
							| 6 | 5 | raleqbi1dv |  | 
						
							| 7 | 2 3 6 | 3anbi123d |  | 
						
							| 8 |  | prodeq1 |  | 
						
							| 9 | 8 | oveq1d |  | 
						
							| 10 | 9 | eqeq1d |  | 
						
							| 11 | 7 10 | imbi12d |  | 
						
							| 12 |  | sseq1 |  | 
						
							| 13 | 12 | 3anbi1d |  | 
						
							| 14 |  | raleq |  | 
						
							| 15 |  | difeq1 |  | 
						
							| 16 | 15 | raleqdv |  | 
						
							| 17 | 16 | raleqbi1dv |  | 
						
							| 18 | 13 14 17 | 3anbi123d |  | 
						
							| 19 |  | prodeq1 |  | 
						
							| 20 | 19 | oveq1d |  | 
						
							| 21 | 20 | eqeq1d |  | 
						
							| 22 | 18 21 | imbi12d |  | 
						
							| 23 |  | sseq1 |  | 
						
							| 24 | 23 | 3anbi1d |  | 
						
							| 25 |  | raleq |  | 
						
							| 26 |  | difeq1 |  | 
						
							| 27 | 26 | raleqdv |  | 
						
							| 28 | 27 | raleqbi1dv |  | 
						
							| 29 | 24 25 28 | 3anbi123d |  | 
						
							| 30 |  | prodeq1 |  | 
						
							| 31 | 30 | oveq1d |  | 
						
							| 32 | 31 | eqeq1d |  | 
						
							| 33 | 29 32 | imbi12d |  | 
						
							| 34 |  | sseq1 |  | 
						
							| 35 | 34 | 3anbi1d |  | 
						
							| 36 |  | raleq |  | 
						
							| 37 |  | difeq1 |  | 
						
							| 38 | 37 | raleqdv |  | 
						
							| 39 | 38 | raleqbi1dv |  | 
						
							| 40 | 35 36 39 | 3anbi123d |  | 
						
							| 41 |  | prodeq1 |  | 
						
							| 42 | 41 | oveq1d |  | 
						
							| 43 | 42 | eqeq1d |  | 
						
							| 44 | 40 43 | imbi12d |  | 
						
							| 45 |  | prod0 |  | 
						
							| 46 | 45 | a1i |  | 
						
							| 47 | 46 | oveq1d |  | 
						
							| 48 |  | nnz |  | 
						
							| 49 |  | 1gcd |  | 
						
							| 50 | 48 49 | syl |  | 
						
							| 51 | 47 50 | eqtrd |  | 
						
							| 52 | 51 | 3ad2ant2 |  | 
						
							| 53 | 52 | 3ad2ant1 |  | 
						
							| 54 |  | nfv |  | 
						
							| 55 |  | nfcv |  | 
						
							| 56 |  | simprl |  | 
						
							| 57 |  | unss |  | 
						
							| 58 |  | vex |  | 
						
							| 59 | 58 | snss |  | 
						
							| 60 | 59 | biimpri |  | 
						
							| 61 | 60 | adantl |  | 
						
							| 62 | 57 61 | sylbir |  | 
						
							| 63 | 62 | 3ad2ant1 |  | 
						
							| 64 | 63 | adantr |  | 
						
							| 65 |  | simprr |  | 
						
							| 66 |  | simpll3 |  | 
						
							| 67 |  | simpl |  | 
						
							| 68 | 57 67 | sylbir |  | 
						
							| 69 | 68 | 3ad2ant1 |  | 
						
							| 70 | 69 | adantr |  | 
						
							| 71 | 70 | sselda |  | 
						
							| 72 | 66 71 | ffvelcdmd |  | 
						
							| 73 | 72 | nncnd |  | 
						
							| 74 |  | fveq2 |  | 
						
							| 75 |  | simpr |  | 
						
							| 76 | 62 | adantr |  | 
						
							| 77 | 75 76 | ffvelcdmd |  | 
						
							| 78 | 77 | 3adant2 |  | 
						
							| 79 | 78 | adantr |  | 
						
							| 80 | 79 | nncnd |  | 
						
							| 81 | 54 55 56 64 65 73 74 80 | fprodsplitsn |  | 
						
							| 82 | 81 | oveq1d |  | 
						
							| 83 | 56 72 | fprodnncl |  | 
						
							| 84 | 83 | nnzd |  | 
						
							| 85 | 79 | nnzd |  | 
						
							| 86 | 84 85 | zmulcld |  | 
						
							| 87 | 48 | 3ad2ant2 |  | 
						
							| 88 | 87 | adantr |  | 
						
							| 89 | 86 88 | gcdcomd |  | 
						
							| 90 | 82 89 | eqtrd |  | 
						
							| 91 | 90 | ex |  | 
						
							| 92 | 91 | 3ad2ant1 |  | 
						
							| 93 | 92 | com12 |  | 
						
							| 94 | 93 | adantr |  | 
						
							| 95 | 94 | imp |  | 
						
							| 96 |  | simpl2 |  | 
						
							| 97 | 96 83 79 | 3jca |  | 
						
							| 98 | 97 | ex |  | 
						
							| 99 | 98 | 3ad2ant1 |  | 
						
							| 100 | 99 | com12 |  | 
						
							| 101 | 100 | adantr |  | 
						
							| 102 | 101 | imp |  | 
						
							| 103 | 88 84 | gcdcomd |  | 
						
							| 104 | 103 | ex |  | 
						
							| 105 | 104 | 3ad2ant1 |  | 
						
							| 106 | 105 | com12 |  | 
						
							| 107 | 106 | adantr |  | 
						
							| 108 | 107 | imp |  | 
						
							| 109 | 68 | a1i |  | 
						
							| 110 |  | idd |  | 
						
							| 111 |  | idd |  | 
						
							| 112 | 109 110 111 | 3anim123d |  | 
						
							| 113 |  | ssun1 |  | 
						
							| 114 |  | ssralv |  | 
						
							| 115 | 113 114 | mp1i |  | 
						
							| 116 |  | ssralv |  | 
						
							| 117 | 113 116 | mp1i |  | 
						
							| 118 | 113 | a1i |  | 
						
							| 119 | 118 | ssdifd |  | 
						
							| 120 |  | ssralv |  | 
						
							| 121 | 119 120 | syl |  | 
						
							| 122 | 121 | ralimdva |  | 
						
							| 123 | 117 122 | syld |  | 
						
							| 124 | 112 115 123 | 3anim123d |  | 
						
							| 125 | 124 | imim1d |  | 
						
							| 126 | 125 | imp31 |  | 
						
							| 127 | 108 126 | eqtrd |  | 
						
							| 128 |  | rpmulgcd |  | 
						
							| 129 | 102 127 128 | syl2anc |  | 
						
							| 130 |  | vsnid |  | 
						
							| 131 | 130 | olci |  | 
						
							| 132 |  | elun |  | 
						
							| 133 | 131 132 | mpbir |  | 
						
							| 134 | 74 | oveq1d |  | 
						
							| 135 | 134 | eqeq1d |  | 
						
							| 136 | 135 | rspcv |  | 
						
							| 137 | 133 136 | mp1i |  | 
						
							| 138 | 137 | imp |  | 
						
							| 139 | 78 | nnzd |  | 
						
							| 140 | 87 139 | gcdcomd |  | 
						
							| 141 | 140 | eqeq1d |  | 
						
							| 142 | 141 | adantr |  | 
						
							| 143 | 138 142 | mpbird |  | 
						
							| 144 | 143 | 3adant3 |  | 
						
							| 145 | 144 | adantl |  | 
						
							| 146 | 95 129 145 | 3eqtrd |  | 
						
							| 147 | 146 | exp31 |  | 
						
							| 148 | 11 22 33 44 53 147 | findcard2s |  | 
						
							| 149 | 148 | 3expd |  | 
						
							| 150 | 149 | 3expd |  | 
						
							| 151 | 150 | 3imp |  | 
						
							| 152 | 151 | 3imp |  |