| 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 ) ) |