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

Theorem slesolinvbi 23054
Description: The solution of a system of linear equations represented by a matrix with a unit as determinant is the multiplication of the inverse of the matrix with the right-hand side vector. (Contributed by AV, 11-Feb-2019.) (Revised by AV, 28-Feb-2019.)
Hypotheses
Ref Expression
slesolex.a 𝐴 = (𝑁 Mat 𝑅)
slesolex.b 𝐵 = (Base‘𝐴)
slesolex.v 𝑉 = ((Base‘𝑅) ↑m 𝑁)
slesolex.x · = (𝑅 maVecMul ⟨𝑁, 𝑁⟩)
slesolex.d 𝐷 = (𝑁 maDet 𝑅)
slesolinv.i 𝐼 = (invr‘𝐴)
Assertion
Ref Expression
slesolinvbi (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → ((𝑋 · 𝑍) = 𝑌 ↔ 𝑍 = ((𝐼‘𝑋) · 𝑌)))

Proof of Theorem slesolinvbi
StepHypRef Expression
1 simpl1 1210 . . 3 ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing))
2 simpl2 1211 . . 3 ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉))
3 simp3 1156 . . . 4 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝐷‘𝑋) ∈ (Unit‘𝑅))
43anim1i 627 . . 3 ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → ((𝐷‘𝑋) ∈ (Unit‘𝑅) ∧ (𝑋 · 𝑍) = 𝑌))
5 slesolex.a . . . 4 𝐴 = (𝑁 Mat 𝑅)
6 slesolex.b . . . 4 𝐵 = (Base‘𝐴)
7 slesolex.v . . . 4 𝑉 = ((Base‘𝑅) ↑m 𝑁)
8 slesolex.x . . . 4 · = (𝑅 maVecMul ⟨𝑁, 𝑁⟩)
9 slesolex.d . . . 4 𝐷 = (𝑁 maDet 𝑅)
10 slesolinv.i . . . 4 𝐼 = (invr‘𝐴)
115, 6, 7, 8, 9, 10slesolinv 23053 . . 3 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ ((𝐷‘𝑋) ∈ (Unit‘𝑅) ∧ (𝑋 · 𝑍) = 𝑌)) → 𝑍 = ((𝐼‘𝑋) · 𝑌))
121, 2, 4, 11syl3anc 1399 . 2 ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ (𝑋 · 𝑍) = 𝑌) → 𝑍 = ((𝐼‘𝑋) · 𝑌))
13 oveq2 7459 . . 3 (𝑍 = ((𝐼‘𝑋) · 𝑌) → (𝑋 · 𝑍) = (𝑋 · ((𝐼‘𝑋) · 𝑌)))
14 simpr 490 . . . . . . . . . 10 ((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) → 𝑅 ∈ CRing)
155, 6matrcl 22782 . . . . . . . . . . . 12 (𝑋 ∈ 𝐵 → (𝑁 ∈ Fin ∧ 𝑅 ∈ V))
1615simpld 500 . . . . . . . . . . 11 (𝑋 ∈ 𝐵 → 𝑁 ∈ Fin)
1716adantr 486 . . . . . . . . . 10 ((𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) → 𝑁 ∈ Fin)
1814, 17anim12ci 626 . . . . . . . . 9 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) → (𝑁 ∈ Fin ∧ 𝑅 ∈ CRing))
19183adant3 1150 . . . . . . . 8 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑁 ∈ Fin ∧ 𝑅 ∈ CRing))
20 eqid 2763 . . . . . . . . 9 (𝑅 maMul ⟨𝑁, 𝑁, 𝑁⟩) = (𝑅 maMul ⟨𝑁, 𝑁, 𝑁⟩)
215, 20matmulr 22808 . . . . . . . 8 ((𝑁 ∈ Fin ∧ 𝑅 ∈ CRing) → (𝑅 maMul ⟨𝑁, 𝑁, 𝑁⟩) = (.r‘𝐴))
2219, 21syl 18 . . . . . . 7 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑅 maMul ⟨𝑁, 𝑁, 𝑁⟩) = (.r‘𝐴))
2322oveqd 7468 . . . . . 6 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑋(𝑅 maMul ⟨𝑁, 𝑁, 𝑁⟩)(𝐼‘𝑋)) = (𝑋(.r‘𝐴)(𝐼‘𝑋)))
24 crngring 20523 . . . . . . . . . . 11 (𝑅 ∈ CRing → 𝑅 ∈ Ring)
2524adantl 487 . . . . . . . . . 10 ((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) → 𝑅 ∈ Ring)
2625, 17anim12ci 626 . . . . . . . . 9 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) → (𝑁 ∈ Fin ∧ 𝑅 ∈ Ring))
27263adant3 1150 . . . . . . . 8 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑁 ∈ Fin ∧ 𝑅 ∈ Ring))
285matring 22813 . . . . . . . 8 ((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) → 𝐴 ∈ Ring)
2927, 28syl 18 . . . . . . 7 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → 𝐴 ∈ Ring)
30 eqid 2763 . . . . . . . . . 10 (Unit‘𝐴) = (Unit‘𝐴)
31 eqid 2763 . . . . . . . . . 10 (Unit‘𝑅) = (Unit‘𝑅)
325, 9, 6, 30, 31matunit 23048 . . . . . . . . 9 ((𝑅 ∈ CRing ∧ 𝑋 ∈ 𝐵) → (𝑋 ∈ (Unit‘𝐴) ↔ (𝐷‘𝑋) ∈ (Unit‘𝑅)))
3332ad2ant2lr 761 . . . . . . . 8 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉)) → (𝑋 ∈ (Unit‘𝐴) ↔ (𝐷‘𝑋) ∈ (Unit‘𝑅)))
3433biimp3ar 1500 . . . . . . 7 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → 𝑋 ∈ (Unit‘𝐴))
35 eqid 2763 . . . . . . . 8 (.r‘𝐴) = (.r‘𝐴)
36 eqid 2763 . . . . . . . 8 (1r‘𝐴) = (1r‘𝐴)
3730, 10, 35, 36unitrinv 20675 . . . . . . 7 ((𝐴 ∈ Ring ∧ 𝑋 ∈ (Unit‘𝐴)) → (𝑋(.r‘𝐴)(𝐼‘𝑋)) = (1r‘𝐴))
3829, 34, 37syl2anc 596 . . . . . 6 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑋(.r‘𝐴)(𝐼‘𝑋)) = (1r‘𝐴))
3923, 38eqtrd 2798 . . . . 5 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑋(𝑅 maMul ⟨𝑁, 𝑁, 𝑁⟩)(𝐼‘𝑋)) = (1r‘𝐴))
4039oveq1d 7466 . . . 4 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → ((𝑋(𝑅 maMul ⟨𝑁, 𝑁, 𝑁⟩)(𝐼‘𝑋)) · 𝑌) = ((1r‘𝐴) · 𝑌))
41 eqid 2763 . . . . 5 (Base‘𝑅) = (Base‘𝑅)
42253ad2ant1 1151 . . . . 5 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → 𝑅 ∈ Ring)
43173ad2ant2 1152 . . . . 5 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → 𝑁 ∈ Fin)
447eleq2i 2856 . . . . . . . 8 (𝑌 ∈ 𝑉 ↔ 𝑌 ∈ ((Base‘𝑅) ↑m 𝑁))
4544biimpi 219 . . . . . . 7 (𝑌 ∈ 𝑉 → 𝑌 ∈ ((Base‘𝑅) ↑m 𝑁))
4645adantl 487 . . . . . 6 ((𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) → 𝑌 ∈ ((Base‘𝑅) ↑m 𝑁))
47463ad2ant2 1152 . . . . 5 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → 𝑌 ∈ ((Base‘𝑅) ↑m 𝑁))
486eleq2i 2856 . . . . . . . 8 (𝑋 ∈ 𝐵 ↔ 𝑋 ∈ (Base‘𝐴))
4948biimpi 219 . . . . . . 7 (𝑋 ∈ 𝐵 → 𝑋 ∈ (Base‘𝐴))
5049adantr 486 . . . . . 6 ((𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) → 𝑋 ∈ (Base‘𝐴))
51503ad2ant2 1152 . . . . 5 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → 𝑋 ∈ (Base‘𝐴))
52 eqid 2763 . . . . . . 7 (Base‘𝐴) = (Base‘𝐴)
5330, 10, 52ringinvcl 20673 . . . . . 6 ((𝐴 ∈ Ring ∧ 𝑋 ∈ (Unit‘𝐴)) → (𝐼‘𝑋) ∈ (Base‘𝐴))
5429, 34, 53syl2anc 596 . . . . 5 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝐼‘𝑋) ∈ (Base‘𝐴))
555, 41, 8, 42, 43, 47, 20, 51, 54mavmulass 22919 . . . 4 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → ((𝑋(𝑅 maMul ⟨𝑁, 𝑁, 𝑁⟩)(𝐼‘𝑋)) · 𝑌) = (𝑋 · ((𝐼‘𝑋) · 𝑌)))
565, 41, 8, 42, 43, 471mavmul 22918 . . . 4 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → ((1r‘𝐴) · 𝑌) = 𝑌)
5740, 55, 563eqtr3d 2806 . . 3 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → (𝑋 · ((𝐼‘𝑋) · 𝑌)) = 𝑌)
5813, 57sylan9eqr 2820 . 2 ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) ∧ 𝑍 = ((𝐼‘𝑋) · 𝑌)) → (𝑋 · 𝑍) = 𝑌)
5912, 58impbida 813 1 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋 ∈ 𝐵 ∧ 𝑌 ∈ 𝑉) ∧ (𝐷‘𝑋) ∈ (Unit‘𝑅)) → ((𝑋 · 𝑍) = 𝑌 ↔ 𝑍 = ((𝐼‘𝑋) · 𝑌)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401   ∧ w3a 1103   = wceq 1570   ∈ wcel 2147   ≠ wne 2959  Vcvv 3454  ∅c0 4281  ⟨cop 4840  ⟨cotp 4863  ‘cfv 6566  (class class class)co 7451   ↑m cmap 8885  Fincfn 9011  Basecbs 17431  .rcmulr 17473  1rcur 20458  Ringcrg 20510  CRingccrg 20511  Unitcui 20636  invrcinvr 20668   maMul cmmul 22760   Mat cmat 22777   maVecMul cmvmul 22910   maDet cmdat 22954
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 1945  ax-6 2002  ax-7 2043  ax-8 2149  ax-9 2157  ax-10 2180  ax-11 2197  ax-12 2216  ax-ext 2735  ax-rep 5238  ax-sep 5255  ax-nul 5266  ax-pow 5334  ax-pr 5398  ax-un 7783  ax-cnex 11295  ax-resscn 11296  ax-1cn 11297  ax-icn 11298  ax-addcl 11299  ax-addrcl 11300  ax-mulcl 11301  ax-mulrcl 11302  ax-mulcom 11303  ax-addass 11304  ax-mulass 11305  ax-distr 11306  ax-i2m1 11307  ax-1ne0 11308  ax-1rid 11309  ax-rnegex 11310  ax-rrecex 11311  ax-cnre 11312  ax-pre-lttri 11313  ax-pre-lttrn 11314  ax-pre-ltadd 11315  ax-pre-mulgt0 11316  ax-addf 11318  ax-mulf 11319
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 2102  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2839  df-nfc 2913  df-ne 2960  df-nel 3066  df-ral 3081  df-rex 3091  df-rmo 3369  df-reu 3370  df-rab 3417  df-v 3456  df-sbc 3743  df-csb 3852  df-ss 3901  df-pss 4017  df-dif 4050  df-in 4094  df-un 4154  df-nul 4282  df-if 4486  df-pw 4562  df-sn 4589  df-pr 4591  df-tp 4593  df-op 4841  df-ot 4864  df-uni 4873  df-int 4913  df-iun 4958  df-iin 4959  df-br 5109  df-opab 5174  df-mpt 5193  df-tr 5219  df-id 5553  df-eprel 5558  df-po 5566  df-so 5567  df-fr 5611  df-se 5612  df-we 5613  df-xp 5664  df-rel 5665  df-cnv 5666  df-co 5667  df-dm 5668  df-rn 5669  df-res 5670  df-ima 5671  df-pred 6330  df-ord 6391  df-on 6392  df-lim 6393  df-suc 6394  df-iota 6520  df-fun 6568  df-fn 6569  df-f 6570  df-f1 6571  df-fo 6572  df-f1o 6573  df-fv 6574  df-isom 6575  df-riota 7408  df-ov 7454  df-oprab 7455  df-mpo 7456  df-of 7725  df-om 7912  df-1st 8035  df-2nd 8036  df-supp 8215  df-tpos 8281  df-frecs 8337  df-wrecs 8368  df-recs 8417  df-rdg 8456  df-1o 8514  df-2o 8515  df-er 8755  df-map 8887  df-pm 8888  df-ixp 8964  df-en 9012  df-dom 9013  df-sdom 9014  df-fin 9015  df-fsupp 9392  df-sup 9471  df-oi 9541  df-card 10057  df-pnf 11384  df-mnf 11385  df-xr 11386  df-ltxr 11387  df-le 11388  df-sub 11582  df-neg 11583  df-div 12014  df-nn 12376  df-2 12445  df-3 12446  df-4 12447  df-5 12448  df-6 12449  df-7 12450  df-8 12451  df-9 12452  df-n0 12647  df-xnn0 12720  df-z 12734  df-dec 12855  df-uz 13006  df-rp 13161  df-fz 13680  df-fzo 13829  df-seq 14185  df-exp 14245  df-hash 14516  df-word 14700  df-lsw 14749  df-concat 14757  df-s1 14784  df-substr 14831  df-pfx 14863  df-splice 14941  df-reverse 14950  df-s2 15041  df-struct 17369  df-sets 17386  df-slot 17404  df-ndx 17416  df-base 17432  df-ress 17453  df-plusg 17486  df-mulr 17487  df-starv 17488  df-sca 17489  df-vsca 17490  df-ip 17491  df-tset 17492  df-ple 17493  df-ds 17495  df-unif 17496  df-hom 17497  df-cco 17498  df-euf 17499  df-0g 17662  df-gsum 17663  df-prds 17668  df-pws 17670  df-mre 17806  df-mrc 17807  df-acs 17809  df-mgm 18866  df-sgrp 18958  df-mnd 18974  df-mhm 19028  df-submnd 19029  df-efmnd 19115  df-grp 19197  df-minusg 19198  df-sbg 19199  df-mulg 19328  df-subg 19383  df-ghm 19478  df-gim 19523  df-cntz 19582  df-oppg 19611  df-symg 19635  df-pmtr 19707  df-psgn 19756  df-evpm 19757  df-cmn 20047  df-abl 20048  df-mgp 20412  df-rng 20426  df-ur 20459  df-srg 20464  df-ring 20512  df-cring 20513  df-oppr 20618  df-dvdsr 20638  df-unit 20639  df-invr 20669  df-dvr 20682  df-rhm 20753  df-subrng 20849  df-subrg 20873  df-drng 21033  df-lmod 21188  df-lss 21258  df-sra 21499  df-rgmod 21500  df-cnfld 21730  df-zring 21807  df-zrh 21864  df-dsmm 22093  df-frlm 22108  df-assa 22216  df-mamu 22761  df-mat 22778  df-mvmul 22911  df-mdet 22955  df-madu 23004
This theorem is used by:  slesolex  23055
  Copyright terms: Public domain W3C validator