MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  cramer Structured version   Visualization version   Unicode version

Theorem cramer 20497
Description: Cramer's rule. According to Wikipedia "Cramer's rule", 21-Feb-2019, https://en.wikipedia.org/wiki/Cramer%27s_rule: "[Cramer's rule] ... expresses the [unique] solution [of a system of linear equations] in terms of the determinants of the (square) coefficient matrix and of matrices obtained from it by replacing one column by the column vector of right-hand sides of the equations." If it is assumed that a (unique) solution exists, it can be obtained by Cramer's rule (see also cramerimp 20492). On the other hand, if a vector can be constructed by Cramer's rule, it is a solution of the system of linear equations, so at least one solution exists. The uniqueness is ensured by considering only systems of linear equations whose matrix has a unit (of the underlying ring) as determinant, see matunit 20484 or slesolinv 20486. For fields as underlying rings, this requirement is equivalent with the determinant not being 0. Theorem 4.4 in [Lang] p. 513. This is Metamath 100 proof #97. (Contributed by Alexander van der Vekens, 21-Feb-2019.) (Revised by Alexander van der Vekens, 1-Mar-2019.)
Hypotheses
Ref Expression
cramer.a  |-  A  =  ( N Mat  R )
cramer.b  |-  B  =  ( Base `  A
)
cramer.v  |-  V  =  ( ( Base `  R
)  ^m  N )
cramer.d  |-  D  =  ( N maDet  R )
cramer.x  |-  .x.  =  ( R maVecMul  <. N ,  N >. )
cramer.q  |-  ./  =  (/r
`  R )
Assertion
Ref Expression
cramer  |-  ( ( ( R  e.  CRing  /\  N  =/=  (/) )  /\  ( 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 ) )
Distinct variable groups:    B, i    D, i    i, N    R, i    i, V    i, X    i, Y    i, Z    .x. , i    ./ , i
Allowed substitution hint:    A( i)

Proof of Theorem cramer
StepHypRef Expression
1 pm3.22 465 . . 3  |-  ( ( R  e.  CRing  /\  N  =/=  (/) )  ->  ( N  =/=  (/)  /\  R  e. 
CRing ) )
2 cramer.a . . . 4  |-  A  =  ( N Mat  R )
3 cramer.b . . . 4  |-  B  =  ( Base `  A
)
4 cramer.v . . . 4  |-  V  =  ( ( Base `  R
)  ^m  N )
5 cramer.d . . . 4  |-  D  =  ( N maDet  R )
6 cramer.x . . . 4  |-  .x.  =  ( R maVecMul  <. N ,  N >. )
7 cramer.q . . . 4  |-  ./  =  (/r
`  R )
82, 3, 4, 5, 6, 7cramerlem3 20495 . . 3  |-  ( ( ( 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 ) )
91, 8syl3an1 1359 . 2  |-  ( ( ( R  e.  CRing  /\  N  =/=  (/) )  /\  ( 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 ) )
10 simpl1l 1112 . . . 4  |-  ( ( ( ( R  e. 
CRing  /\  N  =/=  (/) )  /\  ( X  e.  B  /\  Y  e.  V
)  /\  ( D `  X )  e.  (Unit `  R ) )  /\  ( X  .x.  Z )  =  Y )  ->  R  e.  CRing )
11 simpl2 1065 . . . 4  |-  ( ( ( ( R  e. 
CRing  /\  N  =/=  (/) )  /\  ( X  e.  B  /\  Y  e.  V
)  /\  ( D `  X )  e.  (Unit `  R ) )  /\  ( X  .x.  Z )  =  Y )  -> 
( X  e.  B  /\  Y  e.  V
) )
12 simpl3 1066 . . . 4  |-  ( ( ( ( R  e. 
CRing  /\  N  =/=  (/) )  /\  ( X  e.  B  /\  Y  e.  V
)  /\  ( D `  X )  e.  (Unit `  R ) )  /\  ( X  .x.  Z )  =  Y )  -> 
( D `  X
)  e.  (Unit `  R ) )
13 crngring 18558 . . . . . . . . 9  |-  ( R  e.  CRing  ->  R  e.  Ring )
1413anim1i 592 . . . . . . . 8  |-  ( ( R  e.  CRing  /\  N  =/=  (/) )  ->  ( R  e.  Ring  /\  N  =/=  (/) ) )
1514ancomd 467 . . . . . . 7  |-  ( ( R  e.  CRing  /\  N  =/=  (/) )  ->  ( N  =/=  (/)  /\  R  e. 
Ring ) )
1615anim1i 592 . . . . . 6  |-  ( ( ( R  e.  CRing  /\  N  =/=  (/) )  /\  ( X  e.  B  /\  Y  e.  V
) )  ->  (
( N  =/=  (/)  /\  R  e.  Ring )  /\  ( X  e.  B  /\  Y  e.  V )
) )
17163adant3 1081 . . . . 5  |-  ( ( ( R  e.  CRing  /\  N  =/=  (/) )  /\  ( X  e.  B  /\  Y  e.  V
)  /\  ( D `  X )  e.  (Unit `  R ) )  -> 
( ( N  =/=  (/)  /\  R  e.  Ring )  /\  ( X  e.  B  /\  Y  e.  V ) ) )
182, 3, 4, 6slesolvec 20485 . . . . . 6  |-  ( ( ( N  =/=  (/)  /\  R  e.  Ring )  /\  ( X  e.  B  /\  Y  e.  V )
)  ->  ( ( X  .x.  Z )  =  Y  ->  Z  e.  V ) )
1918imp 445 . . . . 5  |-  ( ( ( ( N  =/=  (/)  /\  R  e.  Ring )  /\  ( X  e.  B  /\  Y  e.  V ) )  /\  ( X  .x.  Z )  =  Y )  ->  Z  e.  V )
2017, 19sylan 488 . . . 4  |-  ( ( ( ( R  e. 
CRing  /\  N  =/=  (/) )  /\  ( X  e.  B  /\  Y  e.  V
)  /\  ( D `  X )  e.  (Unit `  R ) )  /\  ( X  .x.  Z )  =  Y )  ->  Z  e.  V )
21 simpr 477 . . . 4  |-  ( ( ( ( R  e. 
CRing  /\  N  =/=  (/) )  /\  ( X  e.  B  /\  Y  e.  V
)  /\  ( D `  X )  e.  (Unit `  R ) )  /\  ( X  .x.  Z )  =  Y )  -> 
( X  .x.  Z
)  =  Y )
222, 3, 4, 5, 6, 7cramerlem1 20493 . . . 4  |-  ( ( R  e.  CRing  /\  ( X  e.  B  /\  Y  e.  V )  /\  ( ( D `  X )  e.  (Unit `  R )  /\  Z  e.  V  /\  ( X  .x.  Z )  =  Y ) )  ->  Z  =  ( i  e.  N  |->  ( ( D `  ( ( X ( N matRepV  R
) Y ) `  i ) )  ./  ( D `  X ) ) ) )
2310, 11, 12, 20, 21, 22syl113anc 1338 . . 3  |-  ( ( ( ( R  e. 
CRing  /\  N  =/=  (/) )  /\  ( X  e.  B  /\  Y  e.  V
)  /\  ( D `  X )  e.  (Unit `  R ) )  /\  ( X  .x.  Z )  =  Y )  ->  Z  =  ( i  e.  N  |->  ( ( D `  ( ( X ( N matRepV  R
) Y ) `  i ) )  ./  ( D `  X ) ) ) )
2423ex 450 . 2  |-  ( ( ( R  e.  CRing  /\  N  =/=  (/) )  /\  ( X  e.  B  /\  Y  e.  V
)  /\  ( D `  X )  e.  (Unit `  R ) )  -> 
( ( X  .x.  Z )  =  Y  ->  Z  =  ( i  e.  N  |->  ( ( D `  (
( X ( N matRepV  R ) Y ) `
 i ) ) 
./  ( D `  X ) ) ) ) )
259, 24impbid 202 1  |-  ( ( ( R  e.  CRing  /\  N  =/=  (/) )  /\  ( 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 ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 196    /\ wa 384    /\ w3a 1037    = wceq 1483    e. wcel 1990    =/= wne 2794   (/)c0 3915   <.cop 4183    |-> cmpt 4729   ` cfv 5888  (class class class)co 6650    ^m cmap 7857   Basecbs 15857   Ringcrg 18547   CRingccrg 18548  Unitcui 18639  /rcdvr 18682   Mat cmat 20213   maVecMul cmvmul 20346   matRepV cmatrepV 20363   maDet cmdat 20390
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-rep 4771  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949  ax-inf2 8538  ax-cnex 9992  ax-resscn 9993  ax-1cn 9994  ax-icn 9995  ax-addcl 9996  ax-addrcl 9997  ax-mulcl 9998  ax-mulrcl 9999  ax-mulcom 10000  ax-addass 10001  ax-mulass 10002  ax-distr 10003  ax-i2m1 10004  ax-1ne0 10005  ax-1rid 10006  ax-rnegex 10007  ax-rrecex 10008  ax-cnre 10009  ax-pre-lttri 10010  ax-pre-lttrn 10011  ax-pre-ltadd 10012  ax-pre-mulgt0 10013  ax-addf 10015  ax-mulf 10016
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-xor 1465  df-tru 1486  df-fal 1489  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-nel 2898  df-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-pss 3590  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-tp 4182  df-op 4184  df-ot 4186  df-uni 4437  df-int 4476  df-iun 4522  df-iin 4523  df-br 4654  df-opab 4713  df-mpt 4730  df-tr 4753  df-id 5024  df-eprel 5029  df-po 5035  df-so 5036  df-fr 5073  df-se 5074  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-pred 5680  df-ord 5726  df-on 5727  df-lim 5728  df-suc 5729  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-isom 5897  df-riota 6611  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-of 6897  df-om 7066  df-1st 7168  df-2nd 7169  df-supp 7296  df-tpos 7352  df-wrecs 7407  df-recs 7468  df-rdg 7506  df-1o 7560  df-2o 7561  df-oadd 7564  df-er 7742  df-map 7859  df-pm 7860  df-ixp 7909  df-en 7956  df-dom 7957  df-sdom 7958  df-fin 7959  df-fsupp 8276  df-sup 8348  df-oi 8415  df-card 8765  df-pnf 10076  df-mnf 10077  df-xr 10078  df-ltxr 10079  df-le 10080  df-sub 10268  df-neg 10269  df-div 10685  df-nn 11021  df-2 11079  df-3 11080  df-4 11081  df-5 11082  df-6 11083  df-7 11084  df-8 11085  df-9 11086  df-n0 11293  df-xnn0 11364  df-z 11378  df-dec 11494  df-uz 11688  df-rp 11833  df-fz 12327  df-fzo 12466  df-seq 12802  df-exp 12861  df-hash 13118  df-word 13299  df-lsw 13300  df-concat 13301  df-s1 13302  df-substr 13303  df-splice 13304  df-reverse 13305  df-s2 13593  df-struct 15859  df-ndx 15860  df-slot 15861  df-base 15863  df-sets 15864  df-ress 15865  df-plusg 15954  df-mulr 15955  df-starv 15956  df-sca 15957  df-vsca 15958  df-ip 15959  df-tset 15960  df-ple 15961  df-ds 15964  df-unif 15965  df-hom 15966  df-cco 15967  df-0g 16102  df-gsum 16103  df-prds 16108  df-pws 16110  df-mre 16246  df-mrc 16247  df-acs 16249  df-mgm 17242  df-sgrp 17284  df-mnd 17295  df-mhm 17335  df-submnd 17336  df-grp 17425  df-minusg 17426  df-sbg 17427  df-mulg 17541  df-subg 17591  df-ghm 17658  df-gim 17701  df-cntz 17750  df-oppg 17776  df-symg 17798  df-pmtr 17862  df-psgn 17911  df-evpm 17912  df-cmn 18195  df-abl 18196  df-mgp 18490  df-ur 18502  df-srg 18506  df-ring 18549  df-cring 18550  df-oppr 18623  df-dvdsr 18641  df-unit 18642  df-invr 18672  df-dvr 18683  df-rnghom 18715  df-drng 18749  df-subrg 18778  df-lmod 18865  df-lss 18933  df-sra 19172  df-rgmod 19173  df-assa 19312  df-cnfld 19747  df-zring 19819  df-zrh 19852  df-dsmm 20076  df-frlm 20091  df-mamu 20190  df-mat 20214  df-mvmul 20347  df-marrep 20364  df-marepv 20365  df-subma 20383  df-mdet 20391  df-madu 20440  df-minmar1 20441
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator