![]() |
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 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.) |
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 22708 | . . 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 20266 | . . . . . . . 8 ⊢ (𝑅 ∈ CRing → 𝑅 ∈ Ring) | |
14 | 13 | anim1ci 615 | . . . . . . 7 ⊢ ((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) → (𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring)) |
15 | 14 | anim1i 614 | . . . . . 6 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉))) |
16 | 15 | 3adant3 1132 | . . . . 5 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉))) |
17 | 2, 3, 4, 6 | slesolvec 22698 | . . . . . 6 ⊢ (((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) → ((𝑋 · 𝑍) = 𝑌 → 𝑍 ∈ 𝑉)) |
18 | 17 | imp 406 | . . . . 5 ⊢ ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍 ∈ 𝑉) |
19 | 16, 18 | sylan 579 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍 ∈ 𝑉) |
20 | simpr 484 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝑋 · 𝑍) = 𝑌) | |
21 | 2, 3, 4, 5, 6, 7 | cramerlem1 22706 | . . . 4 ⊢ ((𝑅 ∈ CRing ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ ((𝐷‘𝑋) ∈ (Unit‘𝑅) ∧ 𝑍 ∈ 𝑉 ∧ (𝑋 · 𝑍) = 𝑌)) → 𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋)))) |
22 | 10, 11, 12, 19, 20, 21 | syl113anc 1382 | . . 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 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 |