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

Theorem cramerimp 22634
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 20184 . . . . . 6 (𝑅 ∈ CRing → 𝑅 ∈ Ring)
21adantr 480 . . . . 5 ((𝑅 ∈ CRing ∧ 𝐼𝑁) → 𝑅 ∈ Ring)
323ad2ant1 1134 . . . 4 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → 𝑅 ∈ Ring)
4 cramerimp.d . . . . . . . 8 𝐷 = (𝑁 maDet 𝑅)
5 cramerimp.a . . . . . . . 8 𝐴 = (𝑁 Mat 𝑅)
6 cramerimp.b . . . . . . . 8 𝐵 = (Base‘𝐴)
7 eqid 2737 . . . . . . . 8 (Base‘𝑅) = (Base‘𝑅)
84, 5, 6, 7mdetf 22543 . . . . . . 7 (𝑅 ∈ CRing → 𝐷:𝐵⟶(Base‘𝑅))
98adantr 480 . . . . . 6 ((𝑅 ∈ CRing ∧ 𝐼𝑁) → 𝐷:𝐵⟶(Base‘𝑅))
1093ad2ant1 1134 . . . . 5 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → 𝐷:𝐵⟶(Base‘𝑅))
11 cramerimp.e . . . . . 6 𝐸 = (((1r𝐴)(𝑁 matRepV 𝑅)𝑍)‘𝐼)
125, 6matrcl 22360 . . . . . . . . . . 11 (𝑋𝐵 → (𝑁 ∈ Fin ∧ 𝑅 ∈ V))
1312simpld 494 . . . . . . . . . 10 (𝑋𝐵𝑁 ∈ Fin)
1413adantr 480 . . . . . . . . 9 ((𝑋𝐵𝑌𝑉) → 𝑁 ∈ Fin)
152, 14anim12i 614 . . . . . . . 8 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉)) → (𝑅 ∈ Ring ∧ 𝑁 ∈ Fin))
16153adant3 1133 . . . . . . 7 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝑅 ∈ Ring ∧ 𝑁 ∈ Fin))
17 ne0i 4294 . . . . . . . . . . 11 (𝐼𝑁𝑁 ≠ ∅)
181, 17anim12ci 615 . . . . . . . . . 10 ((𝑅 ∈ CRing ∧ 𝐼𝑁) → (𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring))
1918anim1i 616 . . . . . . . . 9 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉)) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)))
20193adant3 1133 . . . . . . . 8 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → ((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)))
21 simpl 482 . . . . . . . . 9 (((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (𝑋 · 𝑍) = 𝑌)
22213ad2ant3 1136 . . . . . . . 8 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝑋 · 𝑍) = 𝑌)
23 cramerimp.v . . . . . . . . 9 𝑉 = ((Base‘𝑅) ↑m 𝑁)
24 cramerimp.x . . . . . . . . 9 · = (𝑅 maVecMul ⟨𝑁, 𝑁⟩)
255, 6, 23, 24slesolvec 22627 . . . . . . . 8 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐵𝑌𝑉)) → ((𝑋 · 𝑍) = 𝑌𝑍𝑉))
2620, 22, 25sylc 65 . . . . . . 7 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → 𝑍𝑉)
27 simpr 484 . . . . . . . 8 ((𝑅 ∈ CRing ∧ 𝐼𝑁) → 𝐼𝑁)
28273ad2ant1 1134 . . . . . . 7 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → 𝐼𝑁)
29 eqid 2737 . . . . . . . 8 (1r𝐴) = (1r𝐴)
305, 6, 23, 29ma1repvcl 22518 . . . . . . 7 (((𝑅 ∈ Ring ∧ 𝑁 ∈ Fin) ∧ (𝑍𝑉𝐼𝑁)) → (((1r𝐴)(𝑁 matRepV 𝑅)𝑍)‘𝐼) ∈ 𝐵)
3116, 26, 28, 30syl12anc 837 . . . . . 6 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (((1r𝐴)(𝑁 matRepV 𝑅)𝑍)‘𝐼) ∈ 𝐵)
3211, 31eqeltrid 2841 . . . . 5 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → 𝐸𝐵)
3310, 32ffvelcdmd 7032 . . . 4 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝐷𝐸) ∈ (Base‘𝑅))
34 simpr 484 . . . . 5 (((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (𝐷𝑋) ∈ (Unit‘𝑅))
35343ad2ant3 1136 . . . 4 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝐷𝑋) ∈ (Unit‘𝑅))
36 eqid 2737 . . . . 5 (Unit‘𝑅) = (Unit‘𝑅)
37 cramerimp.q . . . . 5 / = (/r𝑅)
38 eqid 2737 . . . . 5 (.r𝑅) = (.r𝑅)
397, 36, 37, 38dvrcan3 20350 . . . 4 ((𝑅 ∈ Ring ∧ (𝐷𝐸) ∈ (Base‘𝑅) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (((𝐷𝐸)(.r𝑅)(𝐷𝑋)) / (𝐷𝑋)) = (𝐷𝐸))
403, 33, 35, 39syl3anc 1374 . . 3 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (((𝐷𝐸)(.r𝑅)(𝐷𝑋)) / (𝐷𝑋)) = (𝐷𝐸))
41 simpl 482 . . . . . 6 ((𝑅 ∈ CRing ∧ 𝐼𝑁) → 𝑅 ∈ CRing)
42413ad2ant1 1134 . . . . 5 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → 𝑅 ∈ CRing)
437, 36unitcl 20315 . . . . . . 7 ((𝐷𝑋) ∈ (Unit‘𝑅) → (𝐷𝑋) ∈ (Base‘𝑅))
4443adantl 481 . . . . . 6 (((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (𝐷𝑋) ∈ (Base‘𝑅))
45443ad2ant3 1136 . . . . 5 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝐷𝑋) ∈ (Base‘𝑅))
467, 38crngcom 20190 . . . . 5 ((𝑅 ∈ CRing ∧ (𝐷𝐸) ∈ (Base‘𝑅) ∧ (𝐷𝑋) ∈ (Base‘𝑅)) → ((𝐷𝐸)(.r𝑅)(𝐷𝑋)) = ((𝐷𝑋)(.r𝑅)(𝐷𝐸)))
4742, 33, 45, 46syl3anc 1374 . . . 4 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → ((𝐷𝐸)(.r𝑅)(𝐷𝑋)) = ((𝐷𝑋)(.r𝑅)(𝐷𝐸)))
4847oveq1d 7375 . . 3 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (((𝐷𝐸)(.r𝑅)(𝐷𝑋)) / (𝐷𝑋)) = (((𝐷𝑋)(.r𝑅)(𝐷𝐸)) / (𝐷𝑋)))
4914adantl 481 . . . . . 6 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉)) → 𝑁 ∈ Fin)
5041adantr 480 . . . . . 6 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉)) → 𝑅 ∈ CRing)
5127adantr 480 . . . . . 6 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉)) → 𝐼𝑁)
5249, 50, 513jca 1129 . . . . 5 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉)) → (𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝐼𝑁))
53523adant3 1133 . . . 4 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝐼𝑁))
545, 23, 11, 4cramerimplem1 22631 . . . 4 (((𝑁 ∈ Fin ∧ 𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ 𝑍𝑉) → (𝐷𝐸) = (𝑍𝐼))
5553, 26, 54syl2anc 585 . . 3 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝐷𝐸) = (𝑍𝐼))
5640, 48, 553eqtr3rd 2781 . 2 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝑍𝐼) = (((𝐷𝑋)(.r𝑅)(𝐷𝐸)) / (𝐷𝑋)))
57 cramerimp.h . . . . 5 𝐻 = ((𝑋(𝑁 matRepV 𝑅)𝑌)‘𝐼)
585, 6, 23, 11, 57, 24, 4, 38cramerimplem3 22633 . . . 4 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝑋 · 𝑍) = 𝑌) → ((𝐷𝑋)(.r𝑅)(𝐷𝐸)) = (𝐷𝐻))
59583adant3r 1183 . . 3 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → ((𝐷𝑋)(.r𝑅)(𝐷𝐸)) = (𝐷𝐻))
6059oveq1d 7375 . 2 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (((𝐷𝑋)(.r𝑅)(𝐷𝐸)) / (𝐷𝑋)) = ((𝐷𝐻) / (𝐷𝑋)))
6156, 60eqtrd 2772 1 (((𝑅 ∈ CRing ∧ 𝐼𝑁) ∧ (𝑋𝐵𝑌𝑉) ∧ ((𝑋 · 𝑍) = 𝑌 ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝑍𝐼) = ((𝐷𝐻) / (𝐷𝑋)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 395  w3a 1087   = wceq 1542  wcel 2114  wne 2933  Vcvv 3441  c0 4286  cop 4587  wf 6489  cfv 6493  (class class class)co 7360  m cmap 8767  Fincfn 8887  Basecbs 17140  .rcmulr 17182  1rcur 20120  Ringcrg 20172  CRingccrg 20173  Unitcui 20295  /rcdvr 20340   Mat cmat 22355   maVecMul cmvmul 22488   matRepV cmatrepV 22505   maDet cmdat 22532
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1797  ax-4 1811  ax-5 1912  ax-6 1969  ax-7 2010  ax-8 2116  ax-9 2124  ax-10 2147  ax-11 2163  ax-12 2185  ax-ext 2709  ax-rep 5225  ax-sep 5242  ax-nul 5252  ax-pow 5311  ax-pr 5378  ax-un 7682  ax-cnex 11086  ax-resscn 11087  ax-1cn 11088  ax-icn 11089  ax-addcl 11090  ax-addrcl 11091  ax-mulcl 11092  ax-mulrcl 11093  ax-mulcom 11094  ax-addass 11095  ax-mulass 11096  ax-distr 11097  ax-i2m1 11098  ax-1ne0 11099  ax-1rid 11100  ax-rnegex 11101  ax-rrecex 11102  ax-cnre 11103  ax-pre-lttri 11104  ax-pre-lttrn 11105  ax-pre-ltadd 11106  ax-pre-mulgt0 11107  ax-addf 11109  ax-mulf 11110
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-xor 1514  df-tru 1545  df-fal 1555  df-ex 1782  df-nf 1786  df-sb 2069  df-mo 2540  df-eu 2570  df-clab 2716  df-cleq 2729  df-clel 2812  df-nfc 2886  df-ne 2934  df-nel 3038  df-ral 3053  df-rex 3062  df-rmo 3351  df-reu 3352  df-rab 3401  df-v 3443  df-sbc 3742  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-pss 3922  df-nul 4287  df-if 4481  df-pw 4557  df-sn 4582  df-pr 4584  df-tp 4586  df-op 4588  df-ot 4590  df-uni 4865  df-int 4904  df-iun 4949  df-iin 4950  df-br 5100  df-opab 5162  df-mpt 5181  df-tr 5207  df-id 5520  df-eprel 5525  df-po 5533  df-so 5534  df-fr 5578  df-se 5579  df-we 5580  df-xp 5631  df-rel 5632  df-cnv 5633  df-co 5634  df-dm 5635  df-rn 5636  df-res 5637  df-ima 5638  df-pred 6260  df-ord 6321  df-on 6322  df-lim 6323  df-suc 6324  df-iota 6449  df-fun 6495  df-fn 6496  df-f 6497  df-f1 6498  df-fo 6499  df-f1o 6500  df-fv 6501  df-isom 6502  df-riota 7317  df-ov 7363  df-oprab 7364  df-mpo 7365  df-of 7624  df-om 7811  df-1st 7935  df-2nd 7936  df-supp 8105  df-tpos 8170  df-frecs 8225  df-wrecs 8256  df-recs 8305  df-rdg 8343  df-1o 8399  df-2o 8400  df-er 8637  df-map 8769  df-pm 8770  df-ixp 8840  df-en 8888  df-dom 8889  df-sdom 8890  df-fin 8891  df-fsupp 9269  df-sup 9349  df-oi 9419  df-card 9855  df-pnf 11172  df-mnf 11173  df-xr 11174  df-ltxr 11175  df-le 11176  df-sub 11370  df-neg 11371  df-div 11799  df-nn 12150  df-2 12212  df-3 12213  df-4 12214  df-5 12215  df-6 12216  df-7 12217  df-8 12218  df-9 12219  df-n0 12406  df-xnn0 12479  df-z 12493  df-dec 12612  df-uz 12756  df-rp 12910  df-fz 13428  df-fzo 13575  df-seq 13929  df-exp 13989  df-hash 14258  df-word 14441  df-lsw 14490  df-concat 14498  df-s1 14524  df-substr 14569  df-pfx 14599  df-splice 14677  df-reverse 14686  df-s2 14775  df-struct 17078  df-sets 17095  df-slot 17113  df-ndx 17125  df-base 17141  df-ress 17162  df-plusg 17194  df-mulr 17195  df-starv 17196  df-sca 17197  df-vsca 17198  df-ip 17199  df-tset 17200  df-ple 17201  df-ds 17203  df-unif 17204  df-hom 17205  df-cco 17206  df-0g 17365  df-gsum 17366  df-prds 17371  df-pws 17373  df-mre 17509  df-mrc 17510  df-acs 17512  df-mgm 18569  df-sgrp 18648  df-mnd 18664  df-mhm 18712  df-submnd 18713  df-efmnd 18798  df-grp 18870  df-minusg 18871  df-sbg 18872  df-mulg 19002  df-subg 19057  df-ghm 19146  df-gim 19192  df-cntz 19250  df-oppg 19279  df-symg 19303  df-pmtr 19375  df-psgn 19424  df-evpm 19425  df-cmn 19715  df-abl 19716  df-mgp 20080  df-rng 20092  df-ur 20121  df-srg 20126  df-ring 20174  df-cring 20175  df-oppr 20277  df-dvdsr 20297  df-unit 20298  df-invr 20328  df-dvr 20341  df-rhm 20412  df-subrng 20483  df-subrg 20507  df-drng 20668  df-lmod 20817  df-lss 20887  df-sra 21129  df-rgmod 21130  df-cnfld 21314  df-zring 21406  df-zrh 21462  df-dsmm 21691  df-frlm 21706  df-mamu 22339  df-mat 22356  df-mvmul 22489  df-marrep 22506  df-marepv 22507  df-subma 22525  df-mdet 22533  df-minmar1 22583
This theorem is referenced by:  cramerlem1  22635
  Copyright terms: Public domain W3C validator