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

Theorem dmatmulcl 22694
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 7429 . . . . . 6 (𝑚 = (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )) → (𝑖𝑚𝑗) = (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗))
21eqeq1d 2768 . . . . 5 (𝑚 = (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )) → ((𝑖𝑚𝑗) = 0 ↔ (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗) = 0 ))
32imbi2d 343 . . . 4 (𝑚 = (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )) → ((𝑖𝑗 → (𝑖𝑚𝑗) = 0 ) ↔ (𝑖𝑗 → (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗) = 0 )))
432ralbidv 3232 . . 3 (𝑚 = (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )) → (∀𝑖𝑁𝑗𝑁 (𝑖𝑗 → (𝑖𝑚𝑗) = 0 ) ↔ ∀𝑖𝑁𝑗𝑁 (𝑖𝑗 → (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗) = 0 )))
5 dmatid.a . . . 4 𝐴 = (𝑁 Mat 𝑅)
6 eqid 2766 . . . 4 (Base‘𝑅) = (Base‘𝑅)
7 dmatid.b . . . 4 𝐵 = (Base‘𝐴)
8 simpll 779 . . . 4 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → 𝑁 ∈ Fin)
9 simplr 781 . . . 4 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → 𝑅 ∈ Ring)
1093ad2ant1 1151 . . . . . 6 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → 𝑅 ∈ Ring)
11 eqid 2766 . . . . . . 7 (Base‘𝐴) = (Base‘𝐴)
12 simp2 1155 . . . . . . 7 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → 𝑥𝑁)
13 simp3 1156 . . . . . . 7 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → 𝑦𝑁)
14 dmatid.0 . . . . . . . . . . 11 0 = (0g𝑅)
15 dmatid.d . . . . . . . . . . 11 𝐷 = (𝑁 DMat 𝑅)
165, 11, 14, 15dmatmat 22688 . . . . . . . . . 10 ((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) → (𝑋𝐷𝑋 ∈ (Base‘𝐴)))
1716imp 412 . . . . . . . . 9 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ 𝑋𝐷) → 𝑋 ∈ (Base‘𝐴))
1817adantrr 730 . . . . . . . 8 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → 𝑋 ∈ (Base‘𝐴))
19183ad2ant1 1151 . . . . . . 7 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → 𝑋 ∈ (Base‘𝐴))
205, 6, 11, 12, 13, 19matecld 22620 . . . . . 6 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → (𝑥𝑋𝑦) ∈ (Base‘𝑅))
215, 11, 14, 15dmatmat 22688 . . . . . . . . . 10 ((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) → (𝑌𝐷𝑌 ∈ (Base‘𝐴)))
2221imp 412 . . . . . . . . 9 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ 𝑌𝐷) → 𝑌 ∈ (Base‘𝐴))
2322adantrl 729 . . . . . . . 8 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → 𝑌 ∈ (Base‘𝐴))
24233ad2ant1 1151 . . . . . . 7 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → 𝑌 ∈ (Base‘𝐴))
255, 6, 11, 12, 13, 24matecld 22620 . . . . . 6 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → (𝑥𝑌𝑦) ∈ (Base‘𝑅))
26 eqid 2766 . . . . . . 7 (.r𝑅) = (.r𝑅)
276, 26ringcl 20363 . . . . . 6 ((𝑅 ∈ Ring ∧ (𝑥𝑋𝑦) ∈ (Base‘𝑅) ∧ (𝑥𝑌𝑦) ∈ (Base‘𝑅)) → ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)) ∈ (Base‘𝑅))
2810, 20, 25, 27syl3anc 1398 . . . . 5 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)) ∈ (Base‘𝑅))
296, 14ring0cl 20382 . . . . . . . 8 (𝑅 ∈ Ring → 0 ∈ (Base‘𝑅))
3029adantl 487 . . . . . . 7 ((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) → 0 ∈ (Base‘𝑅))
3130adantr 486 . . . . . 6 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → 0 ∈ (Base‘𝑅))
32313ad2ant1 1151 . . . . 5 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → 0 ∈ (Base‘𝑅))
3328, 32ifcld 4539 . . . 4 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ 𝑥𝑁𝑦𝑁) → if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ) ∈ (Base‘𝑅))
345, 6, 7, 8, 9, 33matbas2d 22617 . . 3 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )) ∈ 𝐵)
35 eqidd 2767 . . . . . . 7 (((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) → (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )) = (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )))
36 eqeq12 2783 . . . . . . . . 9 ((𝑥 = 𝑖𝑦 = 𝑗) → (𝑥 = 𝑦𝑖 = 𝑗))
37 oveq12 7432 . . . . . . . . . 10 ((𝑥 = 𝑖𝑦 = 𝑗) → (𝑥𝑋𝑦) = (𝑖𝑋𝑗))
38 oveq12 7432 . . . . . . . . . 10 ((𝑥 = 𝑖𝑦 = 𝑗) → (𝑥𝑌𝑦) = (𝑖𝑌𝑗))
3937, 38oveq12d 7441 . . . . . . . . 9 ((𝑥 = 𝑖𝑦 = 𝑗) → ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)) = ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)))
4036, 39ifbieq1d 4517 . . . . . . . 8 ((𝑥 = 𝑖𝑦 = 𝑗) → if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ) = if(𝑖 = 𝑗, ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)), 0 ))
4140adantl 487 . . . . . . 7 ((((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) ∧ (𝑥 = 𝑖𝑦 = 𝑗)) → if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ) = if(𝑖 = 𝑗, ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)), 0 ))
42 simplrl 789 . . . . . . 7 (((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) → 𝑖𝑁)
43 simplrr 790 . . . . . . 7 (((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) → 𝑗𝑁)
44 ovex 7456 . . . . . . . . 9 ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)) ∈ V
4514fvexi 6902 . . . . . . . . 9 0 ∈ V
4644, 45ifex 4543 . . . . . . . 8 if(𝑖 = 𝑗, ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)), 0 ) ∈ V
4746a1i 11 . . . . . . 7 (((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) → if(𝑖 = 𝑗, ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)), 0 ) ∈ V)
4835, 41, 42, 43, 47ovmpod 7575 . . . . . 6 (((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) → (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗) = if(𝑖 = 𝑗, ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)), 0 ))
49 ifnefalse 4504 . . . . . . 7 (𝑖𝑗 → if(𝑖 = 𝑗, ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)), 0 ) = 0 )
5049adantl 487 . . . . . 6 (((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) → if(𝑖 = 𝑗, ((𝑖𝑋𝑗)(.r𝑅)(𝑖𝑌𝑗)), 0 ) = 0 )
5148, 50eqtrd 2801 . . . . 5 (((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) ∧ 𝑖𝑗) → (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗) = 0 )
5251ex 418 . . . 4 ((((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) ∧ (𝑖𝑁𝑗𝑁)) → (𝑖𝑗 → (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗) = 0 ))
5352ralrimivva 3211 . . 3 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → ∀𝑖𝑁𝑗𝑁 (𝑖𝑗 → (𝑖(𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 ))𝑗) = 0 ))
544, 34, 53elrabd 3655 . 2 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )) ∈ {𝑚𝐵 ∣ ∀𝑖𝑁𝑗𝑁 (𝑖𝑗 → (𝑖𝑚𝑗) = 0 )})
555, 7, 14, 15dmatmul 22691 . 2 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → (𝑋(.r𝐴)𝑌) = (𝑥𝑁, 𝑦𝑁 ↦ if(𝑥 = 𝑦, ((𝑥𝑋𝑦)(.r𝑅)(𝑥𝑌𝑦)), 0 )))
565, 7, 14, 15dmatval 22686 . . 3 ((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) → 𝐷 = {𝑚𝐵 ∣ ∀𝑖𝑁𝑗𝑁 (𝑖𝑗 → (𝑖𝑚𝑗) = 0 )})
5756adantr 486 . 2 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → 𝐷 = {𝑚𝐵 ∣ ∀𝑖𝑁𝑗𝑁 (𝑖𝑗 → (𝑖𝑚𝑗) = 0 )})
5854, 55, 573eltr4d 2881 1 (((𝑁 ∈ Fin ∧ 𝑅 ∈ Ring) ∧ (𝑋𝐷𝑌𝐷)) → (𝑋(.r𝐴)𝑌) ∈ 𝐷)
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wa 401  w3a 1103   = wceq 1570  wcel 2146  wne 2961  wral 3082  {crab 3419  Vcvv 3458  ifcif 4492  cfv 6543  (class class class)co 7423  cmpo 7425  Fincfn 8952  Basecbs 17294  .rcmulr 17336  0gc0g 17517  Ringcrg 20346   Mat cmat 22601   DMat cdmat 22682
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 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2738  ax-rep 5243  ax-sep 5262  ax-nul 5274  ax-pow 5341  ax-pr 5409  ax-un 7745  ax-cnex 11174  ax-resscn 11175  ax-1cn 11176  ax-icn 11177  ax-addcl 11178  ax-addrcl 11179  ax-mulcl 11180  ax-mulrcl 11181  ax-mulcom 11182  ax-addass 11183  ax-mulass 11184  ax-distr 11185  ax-i2m1 11186  ax-1ne0 11187  ax-1rid 11188  ax-rnegex 11189  ax-rrecex 11190  ax-cnre 11191  ax-pre-lttri 11192  ax-pre-lttrn 11193  ax-pre-ltadd 11194  ax-pre-mulgt0 11195
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2570  df-eu 2600  df-clab 2745  df-cleq 2758  df-clel 2841  df-nfc 2915  df-ne 2962  df-nel 3068  df-ral 3083  df-rex 3093  df-rmo 3372  df-reu 3373  df-rab 3420  df-v 3460  df-sbc 3748  df-csb 3857  df-dif 3911  df-un 3913  df-in 3915  df-ss 3925  df-pss 3928  df-nul 4290  df-if 4493  df-pw 4569  df-sn 4595  df-pr 4597  df-tp 4599  df-op 4601  df-ot 4603  df-uni 4878  df-int 4918  df-iun 4963  df-iin 4964  df-br 5115  df-opab 5179  df-mpt 5198  df-tr 5224  df-id 5561  df-eprel 5566  df-po 5574  df-so 5575  df-fr 5619  df-se 5620  df-we 5621  df-xp 5672  df-rel 5673  df-cnv 5674  df-co 5675  df-dm 5676  df-rn 5677  df-res 5678  df-ima 5679  df-pred 6309  df-ord 6370  df-on 6371  df-lim 6372  df-suc 6373  df-iota 6499  df-fun 6545  df-fn 6546  df-f 6547  df-f1 6548  df-fo 6549  df-f1o 6550  df-fv 6551  df-isom 6552  df-riota 7380  df-ov 7426  df-oprab 7427  df-mpo 7428  df-of 7687  df-om 7872  df-1st 7995  df-2nd 7996  df-supp 8166  df-frecs 8287  df-wrecs 8318  df-recs 8367  df-rdg 8406  df-1o 8462  df-2o 8463  df-er 8703  df-map 8835  df-ixp 8905  df-en 8953  df-dom 8954  df-sdom 8955  df-fin 8956  df-fsupp 9332  df-sup 9412  df-oi 9482  df-card 9944  df-pnf 11263  df-mnf 11264  df-xr 11265  df-ltxr 11266  df-le 11267  df-sub 11461  df-neg 11462  df-nn 12252  df-2 12321  df-3 12322  df-4 12323  df-5 12324  df-6 12325  df-7 12326  df-8 12327  df-9 12328  df-n0 12523  df-z 12610  df-dec 12730  df-uz 12881  df-fz 13554  df-fzo 13702  df-seq 14058  df-hash 14387  df-struct 17232  df-sets 17249  df-slot 17267  df-ndx 17279  df-base 17295  df-ress 17316  df-plusg 17348  df-mulr 17349  df-sca 17351  df-vsca 17352  df-ip 17353  df-tset 17354  df-ple 17355  df-ds 17357  df-hom 17359  df-cco 17360  df-0g 17519  df-gsum 17520  df-prds 17525  df-pws 17527  df-mre 17663  df-mrc 17664  df-acs 17666  df-mgm 18723  df-sgrp 18806  df-mnd 18822  df-submnd 18873  df-grp 19034  df-minusg 19035  df-mulg 19165  df-cntz 19418  df-cmn 19883  df-abl 19884  df-mgp 20248  df-rng 20262  df-ur 20295  df-ring 20348  df-sra 21331  df-rgmod 21332  df-dsmm 21919  df-frlm 21934  df-mamu 22585  df-mat 22602  df-dmat 22684
This theorem is used by:  dmatsrng  22695
  Copyright terms: Public domain W3C validator