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

Theorem cramer 22616
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 22611). 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 22603 or slesolinv 22605. For fields as underlying rings, this requirement is equivalent to 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 𝐴 = (𝑁 Mat 𝑅)
cramer.b 𝐵 = (Base‘𝐴)
cramer.v 𝑉 = ((Base‘𝑅) ↑m 𝑁)
cramer.d 𝐷 = (𝑁 maDet 𝑅)
cramer.x · = (𝑅 maVecMul ⟨𝑁, 𝑁⟩)
cramer.q / = (/r𝑅)
Assertion
Ref Expression
cramer (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷𝑋))) ↔ (𝑋 · 𝑍) = 𝑌))
Distinct variable groups:   𝐵,𝑖   𝐷,𝑖   𝑖,𝑁   𝑅,𝑖   𝑖,𝑉   𝑖,𝑋   𝑖,𝑌   𝑖,𝑍   · ,𝑖   / ,𝑖
Allowed substitution hint:   𝐴(𝑖)

Proof of Theorem cramer
StepHypRef Expression
1 pm3.22 459 . . 3 ((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) → (𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing))
2 cramer.a . . . 4 𝐴 = (𝑁 Mat 𝑅)
3 cramer.b . . . 4 𝐵 = (Base‘𝐴)
4 cramer.v . . . 4 𝑉 = ((Base‘𝑅) ↑m 𝑁)
5 cramer.d . . . 4 𝐷 = (𝑁 maDet 𝑅)
6 cramer.x . . . 4 · = (𝑅 maVecMul ⟨𝑁, 𝑁⟩)
7 cramer.q . . . 4 / = (/r𝑅)
82, 3, 4, 5, 6, 7cramerlem3 22614 . . 3 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷𝑋))) → (𝑋 · 𝑍) = 𝑌))
91, 8syl3an1 1163 . 2 (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷𝑋))) → (𝑋 · 𝑍) = 𝑌))
10 simpl1l 1224 . . . 4 ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑅 ∈ CRing)
11 simpl2 1192 . . . 4 ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝑋𝐵𝑌𝑉))
12 simpl3 1193 . . . 4 ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝐷𝑋) ∈ (Unit‘𝑅))
13 crngring 20192 . . . . . . . 8 (𝑅 ∈ CRing → 𝑅 ∈ Ring)
1413anim1ci 616 . . . . . . 7 ((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) → (𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring))
1514anim1i 615 . . . . . 6 (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)))
16153adant3 1132 . . . . 5 (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)))
172, 3, 4, 6slesolvec 22604 . . . . . 6 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)) → ((𝑋 · 𝑍) = 𝑌𝑍𝑉))
1817imp 406 . . . . 5 ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍𝑉)
1916, 18sylan 580 . . . 4 ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍𝑉)
20 simpr 484 . . . 4 ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝑋 · 𝑍) = 𝑌)
212, 3, 4, 5, 6, 7cramerlem1 22612 . . . 4 ((𝑅 ∈ CRing ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝐷𝑋) ∈ (Unit‘𝑅) ∧ 𝑍𝑉 ∧ (𝑋 · 𝑍) = 𝑌)) → 𝑍 = (𝑖𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷𝑋))))
2210, 11, 12, 19, 20, 21syl113anc 1383 . . 3 ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍 = (𝑖𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷𝑋))))
2322ex 412 . 2 (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → ((𝑋 · 𝑍) = 𝑌𝑍 = (𝑖𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷𝑋)))))
249, 23impbid 212 1 (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷𝑋))) ↔ (𝑋 · 𝑍) = 𝑌))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1086   = wceq 1539  wcel 2107  wne 2931  c0 4306  cop 4605  cmpt 5199  cfv 6528  (class class class)co 7400  m cmap 8835  Basecbs 17215  Ringcrg 20180  CRingccrg 20181  Unitcui 20302  /rcdvr 20347   Mat cmat 22332   maVecMul cmvmul 22465   matRepV cmatrepV 22482   maDet cmdat 22509
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1794  ax-4 1808  ax-5 1909  ax-6 1966  ax-7 2006  ax-8 2109  ax-9 2117  ax-10 2140  ax-11 2156  ax-12 2176  ax-ext 2706  ax-rep 5247  ax-sep 5264  ax-nul 5274  ax-pow 5333  ax-pr 5400  ax-un 7724  ax-cnex 11178  ax-resscn 11179  ax-1cn 11180  ax-icn 11181  ax-addcl 11182  ax-addrcl 11183  ax-mulcl 11184  ax-mulrcl 11185  ax-mulcom 11186  ax-addass 11187  ax-mulass 11188  ax-distr 11189  ax-i2m1 11190  ax-1ne0 11191  ax-1rid 11192  ax-rnegex 11193  ax-rrecex 11194  ax-cnre 11195  ax-pre-lttri 11196  ax-pre-lttrn 11197  ax-pre-ltadd 11198  ax-pre-mulgt0 11199  ax-addf 11201  ax-mulf 11202
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-xor 1511  df-tru 1542  df-fal 1552  df-ex 1779  df-nf 1783  df-sb 2064  df-mo 2538  df-eu 2567  df-clab 2713  df-cleq 2726  df-clel 2808  df-nfc 2884  df-ne 2932  df-nel 3036  df-ral 3051  df-rex 3060  df-rmo 3357  df-reu 3358  df-rab 3414  df-v 3459  df-sbc 3764  df-csb 3873  df-dif 3927  df-un 3929  df-in 3931  df-ss 3941  df-pss 3944  df-nul 4307  df-if 4499  df-pw 4575  df-sn 4600  df-pr 4602  df-tp 4604  df-op 4606  df-ot 4608  df-uni 4882  df-int 4921  df-iun 4967  df-iin 4968  df-br 5118  df-opab 5180  df-mpt 5200  df-tr 5228  df-id 5546  df-eprel 5551  df-po 5559  df-so 5560  df-fr 5604  df-se 5605  df-we 5606  df-xp 5658  df-rel 5659  df-cnv 5660  df-co 5661  df-dm 5662  df-rn 5663  df-res 5664  df-ima 5665  df-pred 6288  df-ord 6353  df-on 6354  df-lim 6355  df-suc 6356  df-iota 6481  df-fun 6530  df-fn 6531  df-f 6532  df-f1 6533  df-fo 6534  df-f1o 6535  df-fv 6536  df-isom 6537  df-riota 7357  df-ov 7403  df-oprab 7404  df-mpo 7405  df-of 7666  df-om 7857  df-1st 7983  df-2nd 7984  df-supp 8155  df-tpos 8220  df-frecs 8275  df-wrecs 8306  df-recs 8380  df-rdg 8419  df-1o 8475  df-2o 8476  df-er 8714  df-map 8837  df-pm 8838  df-ixp 8907  df-en 8955  df-dom 8956  df-sdom 8957  df-fin 8958  df-fsupp 9369  df-sup 9449  df-oi 9517  df-card 9946  df-pnf 11264  df-mnf 11265  df-xr 11266  df-ltxr 11267  df-le 11268  df-sub 11461  df-neg 11462  df-div 11888  df-nn 12234  df-2 12296  df-3 12297  df-4 12298  df-5 12299  df-6 12300  df-7 12301  df-8 12302  df-9 12303  df-n0 12495  df-xnn0 12568  df-z 12582  df-dec 12702  df-uz 12846  df-rp 13002  df-fz 13515  df-fzo 13662  df-seq 14010  df-exp 14070  df-hash 14339  df-word 14522  df-lsw 14570  df-concat 14578  df-s1 14603  df-substr 14648  df-pfx 14678  df-splice 14757  df-reverse 14766  df-s2 14856  df-struct 17153  df-sets 17170  df-slot 17188  df-ndx 17200  df-base 17216  df-ress 17239  df-plusg 17271  df-mulr 17272  df-starv 17273  df-sca 17274  df-vsca 17275  df-ip 17276  df-tset 17277  df-ple 17278  df-ds 17280  df-unif 17281  df-hom 17282  df-cco 17283  df-0g 17442  df-gsum 17443  df-prds 17448  df-pws 17450  df-mre 17585  df-mrc 17586  df-acs 17588  df-mgm 18605  df-sgrp 18684  df-mnd 18700  df-mhm 18748  df-submnd 18749  df-efmnd 18834  df-grp 18906  df-minusg 18907  df-sbg 18908  df-mulg 19038  df-subg 19093  df-ghm 19183  df-gim 19229  df-cntz 19287  df-oppg 19316  df-symg 19338  df-pmtr 19410  df-psgn 19459  df-evpm 19460  df-cmn 19750  df-abl 19751  df-mgp 20088  df-rng 20100  df-ur 20129  df-srg 20134  df-ring 20182  df-cring 20183  df-oppr 20284  df-dvdsr 20304  df-unit 20305  df-invr 20335  df-dvr 20348  df-rhm 20419  df-subrng 20493  df-subrg 20517  df-drng 20678  df-lmod 20806  df-lss 20876  df-sra 21118  df-rgmod 21119  df-cnfld 21303  df-zring 21395  df-zrh 21451  df-dsmm 21679  df-frlm 21694  df-assa 21800  df-mamu 22316  df-mat 22333  df-mvmul 22466  df-marrep 22483  df-marepv 22484  df-subma 22502  df-mdet 22510  df-madu 22559  df-minmar1 22560
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator