Metamath Proof Explorer


Theorem plyaddlem

Description: Lemma for plyadd . (Contributed by Mario Carneiro, 21-Jul-2014)

Ref Expression
Hypotheses plyadd.1 ⊢ ( 𝜑 → 𝐹 ∈ ( Poly ‘ 𝑆 ) )
plyadd.2 ⊢ ( 𝜑 → 𝐺 ∈ ( Poly ‘ 𝑆 ) )
plyadd.3 ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ 𝑆 ∧ 𝑦 ∈ 𝑆 ) ) → ( 𝑥 + 𝑦 ) ∈ 𝑆 )
plyadd.m ⊢ ( 𝜑 → 𝑀 ∈ ℕ0 )
plyadd.n ⊢ ( 𝜑 → 𝑁 ∈ ℕ0 )
plyadd.a ⊢ ( 𝜑 → 𝐴 ∈ ( ( 𝑆 ∪ { 0 } ) ↑m ℕ0 ) )
plyadd.b ⊢ ( 𝜑 → 𝐵 ∈ ( ( 𝑆 ∪ { 0 } ) ↑m ℕ0 ) )
plyadd.a2 ⊢ ( 𝜑 → ( 𝐴 “ ( ℤ≥ ‘ ( 𝑀 + 1 ) ) ) = { 0 } )
plyadd.b2 ⊢ ( 𝜑 → ( 𝐵 “ ( ℤ≥ ‘ ( 𝑁 + 1 ) ) ) = { 0 } )
plyadd.f ⊢ ( 𝜑 → 𝐹 = ( 𝑧 ∈ ℂ ↦ Σ 𝑘 ∈ ( 0 ... 𝑀 ) ( ( 𝐴 ‘ 𝑘 ) · ( 𝑧 ↑ 𝑘 ) ) ) )
plyadd.g ⊢ ( 𝜑 → 𝐺 = ( 𝑧 ∈ ℂ ↦ Σ 𝑘 ∈ ( 0 ... 𝑁 ) ( ( 𝐵 ‘ 𝑘 ) · ( 𝑧 ↑ 𝑘 ) ) ) )
Assertion plyaddlem ( 𝜑 → ( 𝐹 ∘f + 𝐺 ) ∈ ( Poly ‘ 𝑆 ) )

Proof

Step Hyp Ref Expression
1 plyadd.1 ⊢ ( 𝜑 → 𝐹 ∈ ( Poly ‘ 𝑆 ) )
2 plyadd.2 ⊢ ( 𝜑 → 𝐺 ∈ ( Poly ‘ 𝑆 ) )
3 plyadd.3 ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ 𝑆 ∧ 𝑦 ∈ 𝑆 ) ) → ( 𝑥 + 𝑦 ) ∈ 𝑆 )
4 plyadd.m ⊢ ( 𝜑 → 𝑀 ∈ ℕ0 )
5 plyadd.n ⊢ ( 𝜑 → 𝑁 ∈ ℕ0 )
6 plyadd.a ⊢ ( 𝜑 → 𝐴 ∈ ( ( 𝑆 ∪ { 0 } ) ↑m ℕ0 ) )
7 plyadd.b ⊢ ( 𝜑 → 𝐵 ∈ ( ( 𝑆 ∪ { 0 } ) ↑m ℕ0 ) )
8 plyadd.a2 ⊢ ( 𝜑 → ( 𝐴 “ ( ℤ≥ ‘ ( 𝑀 + 1 ) ) ) = { 0 } )
9 plyadd.b2 ⊢ ( 𝜑 → ( 𝐵 “ ( ℤ≥ ‘ ( 𝑁 + 1 ) ) ) = { 0 } )
10 plyadd.f ⊢ ( 𝜑 → 𝐹 = ( 𝑧 ∈ ℂ ↦ Σ 𝑘 ∈ ( 0 ... 𝑀 ) ( ( 𝐴 ‘ 𝑘 ) · ( 𝑧 ↑ 𝑘 ) ) ) )
11 plyadd.g ⊢ ( 𝜑 → 𝐺 = ( 𝑧 ∈ ℂ ↦ Σ 𝑘 ∈ ( 0 ... 𝑁 ) ( ( 𝐵 ‘ 𝑘 ) · ( 𝑧 ↑ 𝑘 ) ) ) )
12 plybss ⊢ ( 𝐹 ∈ ( Poly ‘ 𝑆 ) → 𝑆 ⊆ ℂ )
13 1 12 syl ⊢ ( 𝜑 → 𝑆 ⊆ ℂ )
14 0cnd ⊢ ( 𝜑 → 0 ∈ ℂ )
15 14 snssd ⊢ ( 𝜑 → { 0 } ⊆ ℂ )
16 13 15 unssd ⊢ ( 𝜑 → ( 𝑆 ∪ { 0 } ) ⊆ ℂ )
17 cnex ⊢ ℂ ∈ V
18 ssexg ⊢ ( ( ( 𝑆 ∪ { 0 } ) ⊆ ℂ ∧ ℂ ∈ V ) → ( 𝑆 ∪ { 0 } ) ∈ V )
19 16 17 18 sylancl ⊢ ( 𝜑 → ( 𝑆 ∪ { 0 } ) ∈ V )
20 nn0ex ⊢ ℕ0 ∈ V
21 elmapg ⊢ ( ( ( 𝑆 ∪ { 0 } ) ∈ V ∧ ℕ0 ∈ V ) → ( 𝐴 ∈ ( ( 𝑆 ∪ { 0 } ) ↑m ℕ0 ) ↔ 𝐴 : ℕ0 ⟶ ( 𝑆 ∪ { 0 } ) ) )
22 19 20 21 sylancl ⊢ ( 𝜑 → ( 𝐴 ∈ ( ( 𝑆 ∪ { 0 } ) ↑m ℕ0 ) ↔ 𝐴 : ℕ0 ⟶ ( 𝑆 ∪ { 0 } ) ) )
23 6 22 mpbid ⊢ ( 𝜑 → 𝐴 : ℕ0 ⟶ ( 𝑆 ∪ { 0 } ) )
24 23 16 fssd ⊢ ( 𝜑 → 𝐴 : ℕ0 ⟶ ℂ )
25 elmapg ⊢ ( ( ( 𝑆 ∪ { 0 } ) ∈ V ∧ ℕ0 ∈ V ) → ( 𝐵 ∈ ( ( 𝑆 ∪ { 0 } ) ↑m ℕ0 ) ↔ 𝐵 : ℕ0 ⟶ ( 𝑆 ∪ { 0 } ) ) )
26 19 20 25 sylancl ⊢ ( 𝜑 → ( 𝐵 ∈ ( ( 𝑆 ∪ { 0 } ) ↑m ℕ0 ) ↔ 𝐵 : ℕ0 ⟶ ( 𝑆 ∪ { 0 } ) ) )
27 7 26 mpbid ⊢ ( 𝜑 → 𝐵 : ℕ0 ⟶ ( 𝑆 ∪ { 0 } ) )
28 27 16 fssd ⊢ ( 𝜑 → 𝐵 : ℕ0 ⟶ ℂ )
29 1 2 4 5 24 28 8 9 10 11 plyaddlem1 ⊢ ( 𝜑 → ( 𝐹 ∘f + 𝐺 ) = ( 𝑧 ∈ ℂ ↦ Σ 𝑘 ∈ ( 0 ... if ( 𝑀 ≤ 𝑁 , 𝑁 , 𝑀 ) ) ( ( ( 𝐴 ∘f + 𝐵 ) ‘ 𝑘 ) · ( 𝑧 ↑ 𝑘 ) ) ) )
30 5 4 ifcld ⊢ ( 𝜑 → if ( 𝑀 ≤ 𝑁 , 𝑁 , 𝑀 ) ∈ ℕ0 )
31 eqid ⊢ ( 𝑆 ∪ { 0 } ) = ( 𝑆 ∪ { 0 } )
32 13 31 3 un0addcl ⊢ ( ( 𝜑 ∧ ( 𝑥 ∈ ( 𝑆 ∪ { 0 } ) ∧ 𝑦 ∈ ( 𝑆 ∪ { 0 } ) ) ) → ( 𝑥 + 𝑦 ) ∈ ( 𝑆 ∪ { 0 } ) )
33 20 a1i ⊢ ( 𝜑 → ℕ0 ∈ V )
34 inidm ⊢ ( ℕ0 ∩ ℕ0 ) = ℕ0
35 32 23 27 33 33 34 off ⊢ ( 𝜑 → ( 𝐴 ∘f + 𝐵 ) : ℕ0 ⟶ ( 𝑆 ∪ { 0 } ) )
36 elfznn0 ⊢ ( 𝑘 ∈ ( 0 ... if ( 𝑀 ≤ 𝑁 , 𝑁 , 𝑀 ) ) → 𝑘 ∈ ℕ0 )
37 ffvelcdm ⊢ ( ( ( 𝐴 ∘f + 𝐵 ) : ℕ0 ⟶ ( 𝑆 ∪ { 0 } ) ∧ 𝑘 ∈ ℕ0 ) → ( ( 𝐴 ∘f + 𝐵 ) ‘ 𝑘 ) ∈ ( 𝑆 ∪ { 0 } ) )
38 35 36 37 syl2an ⊢ ( ( 𝜑 ∧ 𝑘 ∈ ( 0 ... if ( 𝑀 ≤ 𝑁 , 𝑁 , 𝑀 ) ) ) → ( ( 𝐴 ∘f + 𝐵 ) ‘ 𝑘 ) ∈ ( 𝑆 ∪ { 0 } ) )
39 16 30 38 elplyd ⊢ ( 𝜑 → ( 𝑧 ∈ ℂ ↦ Σ 𝑘 ∈ ( 0 ... if ( 𝑀 ≤ 𝑁 , 𝑁 , 𝑀 ) ) ( ( ( 𝐴 ∘f + 𝐵 ) ‘ 𝑘 ) · ( 𝑧 ↑ 𝑘 ) ) ) ∈ ( Poly ‘ ( 𝑆 ∪ { 0 } ) ) )
40 29 39 eqeltrd ⊢ ( 𝜑 → ( 𝐹 ∘f + 𝐺 ) ∈ ( Poly ‘ ( 𝑆 ∪ { 0 } ) ) )
41 plyun0 ⊢ ( Poly ‘ ( 𝑆 ∪ { 0 } ) ) = ( Poly ‘ 𝑆 )
42 40 41 eleqtrdi ⊢ ( 𝜑 → ( 𝐹 ∘f + 𝐺 ) ∈ ( Poly ‘ 𝑆 ) )