| Step | Hyp | Ref | Expression | 
						
							| 1 |  | lnrfg.s |  |-  S = ( Scalar ` M ) | 
						
							| 2 |  | eqid |  |-  ( S freeLMod a ) = ( S freeLMod a ) | 
						
							| 3 |  | eqid |  |-  ( Base ` ( S freeLMod a ) ) = ( Base ` ( S freeLMod a ) ) | 
						
							| 4 |  | eqid |  |-  ( Base ` M ) = ( Base ` M ) | 
						
							| 5 |  | eqid |  |-  ( .s ` M ) = ( .s ` M ) | 
						
							| 6 |  | eqid |  |-  ( b e. ( Base ` ( S freeLMod a ) ) |-> ( M gsum ( b oF ( .s ` M ) ( _I |` a ) ) ) ) = ( b e. ( Base ` ( S freeLMod a ) ) |-> ( M gsum ( b oF ( .s ` M ) ( _I |` a ) ) ) ) | 
						
							| 7 |  | fglmod |  |-  ( M e. LFinGen -> M e. LMod ) | 
						
							| 8 | 7 | ad3antrrr |  |-  ( ( ( ( M e. LFinGen /\ S e. LNoeR ) /\ a e. ~P ( Base ` M ) ) /\ ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) -> M e. LMod ) | 
						
							| 9 |  | vex |  |-  a e. _V | 
						
							| 10 | 9 | a1i |  |-  ( ( ( ( M e. LFinGen /\ S e. LNoeR ) /\ a e. ~P ( Base ` M ) ) /\ ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) -> a e. _V ) | 
						
							| 11 | 1 | a1i |  |-  ( ( ( ( M e. LFinGen /\ S e. LNoeR ) /\ a e. ~P ( Base ` M ) ) /\ ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) -> S = ( Scalar ` M ) ) | 
						
							| 12 |  | f1oi |  |-  ( _I |` a ) : a -1-1-onto-> a | 
						
							| 13 |  | f1of |  |-  ( ( _I |` a ) : a -1-1-onto-> a -> ( _I |` a ) : a --> a ) | 
						
							| 14 | 12 13 | ax-mp |  |-  ( _I |` a ) : a --> a | 
						
							| 15 |  | elpwi |  |-  ( a e. ~P ( Base ` M ) -> a C_ ( Base ` M ) ) | 
						
							| 16 |  | fss |  |-  ( ( ( _I |` a ) : a --> a /\ a C_ ( Base ` M ) ) -> ( _I |` a ) : a --> ( Base ` M ) ) | 
						
							| 17 | 14 15 16 | sylancr |  |-  ( a e. ~P ( Base ` M ) -> ( _I |` a ) : a --> ( Base ` M ) ) | 
						
							| 18 | 17 | ad2antlr |  |-  ( ( ( ( M e. LFinGen /\ S e. LNoeR ) /\ a e. ~P ( Base ` M ) ) /\ ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) -> ( _I |` a ) : a --> ( Base ` M ) ) | 
						
							| 19 | 2 3 4 5 6 8 10 11 18 | frlmup1 |  |-  ( ( ( ( M e. LFinGen /\ S e. LNoeR ) /\ a e. ~P ( Base ` M ) ) /\ ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) -> ( b e. ( Base ` ( S freeLMod a ) ) |-> ( M gsum ( b oF ( .s ` M ) ( _I |` a ) ) ) ) e. ( ( S freeLMod a ) LMHom M ) ) | 
						
							| 20 |  | simpllr |  |-  ( ( ( ( M e. LFinGen /\ S e. LNoeR ) /\ a e. ~P ( Base ` M ) ) /\ ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) -> S e. LNoeR ) | 
						
							| 21 |  | simprl |  |-  ( ( ( ( M e. LFinGen /\ S e. LNoeR ) /\ a e. ~P ( Base ` M ) ) /\ ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) -> a e. Fin ) | 
						
							| 22 | 2 | lnrfrlm |  |-  ( ( S e. LNoeR /\ a e. Fin ) -> ( S freeLMod a ) e. LNoeM ) | 
						
							| 23 | 20 21 22 | syl2anc |  |-  ( ( ( ( M e. LFinGen /\ S e. LNoeR ) /\ a e. ~P ( Base ` M ) ) /\ ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) -> ( S freeLMod a ) e. LNoeM ) | 
						
							| 24 |  | eqid |  |-  ( LSpan ` M ) = ( LSpan ` M ) | 
						
							| 25 | 2 3 4 5 6 8 10 11 18 24 | frlmup3 |  |-  ( ( ( ( M e. LFinGen /\ S e. LNoeR ) /\ a e. ~P ( Base ` M ) ) /\ ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) -> ran ( b e. ( Base ` ( S freeLMod a ) ) |-> ( M gsum ( b oF ( .s ` M ) ( _I |` a ) ) ) ) = ( ( LSpan ` M ) ` ran ( _I |` a ) ) ) | 
						
							| 26 |  | rnresi |  |-  ran ( _I |` a ) = a | 
						
							| 27 | 26 | fveq2i |  |-  ( ( LSpan ` M ) ` ran ( _I |` a ) ) = ( ( LSpan ` M ) ` a ) | 
						
							| 28 |  | simprr |  |-  ( ( ( ( M e. LFinGen /\ S e. LNoeR ) /\ a e. ~P ( Base ` M ) ) /\ ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) -> ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) | 
						
							| 29 | 27 28 | eqtrid |  |-  ( ( ( ( M e. LFinGen /\ S e. LNoeR ) /\ a e. ~P ( Base ` M ) ) /\ ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) -> ( ( LSpan ` M ) ` ran ( _I |` a ) ) = ( Base ` M ) ) | 
						
							| 30 | 25 29 | eqtrd |  |-  ( ( ( ( M e. LFinGen /\ S e. LNoeR ) /\ a e. ~P ( Base ` M ) ) /\ ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) -> ran ( b e. ( Base ` ( S freeLMod a ) ) |-> ( M gsum ( b oF ( .s ` M ) ( _I |` a ) ) ) ) = ( Base ` M ) ) | 
						
							| 31 | 4 | lnmepi |  |-  ( ( ( b e. ( Base ` ( S freeLMod a ) ) |-> ( M gsum ( b oF ( .s ` M ) ( _I |` a ) ) ) ) e. ( ( S freeLMod a ) LMHom M ) /\ ( S freeLMod a ) e. LNoeM /\ ran ( b e. ( Base ` ( S freeLMod a ) ) |-> ( M gsum ( b oF ( .s ` M ) ( _I |` a ) ) ) ) = ( Base ` M ) ) -> M e. LNoeM ) | 
						
							| 32 | 19 23 30 31 | syl3anc |  |-  ( ( ( ( M e. LFinGen /\ S e. LNoeR ) /\ a e. ~P ( Base ` M ) ) /\ ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) -> M e. LNoeM ) | 
						
							| 33 | 4 24 | islmodfg |  |-  ( M e. LMod -> ( M e. LFinGen <-> E. a e. ~P ( Base ` M ) ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) ) | 
						
							| 34 | 7 33 | syl |  |-  ( M e. LFinGen -> ( M e. LFinGen <-> E. a e. ~P ( Base ` M ) ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) ) | 
						
							| 35 | 34 | ibi |  |-  ( M e. LFinGen -> E. a e. ~P ( Base ` M ) ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) | 
						
							| 36 | 35 | adantr |  |-  ( ( M e. LFinGen /\ S e. LNoeR ) -> E. a e. ~P ( Base ` M ) ( a e. Fin /\ ( ( LSpan ` M ) ` a ) = ( Base ` M ) ) ) | 
						
							| 37 | 32 36 | r19.29a |  |-  ( ( M e. LFinGen /\ S e. LNoeR ) -> M e. LNoeM ) |