| Step | Hyp | Ref | Expression | 
						
							| 1 |  | lmodvsmmulgdi.v |  | 
						
							| 2 |  | lmodvsmmulgdi.f |  | 
						
							| 3 |  | lmodvsmmulgdi.s |  | 
						
							| 4 |  | lmodvsmmulgdi.k |  | 
						
							| 5 |  | lmodvsmmulgdi.p |  | 
						
							| 6 |  | lmodvsmmulgdi.e |  | 
						
							| 7 |  | oveq1 |  | 
						
							| 8 |  | oveq1 |  | 
						
							| 9 | 8 | oveq1d |  | 
						
							| 10 | 7 9 | eqeq12d |  | 
						
							| 11 | 10 | imbi2d |  | 
						
							| 12 |  | oveq1 |  | 
						
							| 13 |  | oveq1 |  | 
						
							| 14 | 13 | oveq1d |  | 
						
							| 15 | 12 14 | eqeq12d |  | 
						
							| 16 | 15 | imbi2d |  | 
						
							| 17 |  | oveq1 |  | 
						
							| 18 |  | oveq1 |  | 
						
							| 19 | 18 | oveq1d |  | 
						
							| 20 | 17 19 | eqeq12d |  | 
						
							| 21 | 20 | imbi2d |  | 
						
							| 22 |  | oveq1 |  | 
						
							| 23 |  | oveq1 |  | 
						
							| 24 | 23 | oveq1d |  | 
						
							| 25 | 22 24 | eqeq12d |  | 
						
							| 26 | 25 | imbi2d |  | 
						
							| 27 |  | simpr |  | 
						
							| 28 |  | simpr |  | 
						
							| 29 | 28 | adantr |  | 
						
							| 30 |  | eqid |  | 
						
							| 31 |  | eqid |  | 
						
							| 32 | 1 2 3 30 31 | lmod0vs |  | 
						
							| 33 | 27 29 32 | syl2anc |  | 
						
							| 34 |  | simpl |  | 
						
							| 35 | 34 | adantr |  | 
						
							| 36 | 4 30 6 | mulg0 |  | 
						
							| 37 | 35 36 | syl |  | 
						
							| 38 | 37 | oveq1d |  | 
						
							| 39 | 1 2 3 4 | lmodvscl |  | 
						
							| 40 | 27 35 29 39 | syl3anc |  | 
						
							| 41 | 1 31 5 | mulg0 |  | 
						
							| 42 | 40 41 | syl |  | 
						
							| 43 | 33 38 42 | 3eqtr4rd |  | 
						
							| 44 |  | lmodgrp |  | 
						
							| 45 | 44 | grpmndd |  | 
						
							| 46 | 45 | ad2antll |  | 
						
							| 47 |  | simpl |  | 
						
							| 48 | 40 | adantl |  | 
						
							| 49 |  | eqid |  | 
						
							| 50 | 1 5 49 | mulgnn0p1 |  | 
						
							| 51 | 46 47 48 50 | syl3anc |  | 
						
							| 52 | 51 | adantr |  | 
						
							| 53 |  | oveq1 |  | 
						
							| 54 | 27 | adantl |  | 
						
							| 55 | 2 | lmodring |  | 
						
							| 56 |  | ringmnd |  | 
						
							| 57 | 55 56 | syl |  | 
						
							| 58 | 57 | ad2antll |  | 
						
							| 59 |  | simprll |  | 
						
							| 60 | 4 6 58 47 59 | mulgnn0cld |  | 
						
							| 61 | 29 | adantl |  | 
						
							| 62 |  | eqid |  | 
						
							| 63 | 1 49 2 3 4 62 | lmodvsdir |  | 
						
							| 64 | 54 60 59 61 63 | syl13anc |  | 
						
							| 65 | 4 6 62 | mulgnn0p1 |  | 
						
							| 66 | 58 47 59 65 | syl3anc |  | 
						
							| 67 | 66 | eqcomd |  | 
						
							| 68 | 67 | oveq1d |  | 
						
							| 69 | 64 68 | eqtr3d |  | 
						
							| 70 | 53 69 | sylan9eqr |  | 
						
							| 71 | 52 70 | eqtrd |  | 
						
							| 72 | 71 | exp31 |  | 
						
							| 73 | 72 | a2d |  | 
						
							| 74 | 11 16 21 26 43 73 | nn0ind |  | 
						
							| 75 | 74 | exp4c |  | 
						
							| 76 | 75 | 3imp21 |  | 
						
							| 77 | 76 | impcom |  |