MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  cramerimp Structured version   Visualization version   GIF version

Theorem cramerimp 22912
Description: One direction of 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 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."): The ith component of the solution vector of a system of linear equations equals the determinant of the matrix of the system of linear equations with the ith column replaced by the righthand side vector of the system of linear equations divided by the determinant of the matrix of the system of linear equations. (Contributed by AV, 19-Feb-2019.) (Revised by AV, 1-Mar-2019.)
Hypotheses
Ref Expression
cramerimp.a 𝐴 = (𝑁 Mat 𝑅)
cramerimp.b 𝐵 = (Base‘𝐴)
cramerimp.v 𝑉 = ((Base‘𝑅) ↑m 𝑁)
cramerimp.e 𝐸 = (((1r𝐴)(𝑁 matRepV 𝑅)𝑍)‘𝐼)
cramerimp.h 𝐻 = ((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝐼)
cramerimp.x · = (𝑅 maVecMul ⟨𝑁, 𝑁⟩)
cramerimp.d 𝐷 = (𝑁 maDet 𝑅)
cramerimp.q / = (/r𝑅)
Assertion
Ref Expression
cramerimp (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝑍𝐼) = ((𝐷𝐻) / (𝐷𝑋)))

Proof of Theorem cramerimp
StepHypRef Expression
1 crngring 20385 . . . . . 6 (𝑅 ∈ CRing → 𝑅 ∈ Ring)
21adantr 486 . . . . 5 ((𝑅 ∈ CRing ∧ 𝐼𝑁) → 𝑅 ∈ Ring)
323ad2ant1 1151 . . . 4 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → 𝑅 ∈ Ring)
4 cramerimp.d . . . . . . . 8 𝐷 = (𝑁 maDet 𝑅)
5 cramerimp.a . . . . . . . 8 𝐴 = (𝑁 Mat 𝑅)
6 cramerimp.b . . . . . . . 8 𝐵 = (Base‘𝐴)
7 eqid 2762 . . . . . . . 8 (Base‘𝑅) = (Base‘𝑅)
84, 5, 6, 7mdetf 22818 . . . . . . 7 (𝑅 ∈ CRing → 𝐷:𝐵⟶(Base‘𝑅))
98adantr 486 . . . . . 6 ((𝑅 ∈ CRing ∧ 𝐼𝑁) → 𝐷:𝐵⟶(Base‘𝑅))
1093ad2ant1 1151 . . . . 5 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → 𝐷:𝐵⟶(Base‘𝑅))
11 cramerimp.e . . . . . 6 𝐸 = (((1r𝐴)(𝑁 matRepV 𝑅)𝑍)‘𝐼)
125, 6matrcl 22635 . . . . . . . . . . 11 (𝑋𝐵 → (𝑁 ∈ Fin ∧ 𝑅 ∈ V))
1312simpld 500 . . . . . . . . . 10 (𝑋𝐵𝑁 ∈ Fin)
1413adantr 486 . . . . . . . . 9 ((𝑋𝐵𝑌𝑉) → 𝑁 ∈ Fin)
152, 14anim12i 625 . . . . . . . 8 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉)) → (𝑅 ∈ Ring ∧ 𝑁 ∈ Fin))
16153adant3 1150 . . . . . . 7 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝑅 ∈ Ring ∧ 𝑁 ∈ Fin))
17 ne0i 4290 . . . . . . . . . . 11 (𝐼𝑁𝑁 ≠ ∅)
181, 17anim12ci 626 . . . . . . . . . 10 ((𝑅 ∈ CRing ∧ 𝐼𝑁) → (𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring))
1918anim1i 627 . . . . . . . . 9 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)))
20193adant3 1150 . . . . . . . 8 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)))
21 simpl 488 . . . . . . . . 9 (((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (𝑋 · 𝑍) = 𝑌)
22213ad2ant3 1153 . . . . . . . 8 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝑋 · 𝑍) = 𝑌)
23 cramerimp.v . . . . . . . . 9 𝑉 = ((Base‘𝑅) ↑m 𝑁)
24 cramerimp.x . . . . . . . . 9 · = (𝑅 maVecMul ⟨𝑁, 𝑁⟩)
255, 6, 23, 24slesolvec 22905 . . . . . . . 8 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)) → ((𝑋 · 𝑍) = 𝑌𝑍𝑉))
2620, 22, 25sylc 66 . . . . . . 7 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → 𝑍𝑉)
27 simpr 490 . . . . . . . 8 ((𝑅 ∈ CRing ∧ 𝐼𝑁) → 𝐼𝑁)
28273ad2ant1 1151 . . . . . . 7 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → 𝐼𝑁)
29 eqid 2762 . . . . . . . 8 (1r𝐴) = (1r𝐴)
305, 6, 23, 29ma1repvcl 22793 . . . . . . 7 (((𝑅 ∈ Ring ∧ 𝑁 ∈ Fin) ∧ (𝑍𝑉𝐼𝑁)) → (((1r𝐴)(𝑁 matRepV 𝑅)𝑍)‘𝐼) ∈ 𝐵)
3116, 26, 28, 30syl12anc 850 . . . . . 6 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (((1r𝐴)(𝑁 matRepV 𝑅)𝑍)‘𝐼) ∈ 𝐵)
3211, 31eqeltrid 2866 . . . . 5 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → 𝐸𝐵)
3310, 32ffvelcdmd 7081 . . . 4 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝐷𝐸) ∈ (Base‘𝑅))
34 simpr 490 . . . . 5 (((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (𝐷𝑋) ∈ (Unit‘𝑅))
35343ad2ant3 1153 . . . 4 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝐷𝑋) ∈ (Unit‘𝑅))
36 eqid 2762 . . . . 5 (Unit‘𝑅) = (Unit‘𝑅)
37 cramerimp.q . . . . 5 / = (/r𝑅)
38 eqid 2762 . . . . 5 (.r𝑅) = (.r𝑅)
397, 36, 37, 38dvrcan3 20552 . . . 4 ((𝑅 ∈ Ring ∧ (𝐷𝐸) ∈ (Base‘𝑅) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (((𝐷𝐸)(.r𝑅)(𝐷𝑋)) / (𝐷𝑋)) = (𝐷𝐸))
403, 33, 35, 39syl3anc 1398 . . 3 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (((𝐷𝐸)(.r𝑅)(𝐷𝑋)) / (𝐷𝑋)) = (𝐷𝐸))
41 simpl 488 . . . . . 6 ((𝑅 ∈ CRing ∧ 𝐼𝑁) → 𝑅 ∈ CRing)
42413ad2ant1 1151 . . . . 5 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → 𝑅 ∈ CRing)
437, 36unitcl 20517 . . . . . . 7 ((𝐷𝑋) ∈ (Unit‘𝑅) → (𝐷𝑋) ∈ (Base‘𝑅))
4443adantl 487 . . . . . 6 (((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (𝐷𝑋) ∈ (Base‘𝑅))
45443ad2ant3 1153 . . . . 5 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝐷𝑋) ∈ (Base‘𝑅))
467, 38crngcom 20391 . . . . 5 ((𝑅 ∈ CRing ∧ (𝐷𝐸) ∈ (Base‘𝑅) ∧ (𝐷𝑋) ∈ (Base‘𝑅)) → ((𝐷𝐸)(.r𝑅)(𝐷𝑋)) = ((𝐷𝑋)(.r𝑅)(𝐷𝐸)))
4742, 33, 45, 46syl3anc 1398 . . . 4 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → ((𝐷𝐸)(.r𝑅)(𝐷𝑋)) = ((𝐷𝑋)(.r𝑅)(𝐷𝐸)))
4847oveq1d 7431 . . 3 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (((𝐷𝐸)(.r𝑅)(𝐷𝑋)) / (𝐷𝑋)) = (((𝐷𝑋)(.r𝑅)(𝐷𝐸)) / (𝐷𝑋)))
4914adantl 487 . . . . . 6 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉)) → 𝑁 ∈ Fin)
5041adantr 486 . . . . . 6 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉)) → 𝑅 ∈ CRing)
5127adantr 486 . . . . . 6 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉)) → 𝐼𝑁)
5249, 50, 513jca 1146 . . . . 5 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉)) → (𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝐼𝑁))
53523adant3 1150 . . . 4 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝐼𝑁))
545, 23, 11, 4cramerimplem1 22909 . . . 4 (((𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ 𝑍𝑉) → (𝐷𝐸) = (𝑍𝐼))
5553, 26, 54syl2anc 596 . . 3 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝐷𝐸) = (𝑍𝐼))
5640, 48, 553eqtr3rd 2806 . 2 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝑍𝐼) = (((𝐷𝑋)(.r𝑅)(𝐷𝐸)) / (𝐷𝑋)))
57 cramerimp.h . . . . 5 𝐻 = ((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝐼)
585, 6, 23, 11, 57, 24, 4, 38cramerimplem3 22911 . . . 4 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝑋 · 𝑍) = 𝑌) → ((𝐷𝑋)(.r𝑅)(𝐷𝐸)) = (𝐷𝐻))
59583adant3r 1200 . . 3 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → ((𝐷𝑋)(.r𝑅)(𝐷𝐸)) = (𝐷𝐻))
6059oveq1d 7431 . 2 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (((𝐷𝑋)(.r𝑅)(𝐷𝐸)) / (𝐷𝑋)) = ((𝐷𝐻) / (𝐷𝑋)))
6156, 60eqtrd 2797 1 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝑍𝐼) = ((𝐷𝐻) / (𝐷𝑋)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wa 401  w3a 1103   = wceq 1570  wcel 2145  wne 2957  Vcvv 3453  c0 4282  cop 4593  wf 6533  cfv 6537  (class class class)co 7416  m cmap 8829  Fincfn 8955  Basecbs 17305  .rcmulr 17347  1rcur 20321  Ringcrg 20373  CRingccrg 20374  Unitcui 20497  /rcdvr 20542   Mat cmat 22630   maVecMul cmvmul 22763   matRepV cmatrepV 22780   maDet cmdat 22807
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2215  ax-ext 2734  ax-rep 5236  ax-sep 5255  ax-nul 5267  ax-pow 5334  ax-pr 5402  ax-un 7739  ax-cnex 11183  ax-resscn 11184  ax-1cn 11185  ax-icn 11186  ax-addcl 11187  ax-addrcl 11188  ax-mulcl 11189  ax-mulrcl 11190  ax-mulcom 11191  ax-addass 11192  ax-mulass 11193  ax-distr 11194  ax-i2m1 11195  ax-1ne0 11196  ax-1rid 11197  ax-rnegex 11198  ax-rrecex 11199  ax-cnre 11200  ax-pre-lttri 11201  ax-pre-lttrn 11202  ax-pre-ltadd 11203  ax-pre-mulgt0 11204  ax-addf 11206  ax-mulf 11207
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-xor 1542  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-nel 3064  df-ral 3079  df-rex 3089  df-rmo 3367  df-reu 3368  df-rab 3415  df-v 3455  df-sbc 3743  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-pss 3922  df-nul 4283  df-if 4486  df-pw 4562  df-sn 4588  df-pr 4590  df-tp 4592  df-op 4594  df-ot 4596  df-uni 4871  df-int 4911  df-iun 4956  df-iin 4957  df-br 5108  df-opab 5172  df-mpt 5191  df-tr 5217  df-id 5554  df-eprel 5559  df-po 5567  df-so 5568  df-fr 5612  df-se 5613  df-we 5614  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-res 5671  df-ima 5672  df-pred 6303  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6493  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-fv 6545  df-isom 6546  df-riota 7373  df-ov 7419  df-oprab 7420  df-mpo 7421  df-of 7681  df-om 7866  df-1st 7989  df-2nd 7990  df-supp 8162  df-tpos 8227  df-frecs 8283  df-wrecs 8314  df-recs 8363  df-rdg 8402  df-1o 8458  df-2o 8459  df-er 8699  df-map 8831  df-pm 8832  df-ixp 8908  df-en 8956  df-dom 8957  df-sdom 8958  df-fin 8959  df-fsupp 9335  df-sup 9415  df-oi 9485  df-card 9947  df-pnf 11272  df-mnf 11273  df-xr 11274  df-ltxr 11275  df-le 11276  df-sub 11470  df-neg 11471  df-div 11899  df-nn 12261  df-2 12330  df-3 12331  df-4 12332  df-5 12333  df-6 12334  df-7 12335  df-8 12336  df-9 12337  df-n0 12532  df-xnn0 12605  df-z 12619  df-dec 12740  df-uz 12891  df-rp 13045  df-fz 13564  df-fzo 13712  df-seq 14068  df-exp 14128  df-hash 14397  df-word 14581  df-lsw 14630  df-concat 14638  df-s1 14665  df-substr 14711  df-pfx 14743  df-splice 14821  df-reverse 14830  df-s2 14921  df-struct 17243  df-sets 17260  df-slot 17278  df-ndx 17290  df-base 17306  df-ress 17327  df-plusg 17359  df-mulr 17360  df-starv 17361  df-sca 17362  df-vsca 17363  df-ip 17364  df-tset 17365  df-ple 17366  df-ds 17368  df-unif 17369  df-hom 17370  df-cco 17371  df-0g 17530  df-gsum 17531  df-prds 17536  df-pws 17538  df-mre 17674  df-mrc 17675  df-acs 17677  df-mgm 18734  df-sgrp 18823  df-mnd 18839  df-mhm 18892  df-submnd 18893  df-efmnd 18979  df-grp 19061  df-minusg 19062  df-sbg 19063  df-mulg 19192  df-subg 19247  df-ghm 19342  df-gim 19387  df-cntz 19445  df-oppg 19474  df-symg 19498  df-pmtr 19570  df-psgn 19619  df-evpm 19620  df-cmn 19910  df-abl 19911  df-mgp 20275  df-rng 20289  df-ur 20322  df-srg 20327  df-ring 20375  df-cring 20376  df-oppr 20479  df-dvdsr 20499  df-unit 20500  df-invr 20530  df-dvr 20543  df-rhm 20614  df-subrng 20709  df-subrg 20733  df-drng 20893  df-lmod 21047  df-lss 21117  df-sra 21358  df-rgmod 21359  df-cnfld 21587  df-zring 21661  df-zrh 21717  df-dsmm 21946  df-frlm 21961  df-mamu 22614  df-mat 22631  df-mvmul 22764  df-marrep 22781  df-marepv 22782  df-subma 22800  df-mdet 22808  df-minmar1 22858
This theorem is used by:  cramerlem1  22913
  Copyright terms: Public domain W3C validator