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

Theorem dmatmulcl 21849
Description: The product of two diagonal matrices is a diagonal matrix. (Contributed by AV, 20-Aug-2019.) (Revised by AV, 18-Dec-2019.)
Hypotheses
Ref Expression
dmatid.a 𝐴 = (𝑁 Mat 𝑅)
dmatid.b 𝐵 = (Base‘𝐴)
dmatid.0 0 = (0g𝑅)
dmatid.d 𝐷 = (𝑁 DMat 𝑅)
Assertion
Ref Expression
dmatmulcl (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → (𝑋(.r𝐴)𝑌) ∈ 𝐷)

Proof of Theorem dmatmulcl
Dummy variables 𝑖 𝑗 𝑥 𝑦 𝑚 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 oveq 7363 . . . . . 6 (𝑚 = (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )) → (𝑖𝑚𝑗) = (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗))
21eqeq1d 2738 . . . . 5 (𝑚 = (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )) → ((𝑖𝑚𝑗) = 0 ↔ (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗) = 0 ))
32imbi2d 340 . . . 4 (𝑚 = (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )) → ((𝑖𝑗 → (𝑖𝑚𝑗) = 0 ) ↔ (𝑖𝑗 → (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗) = 0 )))
432ralbidv 3212 . . 3 (𝑚 = (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )) → (∀𝑖𝑁𝑗𝑁 (𝑖𝑗 → (𝑖𝑚𝑗) = 0 ) ↔ ∀𝑖𝑁𝑗𝑁 (𝑖𝑗 → (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗) = 0 )))
5 dmatid.a . . . 4 𝐴 = (𝑁 Mat 𝑅)
6 eqid 2736 . . . 4 (Base‘𝑅) = (Base‘𝑅)
7 dmatid.b . . . 4 𝐵 = (Base‘𝐴)
8 simpll 765 . . . 4 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → 𝑁 ∈ Fin)
9 simplr 767 . . . 4 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → 𝑅 ∈ Ring)
1093ad2ant1 1133 . . . . . 6 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → 𝑅 ∈ Ring)
11 eqid 2736 . . . . . . 7 (Base‘𝐴) = (Base‘𝐴)
12 simp2 1137 . . . . . . 7 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → 𝑥𝑁)
13 simp3 1138 . . . . . . 7 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → 𝑦𝑁)
14 dmatid.0 . . . . . . . . . . 11 0 = (0g𝑅)
15 dmatid.d . . . . . . . . . . 11 𝐷 = (𝑁 DMat 𝑅)
165, 11, 14, 15dmatmat 21843 . . . . . . . . . 10 ((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) → (𝑋𝐷𝑋 ∈ (Base‘𝐴)))
1716imp 407 . . . . . . . . 9 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ 𝑋𝐷) → 𝑋 ∈ (Base‘𝐴))
1817adantrr 715 . . . . . . . 8 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → 𝑋 ∈ (Base‘𝐴))
19183ad2ant1 1133 . . . . . . 7 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → 𝑋 ∈ (Base‘𝐴))
205, 6, 11, 12, 13, 19matecld 21775 . . . . . 6 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → (𝑥𝑋𝑦) ∈ (Base‘𝑅))
215, 11, 14, 15dmatmat 21843 . . . . . . . . . 10 ((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) → (𝑌𝐷𝑌 ∈ (Base‘𝐴)))
2221imp 407 . . . . . . . . 9 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ 𝑌𝐷) → 𝑌 ∈ (Base‘𝐴))
2322adantrl 714 . . . . . . . 8 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → 𝑌 ∈ (Base‘𝐴))
24233ad2ant1 1133 . . . . . . 7 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → 𝑌 ∈ (Base‘𝐴))
255, 6, 11, 12, 13, 24matecld 21775 . . . . . 6 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → (𝑥𝑌𝑦) ∈ (Base‘𝑅))
26 eqid 2736 . . . . . . 7 (.r𝑅) = (.r𝑅)
276, 26ringcl 19981 . . . . . 6 ((𝑅 ∈ Ring ∧ (𝑥𝑋𝑦) ∈ (Base‘𝑅) ∧ (𝑥𝑌𝑦) ∈ (Base‘𝑅)) → ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)) ∈ (Base‘𝑅))
2810, 20, 25, 27syl3anc 1371 . . . . 5 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)) ∈ (Base‘𝑅))
296, 14ring0cl 19990 . . . . . . . 8 (𝑅 ∈ Ring → 0 ∈ (Base‘𝑅))
3029adantl 482 . . . . . . 7 ((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) → 0 ∈ (Base‘𝑅))
3130adantr 481 . . . . . 6 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → 0 ∈ (Base‘𝑅))
32313ad2ant1 1133 . . . . 5 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → 0 ∈ (Base‘𝑅))
3328, 32ifcld 4532 . . . 4 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ) ∈ (Base‘𝑅))
345, 6, 7, 8, 9, 33matbas2d 21772 . . 3 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )) ∈ 𝐵)
35 eqidd 2737 . . . . . . 7 (((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) → (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )) = (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )))
36 eqeq12 2753 . . . . . . . . 9 ((𝑥 = 𝑖𝑦 = 𝑗) → (𝑥 = 𝑦𝑖 = 𝑗))
37 oveq12 7366 . . . . . . . . . 10 ((𝑥 = 𝑖𝑦 = 𝑗) → (𝑥𝑋𝑦) = (𝑖𝑋𝑗))
38 oveq12 7366 . . . . . . . . . 10 ((𝑥 = 𝑖𝑦 = 𝑗) → (𝑥𝑌𝑦) = (𝑖𝑌𝑗))
3937, 38oveq12d 7375 . . . . . . . . 9 ((𝑥 = 𝑖𝑦 = 𝑗) → ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)) = ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)))
4036, 39ifbieq1d 4510 . . . . . . . 8 ((𝑥 = 𝑖𝑦 = 𝑗) → if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ) = if(𝑖 = 𝑗, ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)), 0 ))
4140adantl 482 . . . . . . 7 ((((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) ∧ (𝑥 = 𝑖𝑦 = 𝑗)) → if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ) = if(𝑖 = 𝑗, ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)), 0 ))
42 simplrl 775 . . . . . . 7 (((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) → 𝑖𝑁)
43 simplrr 776 . . . . . . 7 (((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) → 𝑗𝑁)
44 ovex 7390 . . . . . . . . 9 ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)) ∈ V
4514fvexi 6856 . . . . . . . . 9 0 ∈ V
4644, 45ifex 4536 . . . . . . . 8 if(𝑖 = 𝑗, ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)), 0 ) ∈ V
4746a1i 11 . . . . . . 7 (((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) → if(𝑖 = 𝑗, ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)), 0 ) ∈ V)
4835, 41, 42, 43, 47ovmpod 7507 . . . . . 6 (((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) → (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗) = if(𝑖 = 𝑗, ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)), 0 ))
49 ifnefalse 4498 . . . . . . 7 (𝑖𝑗 → if(𝑖 = 𝑗, ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)), 0 ) = 0 )
5049adantl 482 . . . . . 6 (((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) → if(𝑖 = 𝑗, ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)), 0 ) = 0 )
5148, 50eqtrd 2776 . . . . 5 (((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) → (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗) = 0 )
5251ex 413 . . . 4 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) → (𝑖𝑗 → (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗) = 0 ))
5352ralrimivva 3197 . . 3 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → ∀𝑖𝑁𝑗𝑁 (𝑖𝑗 → (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗) = 0 ))
544, 34, 53elrabd 3647 . 2 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )) ∈ {𝑚𝐵 ∣ ∀𝑖𝑁𝑗𝑁 (𝑖𝑗 → (𝑖𝑚𝑗) = 0 )})
555, 7, 14, 15dmatmul 21846 . 2 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → (𝑋(.r𝐴)𝑌) = (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )))
565, 7, 14, 15dmatval 21841 . . 3 ((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) → 𝐷 = {𝑚𝐵 ∣ ∀𝑖𝑁𝑗𝑁 (𝑖𝑗 → (𝑖𝑚𝑗) = 0 )})
5756adantr 481 . 2 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → 𝐷 = {𝑚𝐵 ∣ ∀𝑖𝑁𝑗𝑁 (𝑖𝑗 → (𝑖𝑚𝑗) = 0 )})
5854, 55, 573eltr4d 2853 1 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → (𝑋(.r𝐴)𝑌) ∈ 𝐷)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wa 396  w3a 1087   = wceq 1541  wcel 2106  wne 2943  wral 3064  {crab 3407  Vcvv 3445  ifcif 4486  cfv 6496  (class class class)co 7357  cmpo 7359  Fincfn 8883  Basecbs 17083  .rcmulr 17134  0gc0g 17321  Ringcrg 19964   Mat cmat 21754   DMat cdmat 21837
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 1913  ax-6 1971  ax-7 2011  ax-8 2108  ax-9 2116  ax-10 2137  ax-11 2154  ax-12 2171  ax-ext 2707  ax-rep 5242  ax-sep 5256  ax-nul 5263  ax-pow 5320  ax-pr 5384  ax-un 7672  ax-cnex 11107  ax-resscn 11108  ax-1cn 11109  ax-icn 11110  ax-addcl 11111  ax-addrcl 11112  ax-mulcl 11113  ax-mulrcl 11114  ax-mulcom 11115  ax-addass 11116  ax-mulass 11117  ax-distr 11118  ax-i2m1 11119  ax-1ne0 11120  ax-1rid 11121  ax-rnegex 11122  ax-rrecex 11123  ax-cnre 11124  ax-pre-lttri 11125  ax-pre-lttrn 11126  ax-pre-ltadd 11127  ax-pre-mulgt0 11128
This theorem depends on definitions:  df-bi 206  df-an 397  df-or 846  df-3or 1088  df-3an 1089  df-tru 1544  df-fal 1554  df-ex 1782  df-nf 1786  df-sb 2068  df-mo 2538  df-eu 2567  df-clab 2714  df-cleq 2728  df-clel 2814  df-nfc 2889  df-ne 2944  df-nel 3050  df-ral 3065  df-rex 3074  df-rmo 3353  df-reu 3354  df-rab 3408  df-v 3447  df-sbc 3740  df-csb 3856  df-dif 3913  df-un 3915  df-in 3917  df-ss 3927  df-pss 3929  df-nul 4283  df-if 4487  df-pw 4562  df-sn 4587  df-pr 4589  df-tp 4591  df-op 4593  df-ot 4595  df-uni 4866  df-int 4908  df-iun 4956  df-iin 4957  df-br 5106  df-opab 5168  df-mpt 5189  df-tr 5223  df-id 5531  df-eprel 5537  df-po 5545  df-so 5546  df-fr 5588  df-se 5589  df-we 5590  df-xp 5639  df-rel 5640  df-cnv 5641  df-co 5642  df-dm 5643  df-rn 5644  df-res 5645  df-ima 5646  df-pred 6253  df-ord 6320  df-on 6321  df-lim 6322  df-suc 6323  df-iota 6448  df-fun 6498  df-fn 6499  df-f 6500  df-f1 6501  df-fo 6502  df-f1o 6503  df-fv 6504  df-isom 6505  df-riota 7313  df-ov 7360  df-oprab 7361  df-mpo 7362  df-of 7617  df-om 7803  df-1st 7921  df-2nd 7922  df-supp 8093  df-frecs 8212  df-wrecs 8243  df-recs 8317  df-rdg 8356  df-1o 8412  df-er 8648  df-map 8767  df-ixp 8836  df-en 8884  df-dom 8885  df-sdom 8886  df-fin 8887  df-fsupp 9306  df-sup 9378  df-oi 9446  df-card 9875  df-pnf 11191  df-mnf 11192  df-xr 11193  df-ltxr 11194  df-le 11195  df-sub 11387  df-neg 11388  df-nn 12154  df-2 12216  df-3 12217  df-4 12218  df-5 12219  df-6 12220  df-7 12221  df-8 12222  df-9 12223  df-n0 12414  df-z 12500  df-dec 12619  df-uz 12764  df-fz 13425  df-fzo 13568  df-seq 13907  df-hash 14231  df-struct 17019  df-sets 17036  df-slot 17054  df-ndx 17066  df-base 17084  df-ress 17113  df-plusg 17146  df-mulr 17147  df-sca 17149  df-vsca 17150  df-ip 17151  df-tset 17152  df-ple 17153  df-ds 17155  df-hom 17157  df-cco 17158  df-0g 17323  df-gsum 17324  df-prds 17329  df-pws 17331  df-mre 17466  df-mrc 17467  df-acs 17469  df-mgm 18497  df-sgrp 18546  df-mnd 18557  df-submnd 18602  df-grp 18751  df-minusg 18752  df-mulg 18873  df-cntz 19097  df-cmn 19564  df-abl 19565  df-mgp 19897  df-ur 19914  df-ring 19966  df-sra 20633  df-rgmod 20634  df-dsmm 21138  df-frlm 21153  df-mamu 21733  df-mat 21755  df-dmat 21839
This theorem is referenced by:  dmatsrng  21850
  Copyright terms: Public domain W3C validator