| Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
| Mirrors > Home > MPE Home > Th. List > cramer | Structured version Visualization version GIF version | ||
| 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.) |
| Ref | Expression |
|---|---|
| cramer.a | ⊢ 𝐴 = (𝑁 Mat 𝑅) |
| cramer.b | ⊢ 𝐵 = (Base‘𝐴) |
| cramer.v | ⊢ 𝑉 = ((Base‘𝑅) ↑m 𝑁) |
| cramer.d | ⊢ 𝐷 = (𝑁 maDet 𝑅) |
| cramer.x | ⊢ · = (𝑅 maVecMul 〈𝑁, 𝑁〉) |
| cramer.q | ⊢ / = (/r‘𝑅) |
| Ref | Expression |
|---|---|
| cramer | ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋))) ↔ (𝑋 · 𝑍) = 𝑌)) |
| Step | Hyp | Ref | 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‘𝑅) | |
| 8 | 2, 3, 4, 5, 6, 7 | cramerlem3 22614 | . . 3 ⊢ (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋))) → (𝑋 · 𝑍) = 𝑌)) |
| 9 | 1, 8 | syl3an1 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) | |
| 14 | 13 | anim1ci 616 | . . . . . . 7 ⊢ ((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) → (𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring)) |
| 15 | 14 | anim1i 615 | . . . . . 6 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉))) |
| 16 | 15 | 3adant3 1132 | . . . . 5 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉))) |
| 17 | 2, 3, 4, 6 | slesolvec 22604 | . . . . . 6 ⊢ (((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) → ((𝑋 · 𝑍) = 𝑌 → 𝑍 ∈ 𝑉)) |
| 18 | 17 | imp 406 | . . . . 5 ⊢ ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍 ∈ 𝑉) |
| 19 | 16, 18 | sylan 580 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍 ∈ 𝑉) |
| 20 | simpr 484 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝑋 · 𝑍) = 𝑌) | |
| 21 | 2, 3, 4, 5, 6, 7 | cramerlem1 22612 | . . . 4 ⊢ ((𝑅 ∈ CRing ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ ((𝐷‘𝑋) ∈ (Unit‘𝑅) ∧ 𝑍 ∈ 𝑉 ∧ (𝑋 · 𝑍) = 𝑌)) → 𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋)))) |
| 22 | 10, 11, 12, 19, 20, 21 | syl113anc 1383 | . . 3 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋)))) |
| 23 | 22 | ex 412 | . 2 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → ((𝑋 · 𝑍) = 𝑌 → 𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋))))) |
| 24 | 9, 23 | impbid 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 |