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

Theorem cramer 22710
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 22705). 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 22697 or slesolinv 22699. 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 22708 . . 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 20266 . . . . . . . 8 (𝑅 ∈ CRing → 𝑅 ∈ Ring)
1413anim1ci 615 . . . . . . 7 ((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) → (𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring))
1514anim1i 614 . . . . . 6 (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)))
16153adant3 1132 . . . . 5 (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)))
172, 3, 4, 6slesolvec 22698 . . . . . 6 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)) → ((𝑋 · 𝑍) = 𝑌𝑍𝑉))
1817imp 406 . . . . 5 ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍𝑉)
1916, 18sylan 579 . . . 4 ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍𝑉)
20 simpr 484 . . . 4 ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝑋 · 𝑍) = 𝑌)
212, 3, 4, 5, 6, 7cramerlem1 22706 . . . 4 ((𝑅 ∈ CRing ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝐷𝑋) ∈ (Unit‘𝑅) ∧ 𝑍𝑉 ∧ (𝑋 · 𝑍) = 𝑌)) → 𝑍 = (𝑖𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷𝑋))))
2210, 11, 12, 19, 20, 21syl113anc 1382 . . 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 1537  wcel 2108  wne 2946  c0 4352  cop 4654  cmpt 5249  cfv 6568  (class class class)co 7443  m cmap 8878  Basecbs 17252  Ringcrg 20254  CRingccrg 20255  Unitcui 20375  /rcdvr 20420   Mat cmat 22424   maVecMul cmvmul 22559   matRepV cmatrepV 22576   maDet cmdat 22603
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1793  ax-4 1807  ax-5 1909  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2158  ax-12 2178  ax-ext 2711  ax-rep 5303  ax-sep 5317  ax-nul 5324  ax-pow 5383  ax-pr 5447  ax-un 7764  ax-cnex 11234  ax-resscn 11235  ax-1cn 11236  ax-icn 11237  ax-addcl 11238  ax-addrcl 11239  ax-mulcl 11240  ax-mulrcl 11241  ax-mulcom 11242  ax-addass 11243  ax-mulass 11244  ax-distr 11245  ax-i2m1 11246  ax-1ne0 11247  ax-1rid 11248  ax-rnegex 11249  ax-rrecex 11250  ax-cnre 11251  ax-pre-lttri 11252  ax-pre-lttrn 11253  ax-pre-ltadd 11254  ax-pre-mulgt0 11255  ax-addf 11257  ax-mulf 11258
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 847  df-3or 1088  df-3an 1089  df-xor 1509  df-tru 1540  df-fal 1550  df-ex 1778  df-nf 1782  df-sb 2065  df-mo 2543  df-eu 2572  df-clab 2718  df-cleq 2732  df-clel 2819  df-nfc 2895  df-ne 2947  df-nel 3053  df-ral 3068  df-rex 3077  df-rmo 3388  df-reu 3389  df-rab 3444  df-v 3490  df-sbc 3805  df-csb 3922  df-dif 3979  df-un 3981  df-in 3983  df-ss 3993  df-pss 3996  df-nul 4353  df-if 4549  df-pw 4624  df-sn 4649  df-pr 4651  df-tp 4653  df-op 4655  df-ot 4657  df-uni 4932  df-int 4971  df-iun 5017  df-iin 5018  df-br 5167  df-opab 5229  df-mpt 5250  df-tr 5284  df-id 5593  df-eprel 5599  df-po 5607  df-so 5608  df-fr 5650  df-se 5651  df-we 5652  df-xp 5701  df-rel 5702  df-cnv 5703  df-co 5704  df-dm 5705  df-rn 5706  df-res 5707  df-ima 5708  df-pred 6327  df-ord 6393  df-on 6394  df-lim 6395  df-suc 6396  df-iota 6520  df-fun 6570  df-fn 6571  df-f 6572  df-f1 6573  df-fo 6574  df-f1o 6575  df-fv 6576  df-isom 6577  df-riota 7399  df-ov 7446  df-oprab 7447  df-mpo 7448  df-of 7708  df-om 7898  df-1st 8024  df-2nd 8025  df-supp 8196  df-tpos 8261  df-frecs 8316  df-wrecs 8347  df-recs 8421  df-rdg 8460  df-1o 8516  df-2o 8517  df-er 8757  df-map 8880  df-pm 8881  df-ixp 8950  df-en 8998  df-dom 8999  df-sdom 9000  df-fin 9001  df-fsupp 9426  df-sup 9505  df-oi 9573  df-card 10002  df-pnf 11320  df-mnf 11321  df-xr 11322  df-ltxr 11323  df-le 11324  df-sub 11516  df-neg 11517  df-div 11942  df-nn 12288  df-2 12350  df-3 12351  df-4 12352  df-5 12353  df-6 12354  df-7 12355  df-8 12356  df-9 12357  df-n0 12548  df-xnn0 12620  df-z 12634  df-dec 12753  df-uz 12898  df-rp 13052  df-fz 13562  df-fzo 13706  df-seq 14047  df-exp 14107  df-hash 14374  df-word 14557  df-lsw 14605  df-concat 14613  df-s1 14638  df-substr 14683  df-pfx 14713  df-splice 14792  df-reverse 14801  df-s2 14891  df-struct 17188  df-sets 17205  df-slot 17223  df-ndx 17235  df-base 17253  df-ress 17282  df-plusg 17318  df-mulr 17319  df-starv 17320  df-sca 17321  df-vsca 17322  df-ip 17323  df-tset 17324  df-ple 17325  df-ds 17327  df-unif 17328  df-hom 17329  df-cco 17330  df-0g 17495  df-gsum 17496  df-prds 17501  df-pws 17503  df-mre 17638  df-mrc 17639  df-acs 17641  df-mgm 18672  df-sgrp 18751  df-mnd 18767  df-mhm 18812  df-submnd 18813  df-efmnd 18898  df-grp 18970  df-minusg 18971  df-sbg 18972  df-mulg 19102  df-subg 19157  df-ghm 19247  df-gim 19293  df-cntz 19351  df-oppg 19380  df-symg 19405  df-pmtr 19478  df-psgn 19527  df-evpm 19528  df-cmn 19818  df-abl 19819  df-mgp 20156  df-rng 20174  df-ur 20203  df-srg 20208  df-ring 20256  df-cring 20257  df-oppr 20354  df-dvdsr 20377  df-unit 20378  df-invr 20408  df-dvr 20421  df-rhm 20492  df-subrng 20566  df-subrg 20591  df-drng 20747  df-lmod 20876  df-lss 20947  df-sra 21189  df-rgmod 21190  df-cnfld 21382  df-zring 21475  df-zrh 21531  df-dsmm 21769  df-frlm 21784  df-assa 21890  df-mamu 22408  df-mat 22425  df-mvmul 22560  df-marrep 22577  df-marepv 22578  df-subma 22596  df-mdet 22604  df-madu 22653  df-minmar1 22654
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator