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

Theorem cramer 22687
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 22682). 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 22674 or slesolinv 22676. 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 22685 . . 3 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷𝑋))) → (𝑋 · 𝑍) = 𝑌))
91, 8syl3an1 1164 . 2 (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷𝑋))) → (𝑋 · 𝑍) = 𝑌))
10 simpl1l 1225 . . . 4 ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑅 ∈ CRing)
11 simpl2 1193 . . . 4 ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝑋𝐵𝑌𝑉))
12 simpl3 1194 . . . 4 ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝐷𝑋) ∈ (Unit‘𝑅))
13 crngring 20238 . . . . . . . 8 (𝑅 ∈ CRing → 𝑅 ∈ Ring)
1413anim1ci 616 . . . . . . 7 ((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) → (𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring))
1514anim1i 615 . . . . . 6 (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)))
16153adant3 1133 . . . . 5 (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)))
172, 3, 4, 6slesolvec 22675 . . . . . 6 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)) → ((𝑋 · 𝑍) = 𝑌𝑍𝑉))
1817imp 406 . . . . 5 ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍𝑉)
1916, 18sylan 580 . . . 4 ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍𝑉)
20 simpr 484 . . . 4 ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝑋 · 𝑍) = 𝑌)
212, 3, 4, 5, 6, 7cramerlem1 22683 . . . 4 ((𝑅 ∈ CRing ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝐷𝑋) ∈ (Unit‘𝑅) ∧ 𝑍𝑉 ∧ (𝑋 · 𝑍) = 𝑌)) → 𝑍 = (𝑖𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷𝑋))))
2210, 11, 12, 19, 20, 21syl113anc 1384 . . 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 1087   = wceq 1540  wcel 2108  wne 2939  c0 4332  cop 4630  cmpt 5223  cfv 6559  (class class class)co 7429  m cmap 8862  Basecbs 17243  Ringcrg 20226  CRingccrg 20227  Unitcui 20347  /rcdvr 20392   Mat cmat 22401   maVecMul cmvmul 22536   matRepV cmatrepV 22553   maDet cmdat 22580
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2157  ax-12 2177  ax-ext 2707  ax-rep 5277  ax-sep 5294  ax-nul 5304  ax-pow 5363  ax-pr 5430  ax-un 7751  ax-cnex 11207  ax-resscn 11208  ax-1cn 11209  ax-icn 11210  ax-addcl 11211  ax-addrcl 11212  ax-mulcl 11213  ax-mulrcl 11214  ax-mulcom 11215  ax-addass 11216  ax-mulass 11217  ax-distr 11218  ax-i2m1 11219  ax-1ne0 11220  ax-1rid 11221  ax-rnegex 11222  ax-rrecex 11223  ax-cnre 11224  ax-pre-lttri 11225  ax-pre-lttrn 11226  ax-pre-ltadd 11227  ax-pre-mulgt0 11228  ax-addf 11230  ax-mulf 11231
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-xor 1512  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2065  df-mo 2539  df-eu 2568  df-clab 2714  df-cleq 2728  df-clel 2815  df-nfc 2891  df-ne 2940  df-nel 3046  df-ral 3061  df-rex 3070  df-rmo 3379  df-reu 3380  df-rab 3436  df-v 3481  df-sbc 3788  df-csb 3899  df-dif 3953  df-un 3955  df-in 3957  df-ss 3967  df-pss 3970  df-nul 4333  df-if 4525  df-pw 4600  df-sn 4625  df-pr 4627  df-tp 4629  df-op 4631  df-ot 4633  df-uni 4906  df-int 4945  df-iun 4991  df-iin 4992  df-br 5142  df-opab 5204  df-mpt 5224  df-tr 5258  df-id 5576  df-eprel 5582  df-po 5590  df-so 5591  df-fr 5635  df-se 5636  df-we 5637  df-xp 5689  df-rel 5690  df-cnv 5691  df-co 5692  df-dm 5693  df-rn 5694  df-res 5695  df-ima 5696  df-pred 6319  df-ord 6385  df-on 6386  df-lim 6387  df-suc 6388  df-iota 6512  df-fun 6561  df-fn 6562  df-f 6563  df-f1 6564  df-fo 6565  df-f1o 6566  df-fv 6567  df-isom 6568  df-riota 7386  df-ov 7432  df-oprab 7433  df-mpo 7434  df-of 7694  df-om 7884  df-1st 8010  df-2nd 8011  df-supp 8182  df-tpos 8247  df-frecs 8302  df-wrecs 8333  df-recs 8407  df-rdg 8446  df-1o 8502  df-2o 8503  df-er 8741  df-map 8864  df-pm 8865  df-ixp 8934  df-en 8982  df-dom 8983  df-sdom 8984  df-fin 8985  df-fsupp 9398  df-sup 9478  df-oi 9546  df-card 9975  df-pnf 11293  df-mnf 11294  df-xr 11295  df-ltxr 11296  df-le 11297  df-sub 11490  df-neg 11491  df-div 11917  df-nn 12263  df-2 12325  df-3 12326  df-4 12327  df-5 12328  df-6 12329  df-7 12330  df-8 12331  df-9 12332  df-n0 12523  df-xnn0 12596  df-z 12610  df-dec 12730  df-uz 12875  df-rp 13031  df-fz 13544  df-fzo 13691  df-seq 14039  df-exp 14099  df-hash 14366  df-word 14549  df-lsw 14597  df-concat 14605  df-s1 14630  df-substr 14675  df-pfx 14705  df-splice 14784  df-reverse 14793  df-s2 14883  df-struct 17180  df-sets 17197  df-slot 17215  df-ndx 17227  df-base 17244  df-ress 17271  df-plusg 17306  df-mulr 17307  df-starv 17308  df-sca 17309  df-vsca 17310  df-ip 17311  df-tset 17312  df-ple 17313  df-ds 17315  df-unif 17316  df-hom 17317  df-cco 17318  df-0g 17482  df-gsum 17483  df-prds 17488  df-pws 17490  df-mre 17625  df-mrc 17626  df-acs 17628  df-mgm 18649  df-sgrp 18728  df-mnd 18744  df-mhm 18792  df-submnd 18793  df-efmnd 18878  df-grp 18950  df-minusg 18951  df-sbg 18952  df-mulg 19082  df-subg 19137  df-ghm 19227  df-gim 19273  df-cntz 19331  df-oppg 19360  df-symg 19383  df-pmtr 19456  df-psgn 19505  df-evpm 19506  df-cmn 19796  df-abl 19797  df-mgp 20134  df-rng 20146  df-ur 20175  df-srg 20180  df-ring 20228  df-cring 20229  df-oppr 20326  df-dvdsr 20349  df-unit 20350  df-invr 20380  df-dvr 20393  df-rhm 20464  df-subrng 20538  df-subrg 20562  df-drng 20723  df-lmod 20852  df-lss 20922  df-sra 21164  df-rgmod 21165  df-cnfld 21357  df-zring 21450  df-zrh 21506  df-dsmm 21744  df-frlm 21759  df-assa 21865  df-mamu 22385  df-mat 22402  df-mvmul 22537  df-marrep 22554  df-marepv 22555  df-subma 22573  df-mdet 22581  df-madu 22630  df-minmar1 22631
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator