| 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 22682). 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 22674 or slesolinv 22676. 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 22685 | . . 3 ⊢ (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋))) → (𝑋 · 𝑍) = 𝑌)) |
| 9 | 1, 8 | syl3an1 1164 | . 2 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋))) → (𝑋 · 𝑍) = 𝑌)) |
| 10 | simpl1l 1225 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑅 ∈ CRing) | |
| 11 | simpl2 1193 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) | |
| 12 | simpl3 1194 | . . . 4 ⊢ ((((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝐷‘𝑋) ∈ (Unit‘𝑅)) | |
| 13 | crngring 20238 | . . . . . . . 8 ⊢ (𝑅 ∈ CRing → 𝑅 ∈ Ring) | |
| 14 | 13 | anim1ci 616 | . . . . . . 7 ⊢ ((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) → (𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring)) |
| 15 | 14 | anim1i 615 | . . . . . 6 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉))) |
| 16 | 15 | 3adant3 1133 | . . . . 5 ⊢ (((𝑅 ∈ CRing ∧ 𝑁 ≠ ∅) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉))) |
| 17 | 2, 3, 4, 6 | slesolvec 22675 | . . . . . 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 22683 | . . . 4 ⊢ ((𝑅 ∈ CRing ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ ((𝐷‘𝑋) ∈ (Unit‘𝑅) ∧ 𝑍 ∈ 𝑉 ∧ (𝑋 · 𝑍) = 𝑌)) → 𝑍 = (𝑖 ∈ 𝑁 ↦ ((𝐷‘((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝑖)) / (𝐷‘𝑋)))) |
| 22 | 10, 11, 12, 19, 20, 21 | syl113anc 1384 | . . 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 1540 ∈ wcel 2108 ≠ wne 2939 ∅c0 4332 〈cop 4630 ↦ cmpt 5223 ‘cfv 6559 (class class class)co 7429 ↑m cmap 8862 Basecbs 17243 Ringcrg 20226 CRingccrg 20227 Unitcui 20347 /rcdvr 20392 Mat cmat 22401 maVecMul cmvmul 22536 matRepV cmatrepV 22553 maDet cmdat 22580 |
| This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-3 8 ax-gen 1795 ax-4 1809 ax-5 1910 ax-6 1967 ax-7 2007 ax-8 2110 ax-9 2118 ax-10 2141 ax-11 2157 ax-12 2177 ax-ext 2707 ax-rep 5277 ax-sep 5294 ax-nul 5304 ax-pow 5363 ax-pr 5430 ax-un 7751 ax-cnex 11207 ax-resscn 11208 ax-1cn 11209 ax-icn 11210 ax-addcl 11211 ax-addrcl 11212 ax-mulcl 11213 ax-mulrcl 11214 ax-mulcom 11215 ax-addass 11216 ax-mulass 11217 ax-distr 11218 ax-i2m1 11219 ax-1ne0 11220 ax-1rid 11221 ax-rnegex 11222 ax-rrecex 11223 ax-cnre 11224 ax-pre-lttri 11225 ax-pre-lttrn 11226 ax-pre-ltadd 11227 ax-pre-mulgt0 11228 ax-addf 11230 ax-mulf 11231 |
| This theorem depends on definitions: df-bi 207 df-an 396 df-or 849 df-3or 1088 df-3an 1089 df-xor 1512 df-tru 1543 df-fal 1553 df-ex 1780 df-nf 1784 df-sb 2065 df-mo 2539 df-eu 2568 df-clab 2714 df-cleq 2728 df-clel 2815 df-nfc 2891 df-ne 2940 df-nel 3046 df-ral 3061 df-rex 3070 df-rmo 3379 df-reu 3380 df-rab 3436 df-v 3481 df-sbc 3788 df-csb 3899 df-dif 3953 df-un 3955 df-in 3957 df-ss 3967 df-pss 3970 df-nul 4333 df-if 4525 df-pw 4600 df-sn 4625 df-pr 4627 df-tp 4629 df-op 4631 df-ot 4633 df-uni 4906 df-int 4945 df-iun 4991 df-iin 4992 df-br 5142 df-opab 5204 df-mpt 5224 df-tr 5258 df-id 5576 df-eprel 5582 df-po 5590 df-so 5591 df-fr 5635 df-se 5636 df-we 5637 df-xp 5689 df-rel 5690 df-cnv 5691 df-co 5692 df-dm 5693 df-rn 5694 df-res 5695 df-ima 5696 df-pred 6319 df-ord 6385 df-on 6386 df-lim 6387 df-suc 6388 df-iota 6512 df-fun 6561 df-fn 6562 df-f 6563 df-f1 6564 df-fo 6565 df-f1o 6566 df-fv 6567 df-isom 6568 df-riota 7386 df-ov 7432 df-oprab 7433 df-mpo 7434 df-of 7694 df-om 7884 df-1st 8010 df-2nd 8011 df-supp 8182 df-tpos 8247 df-frecs 8302 df-wrecs 8333 df-recs 8407 df-rdg 8446 df-1o 8502 df-2o 8503 df-er 8741 df-map 8864 df-pm 8865 df-ixp 8934 df-en 8982 df-dom 8983 df-sdom 8984 df-fin 8985 df-fsupp 9398 df-sup 9478 df-oi 9546 df-card 9975 df-pnf 11293 df-mnf 11294 df-xr 11295 df-ltxr 11296 df-le 11297 df-sub 11490 df-neg 11491 df-div 11917 df-nn 12263 df-2 12325 df-3 12326 df-4 12327 df-5 12328 df-6 12329 df-7 12330 df-8 12331 df-9 12332 df-n0 12523 df-xnn0 12596 df-z 12610 df-dec 12730 df-uz 12875 df-rp 13031 df-fz 13544 df-fzo 13691 df-seq 14039 df-exp 14099 df-hash 14366 df-word 14549 df-lsw 14597 df-concat 14605 df-s1 14630 df-substr 14675 df-pfx 14705 df-splice 14784 df-reverse 14793 df-s2 14883 df-struct 17180 df-sets 17197 df-slot 17215 df-ndx 17227 df-base 17244 df-ress 17271 df-plusg 17306 df-mulr 17307 df-starv 17308 df-sca 17309 df-vsca 17310 df-ip 17311 df-tset 17312 df-ple 17313 df-ds 17315 df-unif 17316 df-hom 17317 df-cco 17318 df-0g 17482 df-gsum 17483 df-prds 17488 df-pws 17490 df-mre 17625 df-mrc 17626 df-acs 17628 df-mgm 18649 df-sgrp 18728 df-mnd 18744 df-mhm 18792 df-submnd 18793 df-efmnd 18878 df-grp 18950 df-minusg 18951 df-sbg 18952 df-mulg 19082 df-subg 19137 df-ghm 19227 df-gim 19273 df-cntz 19331 df-oppg 19360 df-symg 19383 df-pmtr 19456 df-psgn 19505 df-evpm 19506 df-cmn 19796 df-abl 19797 df-mgp 20134 df-rng 20146 df-ur 20175 df-srg 20180 df-ring 20228 df-cring 20229 df-oppr 20326 df-dvdsr 20349 df-unit 20350 df-invr 20380 df-dvr 20393 df-rhm 20464 df-subrng 20538 df-subrg 20562 df-drng 20723 df-lmod 20852 df-lss 20922 df-sra 21164 df-rgmod 21165 df-cnfld 21357 df-zring 21450 df-zrh 21506 df-dsmm 21744 df-frlm 21759 df-assa 21865 df-mamu 22385 df-mat 22402 df-mvmul 22537 df-marrep 22554 df-marepv 22555 df-subma 22573 df-mdet 22581 df-madu 22630 df-minmar1 22631 |
| This theorem is referenced by: (None) |
| Copyright terms: Public domain | W3C validator |