Metamath Proof Explorer


Theorem mplmonmul

Description: The product of two monomials adds the exponent vectors together. For example, the product of ( x ^ 2 ) ( y ^ 2 ) with ( y ^ 1 ) ( z ^ 3 ) is ( x ^ 2 ) ( y ^ 3 ) ( z ^ 3 ) , where the exponent vectors <. 2 , 2 , 0 >. and <. 0 , 1 , 3 >. are added to give <. 2 , 3 , 3 >. . (Contributed by Mario Carneiro, 9-Jan-2015)

Ref Expression
Hypotheses mplmon.s 𝑃 = ( 𝐼 mPoly 𝑅 )
mplmon.b 𝐵 = ( Base ‘ 𝑃 )
mplmon.z 0 = ( 0g𝑅 )
mplmon.o 1 = ( 1r𝑅 )
mplmon.d 𝐷 = { 𝑓 ∈ ( ℕ0m 𝐼 ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
mplmon.i ( 𝜑𝐼𝑊 )
mplmon.r ( 𝜑𝑅 ∈ Ring )
mplmon.x ( 𝜑𝑋𝐷 )
mplmonmul.t · = ( .r𝑃 )
mplmonmul.x ( 𝜑𝑌𝐷 )
Assertion mplmonmul ( 𝜑 → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) · ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ) = ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , 1 , 0 ) ) )

Proof

Step Hyp Ref Expression
1 mplmon.s 𝑃 = ( 𝐼 mPoly 𝑅 )
2 mplmon.b 𝐵 = ( Base ‘ 𝑃 )
3 mplmon.z 0 = ( 0g𝑅 )
4 mplmon.o 1 = ( 1r𝑅 )
5 mplmon.d 𝐷 = { 𝑓 ∈ ( ℕ0m 𝐼 ) ∣ ( 𝑓 “ ℕ ) ∈ Fin }
6 mplmon.i ( 𝜑𝐼𝑊 )
7 mplmon.r ( 𝜑𝑅 ∈ Ring )
8 mplmon.x ( 𝜑𝑋𝐷 )
9 mplmonmul.t · = ( .r𝑃 )
10 mplmonmul.x ( 𝜑𝑌𝐷 )
11 eqid ( .r𝑅 ) = ( .r𝑅 )
12 1 2 3 4 5 6 7 8 mplmon ( 𝜑 → ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ∈ 𝐵 )
13 1 2 3 4 5 6 7 10 mplmon ( 𝜑 → ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ∈ 𝐵 )
14 1 2 11 9 5 12 13 mplmul ( 𝜑 → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) · ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ) = ( 𝑘𝐷 ↦ ( 𝑅 Σg ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ) ) )
15 eqeq1 ( 𝑦 = 𝑘 → ( 𝑦 = ( 𝑋f + 𝑌 ) ↔ 𝑘 = ( 𝑋f + 𝑌 ) ) )
16 15 ifbid ( 𝑦 = 𝑘 → if ( 𝑦 = ( 𝑋f + 𝑌 ) , 1 , 0 ) = if ( 𝑘 = ( 𝑋f + 𝑌 ) , 1 , 0 ) )
17 16 cbvmptv ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , 1 , 0 ) ) = ( 𝑘𝐷 ↦ if ( 𝑘 = ( 𝑋f + 𝑌 ) , 1 , 0 ) )
18 simpr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } )
19 18 snssd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → { 𝑋 } ⊆ { 𝑥𝐷𝑥r𝑘 } )
20 19 resmptd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ↾ { 𝑋 } ) = ( 𝑗 ∈ { 𝑋 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) )
21 20 oveq2d ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑅 Σg ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ↾ { 𝑋 } ) ) = ( 𝑅 Σg ( 𝑗 ∈ { 𝑋 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ) )
22 7 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝑅 ∈ Ring )
23 ringmnd ( 𝑅 ∈ Ring → 𝑅 ∈ Mnd )
24 22 23 syl ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝑅 ∈ Mnd )
25 8 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝑋𝐷 )
26 iftrue ( 𝑦 = 𝑋 → if ( 𝑦 = 𝑋 , 1 , 0 ) = 1 )
27 eqid ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) = ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) )
28 4 fvexi 1 ∈ V
29 26 27 28 fvmpt ( 𝑋𝐷 → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑋 ) = 1 )
30 25 29 syl ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑋 ) = 1 )
31 ssrab2 { 𝑥𝐷𝑥r𝑘 } ⊆ 𝐷
32 6 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝐼𝑊 )
33 simplr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝑘𝐷 )
34 eqid { 𝑥𝐷𝑥r𝑘 } = { 𝑥𝐷𝑥r𝑘 }
35 5 34 psrbagconcl ( ( 𝐼𝑊𝑘𝐷𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑘f𝑋 ) ∈ { 𝑥𝐷𝑥r𝑘 } )
36 32 33 18 35 syl3anc ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑘f𝑋 ) ∈ { 𝑥𝐷𝑥r𝑘 } )
37 31 36 sseldi ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑘f𝑋 ) ∈ 𝐷 )
38 eqeq1 ( 𝑦 = ( 𝑘f𝑋 ) → ( 𝑦 = 𝑌 ↔ ( 𝑘f𝑋 ) = 𝑌 ) )
39 38 ifbid ( 𝑦 = ( 𝑘f𝑋 ) → if ( 𝑦 = 𝑌 , 1 , 0 ) = if ( ( 𝑘f𝑋 ) = 𝑌 , 1 , 0 ) )
40 eqid ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) = ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) )
41 3 fvexi 0 ∈ V
42 28 41 ifex if ( ( 𝑘f𝑋 ) = 𝑌 , 1 , 0 ) ∈ V
43 39 40 42 fvmpt ( ( 𝑘f𝑋 ) ∈ 𝐷 → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑋 ) ) = if ( ( 𝑘f𝑋 ) = 𝑌 , 1 , 0 ) )
44 37 43 syl ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑋 ) ) = if ( ( 𝑘f𝑋 ) = 𝑌 , 1 , 0 ) )
45 30 44 oveq12d ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑋 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑋 ) ) ) = ( 1 ( .r𝑅 ) if ( ( 𝑘f𝑋 ) = 𝑌 , 1 , 0 ) ) )
46 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
47 46 4 ringidcl ( 𝑅 ∈ Ring → 1 ∈ ( Base ‘ 𝑅 ) )
48 46 3 ring0cl ( 𝑅 ∈ Ring → 0 ∈ ( Base ‘ 𝑅 ) )
49 47 48 ifcld ( 𝑅 ∈ Ring → if ( ( 𝑘f𝑋 ) = 𝑌 , 1 , 0 ) ∈ ( Base ‘ 𝑅 ) )
50 22 49 syl ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → if ( ( 𝑘f𝑋 ) = 𝑌 , 1 , 0 ) ∈ ( Base ‘ 𝑅 ) )
51 46 11 4 ringlidm ( ( 𝑅 ∈ Ring ∧ if ( ( 𝑘f𝑋 ) = 𝑌 , 1 , 0 ) ∈ ( Base ‘ 𝑅 ) ) → ( 1 ( .r𝑅 ) if ( ( 𝑘f𝑋 ) = 𝑌 , 1 , 0 ) ) = if ( ( 𝑘f𝑋 ) = 𝑌 , 1 , 0 ) )
52 22 50 51 syl2anc ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 1 ( .r𝑅 ) if ( ( 𝑘f𝑋 ) = 𝑌 , 1 , 0 ) ) = if ( ( 𝑘f𝑋 ) = 𝑌 , 1 , 0 ) )
53 5 psrbagf ( ( 𝐼𝑊𝑘𝐷 ) → 𝑘 : 𝐼 ⟶ ℕ0 )
54 32 33 53 syl2anc ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝑘 : 𝐼 ⟶ ℕ0 )
55 54 ffvelrnda ( ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) ∧ 𝑧𝐼 ) → ( 𝑘𝑧 ) ∈ ℕ0 )
56 6 adantr ( ( 𝜑𝑘𝐷 ) → 𝐼𝑊 )
57 8 adantr ( ( 𝜑𝑘𝐷 ) → 𝑋𝐷 )
58 5 psrbagf ( ( 𝐼𝑊𝑋𝐷 ) → 𝑋 : 𝐼 ⟶ ℕ0 )
59 56 57 58 syl2anc ( ( 𝜑𝑘𝐷 ) → 𝑋 : 𝐼 ⟶ ℕ0 )
60 59 ffvelrnda ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑧𝐼 ) → ( 𝑋𝑧 ) ∈ ℕ0 )
61 60 adantlr ( ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) ∧ 𝑧𝐼 ) → ( 𝑋𝑧 ) ∈ ℕ0 )
62 5 psrbagf ( ( 𝐼𝑊𝑌𝐷 ) → 𝑌 : 𝐼 ⟶ ℕ0 )
63 6 10 62 syl2anc ( 𝜑𝑌 : 𝐼 ⟶ ℕ0 )
64 63 adantr ( ( 𝜑𝑘𝐷 ) → 𝑌 : 𝐼 ⟶ ℕ0 )
65 64 ffvelrnda ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑧𝐼 ) → ( 𝑌𝑧 ) ∈ ℕ0 )
66 65 adantlr ( ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) ∧ 𝑧𝐼 ) → ( 𝑌𝑧 ) ∈ ℕ0 )
67 nn0cn ( ( 𝑘𝑧 ) ∈ ℕ0 → ( 𝑘𝑧 ) ∈ ℂ )
68 nn0cn ( ( 𝑋𝑧 ) ∈ ℕ0 → ( 𝑋𝑧 ) ∈ ℂ )
69 nn0cn ( ( 𝑌𝑧 ) ∈ ℕ0 → ( 𝑌𝑧 ) ∈ ℂ )
70 subadd ( ( ( 𝑘𝑧 ) ∈ ℂ ∧ ( 𝑋𝑧 ) ∈ ℂ ∧ ( 𝑌𝑧 ) ∈ ℂ ) → ( ( ( 𝑘𝑧 ) − ( 𝑋𝑧 ) ) = ( 𝑌𝑧 ) ↔ ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) = ( 𝑘𝑧 ) ) )
71 67 68 69 70 syl3an ( ( ( 𝑘𝑧 ) ∈ ℕ0 ∧ ( 𝑋𝑧 ) ∈ ℕ0 ∧ ( 𝑌𝑧 ) ∈ ℕ0 ) → ( ( ( 𝑘𝑧 ) − ( 𝑋𝑧 ) ) = ( 𝑌𝑧 ) ↔ ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) = ( 𝑘𝑧 ) ) )
72 55 61 66 71 syl3anc ( ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) ∧ 𝑧𝐼 ) → ( ( ( 𝑘𝑧 ) − ( 𝑋𝑧 ) ) = ( 𝑌𝑧 ) ↔ ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) = ( 𝑘𝑧 ) ) )
73 eqcom ( ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) = ( 𝑘𝑧 ) ↔ ( 𝑘𝑧 ) = ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) )
74 72 73 syl6bb ( ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) ∧ 𝑧𝐼 ) → ( ( ( 𝑘𝑧 ) − ( 𝑋𝑧 ) ) = ( 𝑌𝑧 ) ↔ ( 𝑘𝑧 ) = ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) ) )
75 74 ralbidva ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( ∀ 𝑧𝐼 ( ( 𝑘𝑧 ) − ( 𝑋𝑧 ) ) = ( 𝑌𝑧 ) ↔ ∀ 𝑧𝐼 ( 𝑘𝑧 ) = ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) ) )
76 mpteqb ( ∀ 𝑧𝐼 ( ( 𝑘𝑧 ) − ( 𝑋𝑧 ) ) ∈ V → ( ( 𝑧𝐼 ↦ ( ( 𝑘𝑧 ) − ( 𝑋𝑧 ) ) ) = ( 𝑧𝐼 ↦ ( 𝑌𝑧 ) ) ↔ ∀ 𝑧𝐼 ( ( 𝑘𝑧 ) − ( 𝑋𝑧 ) ) = ( 𝑌𝑧 ) ) )
77 ovexd ( 𝑧𝐼 → ( ( 𝑘𝑧 ) − ( 𝑋𝑧 ) ) ∈ V )
78 76 77 mprg ( ( 𝑧𝐼 ↦ ( ( 𝑘𝑧 ) − ( 𝑋𝑧 ) ) ) = ( 𝑧𝐼 ↦ ( 𝑌𝑧 ) ) ↔ ∀ 𝑧𝐼 ( ( 𝑘𝑧 ) − ( 𝑋𝑧 ) ) = ( 𝑌𝑧 ) )
79 mpteqb ( ∀ 𝑧𝐼 ( 𝑘𝑧 ) ∈ V → ( ( 𝑧𝐼 ↦ ( 𝑘𝑧 ) ) = ( 𝑧𝐼 ↦ ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) ) ↔ ∀ 𝑧𝐼 ( 𝑘𝑧 ) = ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) ) )
80 fvexd ( 𝑧𝐼 → ( 𝑘𝑧 ) ∈ V )
81 79 80 mprg ( ( 𝑧𝐼 ↦ ( 𝑘𝑧 ) ) = ( 𝑧𝐼 ↦ ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) ) ↔ ∀ 𝑧𝐼 ( 𝑘𝑧 ) = ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) )
82 75 78 81 3bitr4g ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( ( 𝑧𝐼 ↦ ( ( 𝑘𝑧 ) − ( 𝑋𝑧 ) ) ) = ( 𝑧𝐼 ↦ ( 𝑌𝑧 ) ) ↔ ( 𝑧𝐼 ↦ ( 𝑘𝑧 ) ) = ( 𝑧𝐼 ↦ ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) ) ) )
83 54 feqmptd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝑘 = ( 𝑧𝐼 ↦ ( 𝑘𝑧 ) ) )
84 59 feqmptd ( ( 𝜑𝑘𝐷 ) → 𝑋 = ( 𝑧𝐼 ↦ ( 𝑋𝑧 ) ) )
85 84 adantr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝑋 = ( 𝑧𝐼 ↦ ( 𝑋𝑧 ) ) )
86 32 55 61 83 85 offval2 ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑘f𝑋 ) = ( 𝑧𝐼 ↦ ( ( 𝑘𝑧 ) − ( 𝑋𝑧 ) ) ) )
87 64 feqmptd ( ( 𝜑𝑘𝐷 ) → 𝑌 = ( 𝑧𝐼 ↦ ( 𝑌𝑧 ) ) )
88 87 adantr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝑌 = ( 𝑧𝐼 ↦ ( 𝑌𝑧 ) ) )
89 86 88 eqeq12d ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( ( 𝑘f𝑋 ) = 𝑌 ↔ ( 𝑧𝐼 ↦ ( ( 𝑘𝑧 ) − ( 𝑋𝑧 ) ) ) = ( 𝑧𝐼 ↦ ( 𝑌𝑧 ) ) ) )
90 56 60 65 84 87 offval2 ( ( 𝜑𝑘𝐷 ) → ( 𝑋f + 𝑌 ) = ( 𝑧𝐼 ↦ ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) ) )
91 90 adantr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑋f + 𝑌 ) = ( 𝑧𝐼 ↦ ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) ) )
92 83 91 eqeq12d ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑘 = ( 𝑋f + 𝑌 ) ↔ ( 𝑧𝐼 ↦ ( 𝑘𝑧 ) ) = ( 𝑧𝐼 ↦ ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) ) ) )
93 82 89 92 3bitr4d ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( ( 𝑘f𝑋 ) = 𝑌𝑘 = ( 𝑋f + 𝑌 ) ) )
94 93 ifbid ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → if ( ( 𝑘f𝑋 ) = 𝑌 , 1 , 0 ) = if ( 𝑘 = ( 𝑋f + 𝑌 ) , 1 , 0 ) )
95 45 52 94 3eqtrd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑋 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑋 ) ) ) = if ( 𝑘 = ( 𝑋f + 𝑌 ) , 1 , 0 ) )
96 94 50 eqeltrrd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → if ( 𝑘 = ( 𝑋f + 𝑌 ) , 1 , 0 ) ∈ ( Base ‘ 𝑅 ) )
97 95 96 eqeltrd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑋 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑋 ) ) ) ∈ ( Base ‘ 𝑅 ) )
98 fveq2 ( 𝑗 = 𝑋 → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) = ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑋 ) )
99 oveq2 ( 𝑗 = 𝑋 → ( 𝑘f𝑗 ) = ( 𝑘f𝑋 ) )
100 99 fveq2d ( 𝑗 = 𝑋 → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) = ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑋 ) ) )
101 98 100 oveq12d ( 𝑗 = 𝑋 → ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) = ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑋 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑋 ) ) ) )
102 46 101 gsumsn ( ( 𝑅 ∈ Mnd ∧ 𝑋𝐷 ∧ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑋 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑋 ) ) ) ∈ ( Base ‘ 𝑅 ) ) → ( 𝑅 Σg ( 𝑗 ∈ { 𝑋 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ) = ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑋 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑋 ) ) ) )
103 24 25 97 102 syl3anc ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑅 Σg ( 𝑗 ∈ { 𝑋 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ) = ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑋 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑋 ) ) ) )
104 21 103 95 3eqtrd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑅 Σg ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ↾ { 𝑋 } ) ) = if ( 𝑘 = ( 𝑋f + 𝑌 ) , 1 , 0 ) )
105 3 gsum0 ( 𝑅 Σg ∅ ) = 0
106 disjsn ( ( { 𝑥𝐷𝑥r𝑘 } ∩ { 𝑋 } ) = ∅ ↔ ¬ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } )
107 7 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝑅 ∈ Ring )
108 1 46 2 5 12 mplelf ( 𝜑 → ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
109 108 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
110 simpr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } )
111 31 110 sseldi ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝑗𝐷 )
112 109 111 ffvelrnd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ∈ ( Base ‘ 𝑅 ) )
113 1 46 2 5 13 mplelf ( 𝜑 → ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
114 113 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
115 6 ad2antrr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝐼𝑊 )
116 simplr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ) → 𝑘𝐷 )
117 5 34 psrbagconcl ( ( 𝐼𝑊𝑘𝐷𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑘f𝑗 ) ∈ { 𝑥𝐷𝑥r𝑘 } )
118 115 116 110 117 syl3anc ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑘f𝑗 ) ∈ { 𝑥𝐷𝑥r𝑘 } )
119 31 118 sseldi ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑘f𝑗 ) ∈ 𝐷 )
120 114 119 ffvelrnd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ∈ ( Base ‘ 𝑅 ) )
121 46 11 ringcl ( ( 𝑅 ∈ Ring ∧ ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ∈ ( Base ‘ 𝑅 ) ∧ ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ∈ ( Base ‘ 𝑅 ) ) → ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ∈ ( Base ‘ 𝑅 ) )
122 107 112 120 121 syl3anc ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ∈ ( Base ‘ 𝑅 ) )
123 122 fmpttd ( ( 𝜑𝑘𝐷 ) → ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) : { 𝑥𝐷𝑥r𝑘 } ⟶ ( Base ‘ 𝑅 ) )
124 ffn ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) : { 𝑥𝐷𝑥r𝑘 } ⟶ ( Base ‘ 𝑅 ) → ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) Fn { 𝑥𝐷𝑥r𝑘 } )
125 fnresdisj ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) Fn { 𝑥𝐷𝑥r𝑘 } → ( ( { 𝑥𝐷𝑥r𝑘 } ∩ { 𝑋 } ) = ∅ ↔ ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ↾ { 𝑋 } ) = ∅ ) )
126 123 124 125 3syl ( ( 𝜑𝑘𝐷 ) → ( ( { 𝑥𝐷𝑥r𝑘 } ∩ { 𝑋 } ) = ∅ ↔ ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ↾ { 𝑋 } ) = ∅ ) )
127 126 biimpa ( ( ( 𝜑𝑘𝐷 ) ∧ ( { 𝑥𝐷𝑥r𝑘 } ∩ { 𝑋 } ) = ∅ ) → ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ↾ { 𝑋 } ) = ∅ )
128 106 127 sylan2br ( ( ( 𝜑𝑘𝐷 ) ∧ ¬ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ↾ { 𝑋 } ) = ∅ )
129 128 oveq2d ( ( ( 𝜑𝑘𝐷 ) ∧ ¬ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑅 Σg ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ↾ { 𝑋 } ) ) = ( 𝑅 Σg ∅ ) )
130 breq1 ( 𝑥 = 𝑋 → ( 𝑥r ≤ ( 𝑋f + 𝑌 ) ↔ 𝑋r ≤ ( 𝑋f + 𝑌 ) ) )
131 60 nn0red ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑧𝐼 ) → ( 𝑋𝑧 ) ∈ ℝ )
132 nn0addge1 ( ( ( 𝑋𝑧 ) ∈ ℝ ∧ ( 𝑌𝑧 ) ∈ ℕ0 ) → ( 𝑋𝑧 ) ≤ ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) )
133 131 65 132 syl2anc ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑧𝐼 ) → ( 𝑋𝑧 ) ≤ ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) )
134 133 ralrimiva ( ( 𝜑𝑘𝐷 ) → ∀ 𝑧𝐼 ( 𝑋𝑧 ) ≤ ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) )
135 ovexd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑧𝐼 ) → ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) ∈ V )
136 56 60 135 84 90 ofrfval2 ( ( 𝜑𝑘𝐷 ) → ( 𝑋r ≤ ( 𝑋f + 𝑌 ) ↔ ∀ 𝑧𝐼 ( 𝑋𝑧 ) ≤ ( ( 𝑋𝑧 ) + ( 𝑌𝑧 ) ) ) )
137 134 136 mpbird ( ( 𝜑𝑘𝐷 ) → 𝑋r ≤ ( 𝑋f + 𝑌 ) )
138 130 57 137 elrabd ( ( 𝜑𝑘𝐷 ) → 𝑋 ∈ { 𝑥𝐷𝑥r ≤ ( 𝑋f + 𝑌 ) } )
139 breq2 ( 𝑘 = ( 𝑋f + 𝑌 ) → ( 𝑥r𝑘𝑥r ≤ ( 𝑋f + 𝑌 ) ) )
140 139 rabbidv ( 𝑘 = ( 𝑋f + 𝑌 ) → { 𝑥𝐷𝑥r𝑘 } = { 𝑥𝐷𝑥r ≤ ( 𝑋f + 𝑌 ) } )
141 140 eleq2d ( 𝑘 = ( 𝑋f + 𝑌 ) → ( 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ↔ 𝑋 ∈ { 𝑥𝐷𝑥r ≤ ( 𝑋f + 𝑌 ) } ) )
142 138 141 syl5ibrcom ( ( 𝜑𝑘𝐷 ) → ( 𝑘 = ( 𝑋f + 𝑌 ) → 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) )
143 142 con3dimp ( ( ( 𝜑𝑘𝐷 ) ∧ ¬ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ¬ 𝑘 = ( 𝑋f + 𝑌 ) )
144 143 iffalsed ( ( ( 𝜑𝑘𝐷 ) ∧ ¬ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → if ( 𝑘 = ( 𝑋f + 𝑌 ) , 1 , 0 ) = 0 )
145 105 129 144 3eqtr4a ( ( ( 𝜑𝑘𝐷 ) ∧ ¬ 𝑋 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 𝑅 Σg ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ↾ { 𝑋 } ) ) = if ( 𝑘 = ( 𝑋f + 𝑌 ) , 1 , 0 ) )
146 104 145 pm2.61dan ( ( 𝜑𝑘𝐷 ) → ( 𝑅 Σg ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ↾ { 𝑋 } ) ) = if ( 𝑘 = ( 𝑋f + 𝑌 ) , 1 , 0 ) )
147 7 adantr ( ( 𝜑𝑘𝐷 ) → 𝑅 ∈ Ring )
148 ringcmn ( 𝑅 ∈ Ring → 𝑅 ∈ CMnd )
149 147 148 syl ( ( 𝜑𝑘𝐷 ) → 𝑅 ∈ CMnd )
150 5 psrbaglefi ( ( 𝐼𝑊𝑘𝐷 ) → { 𝑥𝐷𝑥r𝑘 } ∈ Fin )
151 6 150 sylan ( ( 𝜑𝑘𝐷 ) → { 𝑥𝐷𝑥r𝑘 } ∈ Fin )
152 ssdif ( { 𝑥𝐷𝑥r𝑘 } ⊆ 𝐷 → ( { 𝑥𝐷𝑥r𝑘 } ∖ { 𝑋 } ) ⊆ ( 𝐷 ∖ { 𝑋 } ) )
153 31 152 ax-mp ( { 𝑥𝐷𝑥r𝑘 } ∖ { 𝑋 } ) ⊆ ( 𝐷 ∖ { 𝑋 } )
154 153 sseli ( 𝑗 ∈ ( { 𝑥𝐷𝑥r𝑘 } ∖ { 𝑋 } ) → 𝑗 ∈ ( 𝐷 ∖ { 𝑋 } ) )
155 108 adantr ( ( 𝜑𝑘𝐷 ) → ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) : 𝐷 ⟶ ( Base ‘ 𝑅 ) )
156 eldifsni ( 𝑦 ∈ ( 𝐷 ∖ { 𝑋 } ) → 𝑦𝑋 )
157 156 adantl ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑦 ∈ ( 𝐷 ∖ { 𝑋 } ) ) → 𝑦𝑋 )
158 157 neneqd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑦 ∈ ( 𝐷 ∖ { 𝑋 } ) ) → ¬ 𝑦 = 𝑋 )
159 158 iffalsed ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑦 ∈ ( 𝐷 ∖ { 𝑋 } ) ) → if ( 𝑦 = 𝑋 , 1 , 0 ) = 0 )
160 ovex ( ℕ0m 𝐼 ) ∈ V
161 5 160 rabex2 𝐷 ∈ V
162 161 a1i ( ( 𝜑𝑘𝐷 ) → 𝐷 ∈ V )
163 159 162 suppss2 ( ( 𝜑𝑘𝐷 ) → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) supp 0 ) ⊆ { 𝑋 } )
164 41 a1i ( ( 𝜑𝑘𝐷 ) → 0 ∈ V )
165 155 163 162 164 suppssr ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ ( 𝐷 ∖ { 𝑋 } ) ) → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) = 0 )
166 154 165 sylan2 ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ ( { 𝑥𝐷𝑥r𝑘 } ∖ { 𝑋 } ) ) → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) = 0 )
167 166 oveq1d ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ ( { 𝑥𝐷𝑥r𝑘 } ∖ { 𝑋 } ) ) → ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) = ( 0 ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) )
168 eldifi ( 𝑗 ∈ ( { 𝑥𝐷𝑥r𝑘 } ∖ { 𝑋 } ) → 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } )
169 46 11 3 ringlz ( ( 𝑅 ∈ Ring ∧ ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ∈ ( Base ‘ 𝑅 ) ) → ( 0 ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) = 0 )
170 107 120 169 syl2anc ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ) → ( 0 ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) = 0 )
171 168 170 sylan2 ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ ( { 𝑥𝐷𝑥r𝑘 } ∖ { 𝑋 } ) ) → ( 0 ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) = 0 )
172 167 171 eqtrd ( ( ( 𝜑𝑘𝐷 ) ∧ 𝑗 ∈ ( { 𝑥𝐷𝑥r𝑘 } ∖ { 𝑋 } ) ) → ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) = 0 )
173 161 rabex { 𝑥𝐷𝑥r𝑘 } ∈ V
174 173 a1i ( ( 𝜑𝑘𝐷 ) → { 𝑥𝐷𝑥r𝑘 } ∈ V )
175 172 174 suppss2 ( ( 𝜑𝑘𝐷 ) → ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) supp 0 ) ⊆ { 𝑋 } )
176 161 mptrabex ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ∈ V
177 funmpt Fun ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) )
178 176 177 41 3pm3.2i ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ∈ V ∧ Fun ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ∧ 0 ∈ V )
179 178 a1i ( ( 𝜑𝑘𝐷 ) → ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ∈ V ∧ Fun ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ∧ 0 ∈ V ) )
180 snfi { 𝑋 } ∈ Fin
181 180 a1i ( ( 𝜑𝑘𝐷 ) → { 𝑋 } ∈ Fin )
182 suppssfifsupp ( ( ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ∈ V ∧ Fun ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ∧ 0 ∈ V ) ∧ ( { 𝑋 } ∈ Fin ∧ ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) supp 0 ) ⊆ { 𝑋 } ) ) → ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) finSupp 0 )
183 179 181 175 182 syl12anc ( ( 𝜑𝑘𝐷 ) → ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) finSupp 0 )
184 46 3 149 151 123 175 183 gsumres ( ( 𝜑𝑘𝐷 ) → ( 𝑅 Σg ( ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ↾ { 𝑋 } ) ) = ( 𝑅 Σg ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ) )
185 146 184 eqtr3d ( ( 𝜑𝑘𝐷 ) → if ( 𝑘 = ( 𝑋f + 𝑌 ) , 1 , 0 ) = ( 𝑅 Σg ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ) )
186 185 mpteq2dva ( 𝜑 → ( 𝑘𝐷 ↦ if ( 𝑘 = ( 𝑋f + 𝑌 ) , 1 , 0 ) ) = ( 𝑘𝐷 ↦ ( 𝑅 Σg ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ) ) )
187 17 186 syl5eq ( 𝜑 → ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , 1 , 0 ) ) = ( 𝑘𝐷 ↦ ( 𝑅 Σg ( 𝑗 ∈ { 𝑥𝐷𝑥r𝑘 } ↦ ( ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) ‘ 𝑗 ) ( .r𝑅 ) ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ‘ ( 𝑘f𝑗 ) ) ) ) ) ) )
188 14 187 eqtr4d ( 𝜑 → ( ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑋 , 1 , 0 ) ) · ( 𝑦𝐷 ↦ if ( 𝑦 = 𝑌 , 1 , 0 ) ) ) = ( 𝑦𝐷 ↦ if ( 𝑦 = ( 𝑋f + 𝑌 ) , 1 , 0 ) ) )