| 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 22824). 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 22816 or slesolinv 22818. 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 464 | . . 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 22827 | . . 3 ⊢ (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋))) → (𝑋 · 𝑍) = 𝑌)) |
| 9 | 1, 8 | syl3an1 1181 | . 2 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋))) → (𝑋 · 𝑍) = 𝑌)) |
| 10 | simpl1l 1243 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑅 ∈ CRing) | |
| 11 | simpl2 1211 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) | |
| 12 | simpl3 1212 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝐷‘𝑋) ∈ (Unit‘𝑅)) | |
| 13 | crngring 20328 | . . . . . . . 8 ⊢ (𝑅 ∈ CRing → 𝑅 ∈ Ring) | |
| 14 | 13 | anim1ci 627 | . . . . . . 7 ⊢ ((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) → (𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring)) |
| 15 | 14 | anim1i 626 | . . . . . 6 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉))) |
| 16 | 15 | 3adant3 1150 | . . . . 5 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉))) |
| 17 | 2, 3, 4, 6 | slesolvec 22817 | . . . . . 6 ⊢ (((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) → ((𝑋 · 𝑍) = 𝑌 → 𝑍 ∈ 𝑉)) |
| 18 | 17 | imp 411 | . . . . 5 ⊢ ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍 ∈ 𝑉) |
| 19 | 16, 18 | sylan 591 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍 ∈ 𝑉) |
| 20 | simpr 489 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝑋 · 𝑍) = 𝑌) | |
| 21 | 2, 3, 4, 5, 6, 7 | cramerlem1 22825 | . . . 4 ⊢ ((𝑅 ∈ CRing ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ ((𝐷‘𝑋) ∈ (Unit‘𝑅) ∧ 𝑍 ∈ 𝑉 ∧ (𝑋 · 𝑍) = 𝑌)) → 𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋)))) |
| 22 | 10, 11, 12, 19, 20, 21 | syl113anc 1409 | . . 3 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋)))) |
| 23 | 22 | ex 417 | . 2 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → ((𝑋 · 𝑍) = 𝑌 → 𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋))))) |
| 24 | 9, 23 | impbid 215 | 1 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋))) ↔ (𝑋 · 𝑍) = 𝑌)) |
| Colors of variables: wff setvar class |
| Syntax hints: → wi 4 ↔ wb 209 ∧ wa 400 ∧ w3a 1103 = wceq 1570 ∈ wcel 2143 ≠ wne 2958 ∅c0 4287 〈cop 4596 ↦ cmpt 5193 ‘cfv 6538 (class class class)co 7412 ↑m cmap 8825 Basecbs 17270 Ringcrg 20316 CRingccrg 20317 Unitcui 20438 /rcdvr 20483 Mat cmat 22545 maVecMul cmvmul 22678 matRepV cmatrepV 22695 maDet cmdat 22722 |
| This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1825 ax-4 1839 ax-5 1940 ax-6 1997 ax-7 2038 ax-8 2145 ax-9 2153 ax-10 2176 ax-11 2192 ax-12 2213 ax-ext 2735 ax-rep 5239 ax-sep 5258 ax-nul 5270 ax-pow 5338 ax-pr 5406 ax-un 7734 ax-cnex 11157 ax-resscn 11158 ax-1cn 11159 ax-icn 11160 ax-addcl 11161 ax-addrcl 11162 ax-mulcl 11163 ax-mulrcl 11164 ax-mulcom 11165 ax-addass 11166 ax-mulass 11167 ax-distr 11168 ax-i2m1 11169 ax-1ne0 11170 ax-1rid 11171 ax-rnegex 11172 ax-rrecex 11173 ax-cnre 11174 ax-pre-lttri 11175 ax-pre-lttrn 11176 ax-pre-ltadd 11177 ax-pre-mulgt0 11178 ax-addf 11180 ax-mulf 11181 |
| This theorem depends on definitions: df-bi 210 df-an 401 df-or 861 df-3or 1104 df-3an 1105 df-xor 1542 df-tru 1573 df-fal 1583 df-ex 1810 df-nf 1814 df-sb 2097 df-mo 2567 df-eu 2597 df-clab 2742 df-cleq 2755 df-clel 2838 df-nfc 2912 df-ne 2959 df-nel 3065 df-ral 3080 df-rex 3090 df-rmo 3369 df-reu 3370 df-rab 3417 df-v 3457 df-sbc 3746 df-csb 3855 df-dif 3909 df-un 3911 df-in 3913 df-ss 3923 df-pss 3926 df-nul 4288 df-if 4489 df-pw 4565 df-sn 4591 df-pr 4593 df-tp 4595 df-op 4597 df-ot 4599 df-uni 4874 df-int 4914 df-iun 4959 df-iin 4960 df-br 5111 df-opab 5175 df-mpt 5194 df-tr 5220 df-id 5558 df-eprel 5563 df-po 5571 df-so 5572 df-fr 5616 df-se 5617 df-we 5618 df-xp 5669 df-rel 5670 df-cnv 5671 df-co 5672 df-dm 5673 df-rn 5674 df-res 5675 df-ima 5676 df-pred 6304 df-ord 6365 df-on 6366 df-lim 6367 df-suc 6368 df-iota 6494 df-fun 6540 df-fn 6541 df-f 6542 df-f1 6543 df-fo 6544 df-f1o 6545 df-fv 6546 df-isom 6547 df-riota 7369 df-ov 7415 df-oprab 7416 df-mpo 7417 df-of 7676 df-om 7864 df-1st 7987 df-2nd 7988 df-supp 8158 df-tpos 8223 df-frecs 8279 df-wrecs 8310 df-recs 8359 df-rdg 8398 df-1o 8454 df-2o 8455 df-er 8695 df-map 8827 df-pm 8828 df-ixp 8897 df-en 8945 df-dom 8946 df-sdom 8947 df-fin 8948 df-fsupp 9323 df-sup 9403 df-oi 9473 df-card 9926 df-pnf 11246 df-mnf 11247 df-xr 11248 df-ltxr 11249 df-le 11250 df-sub 11444 df-neg 11445 df-div 11873 df-nn 12235 df-2 12304 df-3 12305 df-4 12306 df-5 12307 df-6 12308 df-7 12309 df-8 12310 df-9 12311 df-n0 12506 df-xnn0 12579 df-z 12593 df-dec 12713 df-uz 12864 df-rp 13018 df-fz 13537 df-fzo 13685 df-seq 14040 df-exp 14100 df-hash 14369 df-word 14553 df-lsw 14602 df-concat 14610 df-s1 14636 df-substr 14681 df-pfx 14711 df-splice 14789 df-reverse 14798 df-s2 14887 df-struct 17208 df-sets 17225 df-slot 17243 df-ndx 17255 df-base 17271 df-ress 17292 df-plusg 17324 df-mulr 17325 df-starv 17326 df-sca 17327 df-vsca 17328 df-ip 17329 df-tset 17330 df-ple 17331 df-ds 17333 df-unif 17334 df-hom 17335 df-cco 17336 df-0g 17495 df-gsum 17496 df-prds 17501 df-pws 17503 df-mre 17639 df-mrc 17640 df-acs 17642 df-mgm 18699 df-sgrp 18778 df-mnd 18794 df-mhm 18842 df-submnd 18843 df-efmnd 18929 df-grp 19004 df-minusg 19005 df-sbg 19006 df-mulg 19135 df-subg 19190 df-ghm 19285 df-gim 19330 df-cntz 19388 df-oppg 19417 df-symg 19441 df-pmtr 19513 df-psgn 19562 df-evpm 19563 df-cmn 19853 df-abl 19854 df-mgp 20218 df-rng 20232 df-ur 20265 df-srg 20270 df-ring 20318 df-cring 20319 df-oppr 20420 df-dvdsr 20440 df-unit 20441 df-invr 20471 df-dvr 20484 df-rhm 20555 df-subrng 20632 df-subrg 20656 df-drng 20816 df-lmod 20964 df-lss 21034 df-sra 21275 df-rgmod 21276 df-cnfld 21504 df-zring 21578 df-zrh 21634 df-dsmm 21863 df-frlm 21878 df-assa 21984 df-mamu 22529 df-mat 22546 df-mvmul 22679 df-marrep 22696 df-marepv 22697 df-subma 22715 df-mdet 22723 df-madu 22772 df-minmar1 22773 |
| This theorem is referenced by: (None) |
| Copyright terms: Public domain | W3C validator |