| Step | 
						Hyp | 
						Ref | 
						Expression | 
					
						
							| 1 | 
							
								
							 | 
							cramer.a | 
							 |-  A = ( N Mat R )  | 
						
						
							| 2 | 
							
								
							 | 
							cramer.b | 
							 |-  B = ( Base ` A )  | 
						
						
							| 3 | 
							
								
							 | 
							cramer.v | 
							 |-  V = ( ( Base ` R ) ^m N )  | 
						
						
							| 4 | 
							
								
							 | 
							cramer.d | 
							 |-  D = ( N maDet R )  | 
						
						
							| 5 | 
							
								
							 | 
							cramer.x | 
							 |-  .x. = ( R maVecMul <. N , N >. )  | 
						
						
							| 6 | 
							
								
							 | 
							cramer.q | 
							 |-  ./ = ( /r ` R )  | 
						
						
							| 7 | 
							
								1
							 | 
							fveq2i | 
							 |-  ( Base ` A ) = ( Base ` ( N Mat R ) )  | 
						
						
							| 8 | 
							
								2 7
							 | 
							eqtri | 
							 |-  B = ( Base ` ( N Mat R ) )  | 
						
						
							| 9 | 
							
								
							 | 
							fvoveq1 | 
							 |-  ( N = (/) -> ( Base ` ( N Mat R ) ) = ( Base ` ( (/) Mat R ) ) )  | 
						
						
							| 10 | 
							
								8 9
							 | 
							eqtrid | 
							 |-  ( N = (/) -> B = ( Base ` ( (/) Mat R ) ) )  | 
						
						
							| 11 | 
							
								10
							 | 
							adantr | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> B = ( Base ` ( (/) Mat R ) ) )  | 
						
						
							| 12 | 
							
								11
							 | 
							eleq2d | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> ( X e. B <-> X e. ( Base ` ( (/) Mat R ) ) ) )  | 
						
						
							| 13 | 
							
								
							 | 
							mat0dimbas0 | 
							 |-  ( R e. CRing -> ( Base ` ( (/) Mat R ) ) = { (/) } ) | 
						
						
							| 14 | 
							
								13
							 | 
							eleq2d | 
							 |-  ( R e. CRing -> ( X e. ( Base ` ( (/) Mat R ) ) <-> X e. { (/) } ) ) | 
						
						
							| 15 | 
							
								14
							 | 
							adantl | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> ( X e. ( Base ` ( (/) Mat R ) ) <-> X e. { (/) } ) ) | 
						
						
							| 16 | 
							
								12 15
							 | 
							bitrd | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> ( X e. B <-> X e. { (/) } ) ) | 
						
						
							| 17 | 
							
								3
							 | 
							a1i | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> V = ( ( Base ` R ) ^m N ) )  | 
						
						
							| 18 | 
							
								
							 | 
							oveq2 | 
							 |-  ( N = (/) -> ( ( Base ` R ) ^m N ) = ( ( Base ` R ) ^m (/) ) )  | 
						
						
							| 19 | 
							
								18
							 | 
							adantr | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> ( ( Base ` R ) ^m N ) = ( ( Base ` R ) ^m (/) ) )  | 
						
						
							| 20 | 
							
								
							 | 
							fvex | 
							 |-  ( Base ` R ) e. _V  | 
						
						
							| 21 | 
							
								
							 | 
							map0e | 
							 |-  ( ( Base ` R ) e. _V -> ( ( Base ` R ) ^m (/) ) = 1o )  | 
						
						
							| 22 | 
							
								20 21
							 | 
							mp1i | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> ( ( Base ` R ) ^m (/) ) = 1o )  | 
						
						
							| 23 | 
							
								17 19 22
							 | 
							3eqtrd | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> V = 1o )  | 
						
						
							| 24 | 
							
								23
							 | 
							eleq2d | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> ( Y e. V <-> Y e. 1o ) )  | 
						
						
							| 25 | 
							
								
							 | 
							el1o | 
							 |-  ( Y e. 1o <-> Y = (/) )  | 
						
						
							| 26 | 
							
								24 25
							 | 
							bitrdi | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> ( Y e. V <-> Y = (/) ) )  | 
						
						
							| 27 | 
							
								16 26
							 | 
							anbi12d | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> ( ( X e. B /\ Y e. V ) <-> ( X e. { (/) } /\ Y = (/) ) ) ) | 
						
						
							| 28 | 
							
								
							 | 
							elsni | 
							 |-  ( X e. { (/) } -> X = (/) ) | 
						
						
							| 29 | 
							
								
							 | 
							mpteq1 | 
							 |-  ( N = (/) -> ( i e. N |-> ( ( D ` ( ( X ( N matRepV R ) Y ) ` i ) ) ./ ( D ` X ) ) ) = ( i e. (/) |-> ( ( D ` ( ( X ( N matRepV R ) Y ) ` i ) ) ./ ( D ` X ) ) ) )  | 
						
						
							| 30 | 
							
								
							 | 
							mpt0 | 
							 |-  ( i e. (/) |-> ( ( D ` ( ( X ( N matRepV R ) Y ) ` i ) ) ./ ( D ` X ) ) ) = (/)  | 
						
						
							| 31 | 
							
								29 30
							 | 
							eqtrdi | 
							 |-  ( N = (/) -> ( i e. N |-> ( ( D ` ( ( X ( N matRepV R ) Y ) ` i ) ) ./ ( D ` X ) ) ) = (/) )  | 
						
						
							| 32 | 
							
								31
							 | 
							eqeq2d | 
							 |-  ( N = (/) -> ( Z = ( i e. N |-> ( ( D ` ( ( X ( N matRepV R ) Y ) ` i ) ) ./ ( D ` X ) ) ) <-> Z = (/) ) )  | 
						
						
							| 33 | 
							
								32
							 | 
							ad2antrr | 
							 |-  ( ( ( N = (/) /\ R e. CRing ) /\ ( X = (/) /\ Y = (/) ) ) -> ( Z = ( i e. N |-> ( ( D ` ( ( X ( N matRepV R ) Y ) ` i ) ) ./ ( D ` X ) ) ) <-> Z = (/) ) )  | 
						
						
							| 34 | 
							
								
							 | 
							simplrl | 
							 |-  ( ( ( ( N = (/) /\ R e. CRing ) /\ ( X = (/) /\ Y = (/) ) ) /\ Z = (/) ) -> X = (/) )  | 
						
						
							| 35 | 
							
								
							 | 
							simpr | 
							 |-  ( ( ( ( N = (/) /\ R e. CRing ) /\ ( X = (/) /\ Y = (/) ) ) /\ Z = (/) ) -> Z = (/) )  | 
						
						
							| 36 | 
							
								34 35
							 | 
							oveq12d | 
							 |-  ( ( ( ( N = (/) /\ R e. CRing ) /\ ( X = (/) /\ Y = (/) ) ) /\ Z = (/) ) -> ( X .x. Z ) = ( (/) .x. (/) ) )  | 
						
						
							| 37 | 
							
								5
							 | 
							mavmul0 | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> ( (/) .x. (/) ) = (/) )  | 
						
						
							| 38 | 
							
								37
							 | 
							ad2antrr | 
							 |-  ( ( ( ( N = (/) /\ R e. CRing ) /\ ( X = (/) /\ Y = (/) ) ) /\ Z = (/) ) -> ( (/) .x. (/) ) = (/) )  | 
						
						
							| 39 | 
							
								
							 | 
							simpr | 
							 |-  ( ( X = (/) /\ Y = (/) ) -> Y = (/) )  | 
						
						
							| 40 | 
							
								39
							 | 
							eqcomd | 
							 |-  ( ( X = (/) /\ Y = (/) ) -> (/) = Y )  | 
						
						
							| 41 | 
							
								40
							 | 
							ad2antlr | 
							 |-  ( ( ( ( N = (/) /\ R e. CRing ) /\ ( X = (/) /\ Y = (/) ) ) /\ Z = (/) ) -> (/) = Y )  | 
						
						
							| 42 | 
							
								36 38 41
							 | 
							3eqtrd | 
							 |-  ( ( ( ( N = (/) /\ R e. CRing ) /\ ( X = (/) /\ Y = (/) ) ) /\ Z = (/) ) -> ( X .x. Z ) = Y )  | 
						
						
							| 43 | 
							
								42
							 | 
							ex | 
							 |-  ( ( ( N = (/) /\ R e. CRing ) /\ ( X = (/) /\ Y = (/) ) ) -> ( Z = (/) -> ( X .x. Z ) = Y ) )  | 
						
						
							| 44 | 
							
								33 43
							 | 
							sylbid | 
							 |-  ( ( ( N = (/) /\ R e. CRing ) /\ ( X = (/) /\ Y = (/) ) ) -> ( Z = ( i e. N |-> ( ( D ` ( ( X ( N matRepV R ) Y ) ` i ) ) ./ ( D ` X ) ) ) -> ( X .x. Z ) = Y ) )  | 
						
						
							| 45 | 
							
								44
							 | 
							a1d | 
							 |-  ( ( ( N = (/) /\ R e. CRing ) /\ ( X = (/) /\ Y = (/) ) ) -> ( ( D ` X ) e. ( Unit ` R ) -> ( Z = ( i e. N |-> ( ( D ` ( ( X ( N matRepV R ) Y ) ` i ) ) ./ ( D ` X ) ) ) -> ( X .x. Z ) = Y ) ) )  | 
						
						
							| 46 | 
							
								45
							 | 
							ex | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> ( ( X = (/) /\ Y = (/) ) -> ( ( D ` X ) e. ( Unit ` R ) -> ( Z = ( i e. N |-> ( ( D ` ( ( X ( N matRepV R ) Y ) ` i ) ) ./ ( D ` X ) ) ) -> ( X .x. Z ) = Y ) ) ) )  | 
						
						
							| 47 | 
							
								28 46
							 | 
							sylani | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> ( ( X e. { (/) } /\ Y = (/) ) -> ( ( D ` X ) e. ( Unit ` R ) -> ( Z = ( i e. N |-> ( ( D ` ( ( X ( N matRepV R ) Y ) ` i ) ) ./ ( D ` X ) ) ) -> ( X .x. Z ) = Y ) ) ) ) | 
						
						
							| 48 | 
							
								27 47
							 | 
							sylbid | 
							 |-  ( ( N = (/) /\ R e. CRing ) -> ( ( X e. B /\ Y e. V ) -> ( ( D ` X ) e. ( Unit ` R ) -> ( Z = ( i e. N |-> ( ( D ` ( ( X ( N matRepV R ) Y ) ` i ) ) ./ ( D ` X ) ) ) -> ( X .x. Z ) = Y ) ) ) )  | 
						
						
							| 49 | 
							
								48
							 | 
							3imp | 
							 |-  ( ( ( N = (/) /\ R e. CRing ) /\ ( X e. B /\ Y e. V ) /\ ( D ` X ) e. ( Unit ` R ) ) -> ( Z = ( i e. N |-> ( ( D ` ( ( X ( N matRepV R ) Y ) ` i ) ) ./ ( D ` X ) ) ) -> ( X .x. Z ) = Y ) )  |