![]() |
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 22632). 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 22624 or slesolinv 22626. 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 458 | . . 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 22635 | . . 3 ⊢ (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋))) → (𝑋 · 𝑍) = 𝑌)) |
9 | 1, 8 | syl3an1 1160 | . 2 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋))) → (𝑋 · 𝑍) = 𝑌)) |
10 | simpl1l 1221 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑅 ∈ CRing) | |
11 | simpl2 1189 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) | |
12 | simpl3 1190 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝐷‘𝑋) ∈ (Unit‘𝑅)) | |
13 | crngring 20197 | . . . . . . . 8 ⊢ (𝑅 ∈ CRing → 𝑅 ∈ Ring) | |
14 | 13 | anim1ci 614 | . . . . . . 7 ⊢ ((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) → (𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring)) |
15 | 14 | anim1i 613 | . . . . . 6 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉))) |
16 | 15 | 3adant3 1129 | . . . . 5 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉))) |
17 | 2, 3, 4, 6 | slesolvec 22625 | . . . . . 6 ⊢ (((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) → ((𝑋 · 𝑍) = 𝑌 → 𝑍 ∈ 𝑉)) |
18 | 17 | imp 405 | . . . . 5 ⊢ ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍 ∈ 𝑉) |
19 | 16, 18 | sylan 578 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍 ∈ 𝑉) |
20 | simpr 483 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝑋 · 𝑍) = 𝑌) | |
21 | 2, 3, 4, 5, 6, 7 | cramerlem1 22633 | . . . 4 ⊢ ((𝑅 ∈ CRing ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ ((𝐷‘𝑋) ∈ (Unit‘𝑅) ∧ 𝑍 ∈ 𝑉 ∧ (𝑋 · 𝑍) = 𝑌)) → 𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋)))) |
22 | 10, 11, 12, 19, 20, 21 | syl113anc 1379 | . . 3 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋)))) |
23 | 22 | ex 411 | . 2 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → ((𝑋 · 𝑍) = 𝑌 → 𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋))))) |
24 | 9, 23 | impbid 211 | 1 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋))) ↔ (𝑋 · 𝑍) = 𝑌)) |
Colors of variables: wff setvar class |
Syntax hints: → wi 4 ↔ wb 205 ∧ wa 394 ∧ w3a 1084 = wceq 1533 ∈ wcel 2098 ≠ wne 2929 ∅c0 4322 〈cop 4636 ↦ cmpt 5232 ‘cfv 6549 (class class class)co 7419 ↑m cmap 8845 Basecbs 17183 Ringcrg 20185 CRingccrg 20186 Unitcui 20306 /rcdvr 20351 Mat cmat 22351 maVecMul cmvmul 22486 matRepV cmatrepV 22503 maDet cmdat 22530 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1789 ax-4 1803 ax-5 1905 ax-6 1963 ax-7 2003 ax-8 2100 ax-9 2108 ax-10 2129 ax-11 2146 ax-12 2166 ax-ext 2696 ax-rep 5286 ax-sep 5300 ax-nul 5307 ax-pow 5365 ax-pr 5429 ax-un 7741 ax-cnex 11196 ax-resscn 11197 ax-1cn 11198 ax-icn 11199 ax-addcl 11200 ax-addrcl 11201 ax-mulcl 11202 ax-mulrcl 11203 ax-mulcom 11204 ax-addass 11205 ax-mulass 11206 ax-distr 11207 ax-i2m1 11208 ax-1ne0 11209 ax-1rid 11210 ax-rnegex 11211 ax-rrecex 11212 ax-cnre 11213 ax-pre-lttri 11214 ax-pre-lttrn 11215 ax-pre-ltadd 11216 ax-pre-mulgt0 11217 ax-addf 11219 ax-mulf 11220 |
This theorem depends on definitions: df-bi 206 df-an 395 df-or 846 df-3or 1085 df-3an 1086 df-xor 1505 df-tru 1536 df-fal 1546 df-ex 1774 df-nf 1778 df-sb 2060 df-mo 2528 df-eu 2557 df-clab 2703 df-cleq 2717 df-clel 2802 df-nfc 2877 df-ne 2930 df-nel 3036 df-ral 3051 df-rex 3060 df-rmo 3363 df-reu 3364 df-rab 3419 df-v 3463 df-sbc 3774 df-csb 3890 df-dif 3947 df-un 3949 df-in 3951 df-ss 3961 df-pss 3964 df-nul 4323 df-if 4531 df-pw 4606 df-sn 4631 df-pr 4633 df-tp 4635 df-op 4637 df-ot 4639 df-uni 4910 df-int 4951 df-iun 4999 df-iin 5000 df-br 5150 df-opab 5212 df-mpt 5233 df-tr 5267 df-id 5576 df-eprel 5582 df-po 5590 df-so 5591 df-fr 5633 df-se 5634 df-we 5635 df-xp 5684 df-rel 5685 df-cnv 5686 df-co 5687 df-dm 5688 df-rn 5689 df-res 5690 df-ima 5691 df-pred 6307 df-ord 6374 df-on 6375 df-lim 6376 df-suc 6377 df-iota 6501 df-fun 6551 df-fn 6552 df-f 6553 df-f1 6554 df-fo 6555 df-f1o 6556 df-fv 6557 df-isom 6558 df-riota 7375 df-ov 7422 df-oprab 7423 df-mpo 7424 df-of 7685 df-om 7872 df-1st 7994 df-2nd 7995 df-supp 8166 df-tpos 8232 df-frecs 8287 df-wrecs 8318 df-recs 8392 df-rdg 8431 df-1o 8487 df-2o 8488 df-er 8725 df-map 8847 df-pm 8848 df-ixp 8917 df-en 8965 df-dom 8966 df-sdom 8967 df-fin 8968 df-fsupp 9388 df-sup 9467 df-oi 9535 df-card 9964 df-pnf 11282 df-mnf 11283 df-xr 11284 df-ltxr 11285 df-le 11286 df-sub 11478 df-neg 11479 df-div 11904 df-nn 12246 df-2 12308 df-3 12309 df-4 12310 df-5 12311 df-6 12312 df-7 12313 df-8 12314 df-9 12315 df-n0 12506 df-xnn0 12578 df-z 12592 df-dec 12711 df-uz 12856 df-rp 13010 df-fz 13520 df-fzo 13663 df-seq 14003 df-exp 14063 df-hash 14326 df-word 14501 df-lsw 14549 df-concat 14557 df-s1 14582 df-substr 14627 df-pfx 14657 df-splice 14736 df-reverse 14745 df-s2 14835 df-struct 17119 df-sets 17136 df-slot 17154 df-ndx 17166 df-base 17184 df-ress 17213 df-plusg 17249 df-mulr 17250 df-starv 17251 df-sca 17252 df-vsca 17253 df-ip 17254 df-tset 17255 df-ple 17256 df-ds 17258 df-unif 17259 df-hom 17260 df-cco 17261 df-0g 17426 df-gsum 17427 df-prds 17432 df-pws 17434 df-mre 17569 df-mrc 17570 df-acs 17572 df-mgm 18603 df-sgrp 18682 df-mnd 18698 df-mhm 18743 df-submnd 18744 df-efmnd 18829 df-grp 18901 df-minusg 18902 df-sbg 18903 df-mulg 19032 df-subg 19086 df-ghm 19176 df-gim 19222 df-cntz 19280 df-oppg 19309 df-symg 19334 df-pmtr 19409 df-psgn 19458 df-evpm 19459 df-cmn 19749 df-abl 19750 df-mgp 20087 df-rng 20105 df-ur 20134 df-srg 20139 df-ring 20187 df-cring 20188 df-oppr 20285 df-dvdsr 20308 df-unit 20309 df-invr 20339 df-dvr 20352 df-rhm 20423 df-subrng 20495 df-subrg 20520 df-drng 20638 df-lmod 20757 df-lss 20828 df-sra 21070 df-rgmod 21071 df-cnfld 21297 df-zring 21390 df-zrh 21446 df-dsmm 21683 df-frlm 21698 df-assa 21804 df-mamu 22335 df-mat 22352 df-mvmul 22487 df-marrep 22504 df-marepv 22505 df-subma 22523 df-mdet 22531 df-madu 22580 df-minmar1 22581 |
This theorem is referenced by: (None) |
Copyright terms: Public domain | W3C validator |