Metamath Proof Explorer


Theorem gsumpt

Description: Sum of a family that is nonzero at at most one point. (Contributed by Stefan O'Rear, 7-Feb-2015) (Revised by Mario Carneiro, 25-Apr-2016) (Revised by AV, 6-Jun-2019)

Ref Expression
Hypotheses gsumpt.b 𝐵 = ( Base ‘ 𝐺 )
gsumpt.z 0 = ( 0g𝐺 )
gsumpt.g ( 𝜑𝐺 ∈ Mnd )
gsumpt.a ( 𝜑𝐴𝑉 )
gsumpt.x ( 𝜑𝑋𝐴 )
gsumpt.f ( 𝜑𝐹 : 𝐴𝐵 )
gsumpt.s ( 𝜑 → ( 𝐹 supp 0 ) ⊆ { 𝑋 } )
Assertion gsumpt ( 𝜑 → ( 𝐺 Σg 𝐹 ) = ( 𝐹𝑋 ) )

Proof

Step Hyp Ref Expression
1 gsumpt.b 𝐵 = ( Base ‘ 𝐺 )
2 gsumpt.z 0 = ( 0g𝐺 )
3 gsumpt.g ( 𝜑𝐺 ∈ Mnd )
4 gsumpt.a ( 𝜑𝐴𝑉 )
5 gsumpt.x ( 𝜑𝑋𝐴 )
6 gsumpt.f ( 𝜑𝐹 : 𝐴𝐵 )
7 gsumpt.s ( 𝜑 → ( 𝐹 supp 0 ) ⊆ { 𝑋 } )
8 5 snssd ( 𝜑 → { 𝑋 } ⊆ 𝐴 )
9 6 8 feqresmpt ( 𝜑 → ( 𝐹 ↾ { 𝑋 } ) = ( 𝑎 ∈ { 𝑋 } ↦ ( 𝐹𝑎 ) ) )
10 9 oveq2d ( 𝜑 → ( 𝐺 Σg ( 𝐹 ↾ { 𝑋 } ) ) = ( 𝐺 Σg ( 𝑎 ∈ { 𝑋 } ↦ ( 𝐹𝑎 ) ) ) )
11 eqid ( Cntz ‘ 𝐺 ) = ( Cntz ‘ 𝐺 )
12 6 5 ffvelrnd ( 𝜑 → ( 𝐹𝑋 ) ∈ 𝐵 )
13 eqidd ( 𝜑 → ( ( 𝐹𝑋 ) ( +g𝐺 ) ( 𝐹𝑋 ) ) = ( ( 𝐹𝑋 ) ( +g𝐺 ) ( 𝐹𝑋 ) ) )
14 eqid ( +g𝐺 ) = ( +g𝐺 )
15 1 14 11 elcntzsn ( ( 𝐹𝑋 ) ∈ 𝐵 → ( ( 𝐹𝑋 ) ∈ ( ( Cntz ‘ 𝐺 ) ‘ { ( 𝐹𝑋 ) } ) ↔ ( ( 𝐹𝑋 ) ∈ 𝐵 ∧ ( ( 𝐹𝑋 ) ( +g𝐺 ) ( 𝐹𝑋 ) ) = ( ( 𝐹𝑋 ) ( +g𝐺 ) ( 𝐹𝑋 ) ) ) ) )
16 12 15 syl ( 𝜑 → ( ( 𝐹𝑋 ) ∈ ( ( Cntz ‘ 𝐺 ) ‘ { ( 𝐹𝑋 ) } ) ↔ ( ( 𝐹𝑋 ) ∈ 𝐵 ∧ ( ( 𝐹𝑋 ) ( +g𝐺 ) ( 𝐹𝑋 ) ) = ( ( 𝐹𝑋 ) ( +g𝐺 ) ( 𝐹𝑋 ) ) ) ) )
17 12 13 16 mpbir2and ( 𝜑 → ( 𝐹𝑋 ) ∈ ( ( Cntz ‘ 𝐺 ) ‘ { ( 𝐹𝑋 ) } ) )
18 17 snssd ( 𝜑 → { ( 𝐹𝑋 ) } ⊆ ( ( Cntz ‘ 𝐺 ) ‘ { ( 𝐹𝑋 ) } ) )
19 eqid ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) = ( mrCls ‘ ( SubMnd ‘ 𝐺 ) )
20 eqid ( 𝐺s ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ) = ( 𝐺s ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
21 11 19 20 cntzspan ( ( 𝐺 ∈ Mnd ∧ { ( 𝐹𝑋 ) } ⊆ ( ( Cntz ‘ 𝐺 ) ‘ { ( 𝐹𝑋 ) } ) ) → ( 𝐺s ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ) ∈ CMnd )
22 3 18 21 syl2anc ( 𝜑 → ( 𝐺s ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ) ∈ CMnd )
23 1 submacs ( 𝐺 ∈ Mnd → ( SubMnd ‘ 𝐺 ) ∈ ( ACS ‘ 𝐵 ) )
24 acsmre ( ( SubMnd ‘ 𝐺 ) ∈ ( ACS ‘ 𝐵 ) → ( SubMnd ‘ 𝐺 ) ∈ ( Moore ‘ 𝐵 ) )
25 3 23 24 3syl ( 𝜑 → ( SubMnd ‘ 𝐺 ) ∈ ( Moore ‘ 𝐵 ) )
26 12 snssd ( 𝜑 → { ( 𝐹𝑋 ) } ⊆ 𝐵 )
27 19 mrccl ( ( ( SubMnd ‘ 𝐺 ) ∈ ( Moore ‘ 𝐵 ) ∧ { ( 𝐹𝑋 ) } ⊆ 𝐵 ) → ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ∈ ( SubMnd ‘ 𝐺 ) )
28 25 26 27 syl2anc ( 𝜑 → ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ∈ ( SubMnd ‘ 𝐺 ) )
29 20 11 submcmn2 ( ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ∈ ( SubMnd ‘ 𝐺 ) → ( ( 𝐺s ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ) ∈ CMnd ↔ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ⊆ ( ( Cntz ‘ 𝐺 ) ‘ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ) ) )
30 28 29 syl ( 𝜑 → ( ( 𝐺s ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ) ∈ CMnd ↔ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ⊆ ( ( Cntz ‘ 𝐺 ) ‘ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ) ) )
31 22 30 mpbid ( 𝜑 → ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ⊆ ( ( Cntz ‘ 𝐺 ) ‘ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ) )
32 6 ffnd ( 𝜑𝐹 Fn 𝐴 )
33 simpr ( ( ( 𝜑𝑎𝐴 ) ∧ 𝑎 = 𝑋 ) → 𝑎 = 𝑋 )
34 33 fveq2d ( ( ( 𝜑𝑎𝐴 ) ∧ 𝑎 = 𝑋 ) → ( 𝐹𝑎 ) = ( 𝐹𝑋 ) )
35 25 19 26 mrcssidd ( 𝜑 → { ( 𝐹𝑋 ) } ⊆ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
36 fvex ( 𝐹𝑋 ) ∈ V
37 36 snss ( ( 𝐹𝑋 ) ∈ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ↔ { ( 𝐹𝑋 ) } ⊆ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
38 35 37 sylibr ( 𝜑 → ( 𝐹𝑋 ) ∈ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
39 38 ad2antrr ( ( ( 𝜑𝑎𝐴 ) ∧ 𝑎 = 𝑋 ) → ( 𝐹𝑋 ) ∈ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
40 34 39 eqeltrd ( ( ( 𝜑𝑎𝐴 ) ∧ 𝑎 = 𝑋 ) → ( 𝐹𝑎 ) ∈ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
41 eldifsn ( 𝑎 ∈ ( 𝐴 ∖ { 𝑋 } ) ↔ ( 𝑎𝐴𝑎𝑋 ) )
42 2 fvexi 0 ∈ V
43 42 a1i ( 𝜑0 ∈ V )
44 6 7 4 43 suppssr ( ( 𝜑𝑎 ∈ ( 𝐴 ∖ { 𝑋 } ) ) → ( 𝐹𝑎 ) = 0 )
45 41 44 sylan2br ( ( 𝜑 ∧ ( 𝑎𝐴𝑎𝑋 ) ) → ( 𝐹𝑎 ) = 0 )
46 2 subm0cl ( ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ∈ ( SubMnd ‘ 𝐺 ) → 0 ∈ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
47 28 46 syl ( 𝜑0 ∈ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
48 47 adantr ( ( 𝜑 ∧ ( 𝑎𝐴𝑎𝑋 ) ) → 0 ∈ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
49 45 48 eqeltrd ( ( 𝜑 ∧ ( 𝑎𝐴𝑎𝑋 ) ) → ( 𝐹𝑎 ) ∈ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
50 49 anassrs ( ( ( 𝜑𝑎𝐴 ) ∧ 𝑎𝑋 ) → ( 𝐹𝑎 ) ∈ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
51 40 50 pm2.61dane ( ( 𝜑𝑎𝐴 ) → ( 𝐹𝑎 ) ∈ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
52 51 ralrimiva ( 𝜑 → ∀ 𝑎𝐴 ( 𝐹𝑎 ) ∈ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
53 ffnfv ( 𝐹 : 𝐴 ⟶ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ↔ ( 𝐹 Fn 𝐴 ∧ ∀ 𝑎𝐴 ( 𝐹𝑎 ) ∈ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ) )
54 32 52 53 sylanbrc ( 𝜑𝐹 : 𝐴 ⟶ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
55 54 frnd ( 𝜑 → ran 𝐹 ⊆ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) )
56 11 cntzidss ( ( ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ⊆ ( ( Cntz ‘ 𝐺 ) ‘ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ) ∧ ran 𝐹 ⊆ ( ( mrCls ‘ ( SubMnd ‘ 𝐺 ) ) ‘ { ( 𝐹𝑋 ) } ) ) → ran 𝐹 ⊆ ( ( Cntz ‘ 𝐺 ) ‘ ran 𝐹 ) )
57 31 55 56 syl2anc ( 𝜑 → ran 𝐹 ⊆ ( ( Cntz ‘ 𝐺 ) ‘ ran 𝐹 ) )
58 6 ffund ( 𝜑 → Fun 𝐹 )
59 snfi { 𝑋 } ∈ Fin
60 ssfi ( ( { 𝑋 } ∈ Fin ∧ ( 𝐹 supp 0 ) ⊆ { 𝑋 } ) → ( 𝐹 supp 0 ) ∈ Fin )
61 59 7 60 sylancr ( 𝜑 → ( 𝐹 supp 0 ) ∈ Fin )
62 fex ( ( 𝐹 : 𝐴𝐵𝐴𝑉 ) → 𝐹 ∈ V )
63 6 4 62 syl2anc ( 𝜑𝐹 ∈ V )
64 isfsupp ( ( 𝐹 ∈ V ∧ 0 ∈ V ) → ( 𝐹 finSupp 0 ↔ ( Fun 𝐹 ∧ ( 𝐹 supp 0 ) ∈ Fin ) ) )
65 63 43 64 syl2anc ( 𝜑 → ( 𝐹 finSupp 0 ↔ ( Fun 𝐹 ∧ ( 𝐹 supp 0 ) ∈ Fin ) ) )
66 58 61 65 mpbir2and ( 𝜑𝐹 finSupp 0 )
67 1 2 11 3 4 6 57 7 66 gsumzres ( 𝜑 → ( 𝐺 Σg ( 𝐹 ↾ { 𝑋 } ) ) = ( 𝐺 Σg 𝐹 ) )
68 fveq2 ( 𝑎 = 𝑋 → ( 𝐹𝑎 ) = ( 𝐹𝑋 ) )
69 1 68 gsumsn ( ( 𝐺 ∈ Mnd ∧ 𝑋𝐴 ∧ ( 𝐹𝑋 ) ∈ 𝐵 ) → ( 𝐺 Σg ( 𝑎 ∈ { 𝑋 } ↦ ( 𝐹𝑎 ) ) ) = ( 𝐹𝑋 ) )
70 3 5 12 69 syl3anc ( 𝜑 → ( 𝐺 Σg ( 𝑎 ∈ { 𝑋 } ↦ ( 𝐹𝑎 ) ) ) = ( 𝐹𝑋 ) )
71 10 67 70 3eqtr3d ( 𝜑 → ( 𝐺 Σg 𝐹 ) = ( 𝐹𝑋 ) )