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

Theorem slesolex 22620
Description: Every system of linear equations represented by a matrix with a unit as determinant has a solution. (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 𝑅)
Assertion
Ref Expression
slesolex (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → ∃𝑧𝑉 (𝑋 · 𝑧) = 𝑌)
Distinct variable groups:   𝑧,𝐴   𝑧,𝐵   𝑧,𝐷   𝑧,𝑁   𝑧,𝑅   𝑧,𝑉   𝑧,𝑋   𝑧,𝑌   𝑧, ·

Proof of Theorem slesolex
StepHypRef Expression
1 slesolex.a . . . . 5 𝐴 = (𝑁 Mat 𝑅)
2 slesolex.x . . . . 5 · = (𝑅 maVecMul ⟨𝑁, 𝑁⟩)
3 eqid 2735 . . . . 5 (Base‘𝑅) = (Base‘𝑅)
4 eqid 2735 . . . . 5 (.r𝑅) = (.r𝑅)
5 crngring 20205 . . . . . . 7 (𝑅 ∈ CRing → 𝑅 ∈ Ring)
65adantl 481 . . . . . 6 ((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) → 𝑅 ∈ Ring)
763ad2ant1 1133 . . . . 5 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → 𝑅 ∈ Ring)
8 slesolex.b . . . . . . . . 9 𝐵 = (Base‘𝐴)
91, 8matrcl 22350 . . . . . . . 8 (𝑋𝐵 → (𝑁 ∈ Fin ∧ 𝑅 ∈ V))
109simpld 494 . . . . . . 7 (𝑋𝐵𝑁 ∈ Fin)
1110adantr 480 . . . . . 6 ((𝑋𝐵𝑌𝑉) → 𝑁 ∈ Fin)
12113ad2ant2 1134 . . . . 5 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → 𝑁 ∈ Fin)
136, 11anim12ci 614 . . . . . . . 8 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉)) → (𝑁 ∈ Fin ∧ 𝑅 ∈ Ring))
14133adant3 1132 . . . . . . 7 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (𝑁 ∈ Fin ∧ 𝑅 ∈ Ring))
151matring 22381 . . . . . . 7 ((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) → 𝐴 ∈ Ring)
1614, 15syl 17 . . . . . 6 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → 𝐴 ∈ Ring)
17 slesolex.d . . . . . . . . . 10 𝐷 = (𝑁 maDet 𝑅)
18 eqid 2735 . . . . . . . . . 10 (Unit‘𝐴) = (Unit‘𝐴)
19 eqid 2735 . . . . . . . . . 10 (Unit‘𝑅) = (Unit‘𝑅)
201, 17, 8, 18, 19matunit 22616 . . . . . . . . 9 ((𝑅 ∈ CRing ∧ 𝑋𝐵) → (𝑋 ∈ (Unit‘𝐴) ↔ (𝐷𝑋) ∈ (Unit‘𝑅)))
2120bicomd 223 . . . . . . . 8 ((𝑅 ∈ CRing ∧ 𝑋𝐵) → ((𝐷𝑋) ∈ (Unit‘𝑅) ↔ 𝑋 ∈ (Unit‘𝐴)))
2221ad2ant2lr 748 . . . . . . 7 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉)) → ((𝐷𝑋) ∈ (Unit‘𝑅) ↔ 𝑋 ∈ (Unit‘𝐴)))
2322biimp3a 1471 . . . . . 6 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → 𝑋 ∈ (Unit‘𝐴))
24 eqid 2735 . . . . . . 7 (invr𝐴) = (invr𝐴)
25 eqid 2735 . . . . . . 7 (Base‘𝐴) = (Base‘𝐴)
2618, 24, 25ringinvcl 20352 . . . . . 6 ((𝐴 ∈ Ring ∧ 𝑋 ∈ (Unit‘𝐴)) → ((invr𝐴)‘𝑋) ∈ (Base‘𝐴))
2716, 23, 26syl2anc 584 . . . . 5 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → ((invr𝐴)‘𝑋) ∈ (Base‘𝐴))
28 slesolex.v . . . . . . . . 9 𝑉 = ((Base‘𝑅) ↑m 𝑁)
2928eleq2i 2826 . . . . . . . 8 (𝑌𝑉𝑌 ∈ ((Base‘𝑅) ↑m 𝑁))
3029biimpi 216 . . . . . . 7 (𝑌𝑉𝑌 ∈ ((Base‘𝑅) ↑m 𝑁))
3130adantl 481 . . . . . 6 ((𝑋𝐵𝑌𝑉) → 𝑌 ∈ ((Base‘𝑅) ↑m 𝑁))
32313ad2ant2 1134 . . . . 5 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → 𝑌 ∈ ((Base‘𝑅) ↑m 𝑁))
331, 2, 3, 4, 7, 12, 27, 32mavmulcl 22485 . . . 4 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (((invr𝐴)‘𝑋) · 𝑌) ∈ ((Base‘𝑅) ↑m 𝑁))
3433, 28eleqtrrdi 2845 . . 3 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (((invr𝐴)‘𝑋) · 𝑌) ∈ 𝑉)
351, 8, 28, 2, 17, 24slesolinvbi 22619 . . . . . 6 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → ((𝑋 · 𝑧) = 𝑌𝑧 = (((invr𝐴)‘𝑋) · 𝑌)))
3635adantr 480 . . . . 5 ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ ((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → ((𝑋 · 𝑧) = 𝑌𝑧 = (((invr𝐴)‘𝑋) · 𝑌)))
3736biimprd 248 . . . 4 ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ ((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅))) → (𝑧 = (((invr𝐴)‘𝑋) · 𝑌) → (𝑋 · 𝑧) = 𝑌))
3837impancom 451 . . 3 ((((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) ∧ 𝑧 = (((invr𝐴)‘𝑋) · 𝑌)) → (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (𝑋 · 𝑧) = 𝑌))
3934, 38rspcimedv 3592 . 2 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → ∃𝑧𝑉 (𝑋 · 𝑧) = 𝑌))
4039pm2.43i 52 1 (((𝑁 ≠ ∅ ∧ 𝑅 ∈ CRing) ∧ (𝑋𝐵𝑌𝑉) ∧ (𝐷𝑋) ∈ (Unit‘𝑅)) → ∃𝑧𝑉 (𝑋 · 𝑧) = 𝑌)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1086   = wceq 1540  wcel 2108  wne 2932  wrex 3060  Vcvv 3459  c0 4308  cop 4607  cfv 6531  (class class class)co 7405  m cmap 8840  Fincfn 8959  Basecbs 17228  .rcmulr 17272  Ringcrg 20193  CRingccrg 20194  Unitcui 20315  invrcinvr 20347   Mat cmat 22345   maVecMul cmvmul 22478   maDet cmdat 22522
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 5249  ax-sep 5266  ax-nul 5276  ax-pow 5335  ax-pr 5402  ax-un 7729  ax-cnex 11185  ax-resscn 11186  ax-1cn 11187  ax-icn 11188  ax-addcl 11189  ax-addrcl 11190  ax-mulcl 11191  ax-mulrcl 11192  ax-mulcom 11193  ax-addass 11194  ax-mulass 11195  ax-distr 11196  ax-i2m1 11197  ax-1ne0 11198  ax-1rid 11199  ax-rnegex 11200  ax-rrecex 11201  ax-cnre 11202  ax-pre-lttri 11203  ax-pre-lttrn 11204  ax-pre-ltadd 11205  ax-pre-mulgt0 11206  ax-addf 11208  ax-mulf 11209
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  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 2727  df-clel 2809  df-nfc 2885  df-ne 2933  df-nel 3037  df-ral 3052  df-rex 3061  df-rmo 3359  df-reu 3360  df-rab 3416  df-v 3461  df-sbc 3766  df-csb 3875  df-dif 3929  df-un 3931  df-in 3933  df-ss 3943  df-pss 3946  df-nul 4309  df-if 4501  df-pw 4577  df-sn 4602  df-pr 4604  df-tp 4606  df-op 4608  df-ot 4610  df-uni 4884  df-int 4923  df-iun 4969  df-iin 4970  df-br 5120  df-opab 5182  df-mpt 5202  df-tr 5230  df-id 5548  df-eprel 5553  df-po 5561  df-so 5562  df-fr 5606  df-se 5607  df-we 5608  df-xp 5660  df-rel 5661  df-cnv 5662  df-co 5663  df-dm 5664  df-rn 5665  df-res 5666  df-ima 5667  df-pred 6290  df-ord 6355  df-on 6356  df-lim 6357  df-suc 6358  df-iota 6484  df-fun 6533  df-fn 6534  df-f 6535  df-f1 6536  df-fo 6537  df-f1o 6538  df-fv 6539  df-isom 6540  df-riota 7362  df-ov 7408  df-oprab 7409  df-mpo 7410  df-of 7671  df-om 7862  df-1st 7988  df-2nd 7989  df-supp 8160  df-tpos 8225  df-frecs 8280  df-wrecs 8311  df-recs 8385  df-rdg 8424  df-1o 8480  df-2o 8481  df-er 8719  df-map 8842  df-pm 8843  df-ixp 8912  df-en 8960  df-dom 8961  df-sdom 8962  df-fin 8963  df-fsupp 9374  df-sup 9454  df-oi 9524  df-card 9953  df-pnf 11271  df-mnf 11272  df-xr 11273  df-ltxr 11274  df-le 11275  df-sub 11468  df-neg 11469  df-div 11895  df-nn 12241  df-2 12303  df-3 12304  df-4 12305  df-5 12306  df-6 12307  df-7 12308  df-8 12309  df-9 12310  df-n0 12502  df-xnn0 12575  df-z 12589  df-dec 12709  df-uz 12853  df-rp 13009  df-fz 13525  df-fzo 13672  df-seq 14020  df-exp 14080  df-hash 14349  df-word 14532  df-lsw 14581  df-concat 14589  df-s1 14614  df-substr 14659  df-pfx 14689  df-splice 14768  df-reverse 14777  df-s2 14867  df-struct 17166  df-sets 17183  df-slot 17201  df-ndx 17213  df-base 17229  df-ress 17252  df-plusg 17284  df-mulr 17285  df-starv 17286  df-sca 17287  df-vsca 17288  df-ip 17289  df-tset 17290  df-ple 17291  df-ds 17293  df-unif 17294  df-hom 17295  df-cco 17296  df-0g 17455  df-gsum 17456  df-prds 17461  df-pws 17463  df-mre 17598  df-mrc 17599  df-acs 17601  df-mgm 18618  df-sgrp 18697  df-mnd 18713  df-mhm 18761  df-submnd 18762  df-efmnd 18847  df-grp 18919  df-minusg 18920  df-sbg 18921  df-mulg 19051  df-subg 19106  df-ghm 19196  df-gim 19242  df-cntz 19300  df-oppg 19329  df-symg 19351  df-pmtr 19423  df-psgn 19472  df-evpm 19473  df-cmn 19763  df-abl 19764  df-mgp 20101  df-rng 20113  df-ur 20142  df-srg 20147  df-ring 20195  df-cring 20196  df-oppr 20297  df-dvdsr 20317  df-unit 20318  df-invr 20348  df-dvr 20361  df-rhm 20432  df-subrng 20506  df-subrg 20530  df-drng 20691  df-lmod 20819  df-lss 20889  df-sra 21131  df-rgmod 21132  df-cnfld 21316  df-zring 21408  df-zrh 21464  df-dsmm 21692  df-frlm 21707  df-assa 21813  df-mamu 22329  df-mat 22346  df-mvmul 22479  df-mdet 22523  df-madu 22572
This theorem is referenced by:  cramerlem3  22627
  Copyright terms: Public domain W3C validator