Metamath Proof Explorer


Theorem etransclem1

Description: H is a function. (Contributed by Glauco Siliprandi, 5-Apr-2020)

Ref Expression
Hypotheses etransclem1.x ( 𝜑𝑋 ⊆ ℂ )
etransclem1.p ( 𝜑𝑃 ∈ ℕ )
etransclem1.h 𝐻 = ( 𝑗 ∈ ( 0 ... 𝑀 ) ↦ ( 𝑥𝑋 ↦ ( ( 𝑥𝑗 ) ↑ if ( 𝑗 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) )
etransclem1.j ( 𝜑𝐽 ∈ ( 0 ... 𝑀 ) )
Assertion etransclem1 ( 𝜑 → ( 𝐻𝐽 ) : 𝑋 ⟶ ℂ )

Proof

Step Hyp Ref Expression
1 etransclem1.x ( 𝜑𝑋 ⊆ ℂ )
2 etransclem1.p ( 𝜑𝑃 ∈ ℕ )
3 etransclem1.h 𝐻 = ( 𝑗 ∈ ( 0 ... 𝑀 ) ↦ ( 𝑥𝑋 ↦ ( ( 𝑥𝑗 ) ↑ if ( 𝑗 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) )
4 etransclem1.j ( 𝜑𝐽 ∈ ( 0 ... 𝑀 ) )
5 1 sselda ( ( 𝜑𝑥𝑋 ) → 𝑥 ∈ ℂ )
6 4 elfzelzd ( 𝜑𝐽 ∈ ℤ )
7 6 zcnd ( 𝜑𝐽 ∈ ℂ )
8 7 adantr ( ( 𝜑𝑥𝑋 ) → 𝐽 ∈ ℂ )
9 5 8 subcld ( ( 𝜑𝑥𝑋 ) → ( 𝑥𝐽 ) ∈ ℂ )
10 nnm1nn0 ( 𝑃 ∈ ℕ → ( 𝑃 − 1 ) ∈ ℕ0 )
11 2 10 syl ( 𝜑 → ( 𝑃 − 1 ) ∈ ℕ0 )
12 2 nnnn0d ( 𝜑𝑃 ∈ ℕ0 )
13 11 12 ifcld ( 𝜑 → if ( 𝐽 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ∈ ℕ0 )
14 13 adantr ( ( 𝜑𝑥𝑋 ) → if ( 𝐽 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ∈ ℕ0 )
15 9 14 expcld ( ( 𝜑𝑥𝑋 ) → ( ( 𝑥𝐽 ) ↑ if ( 𝐽 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ∈ ℂ )
16 eqid ( 𝑥𝑋 ↦ ( ( 𝑥𝐽 ) ↑ if ( 𝐽 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) = ( 𝑥𝑋 ↦ ( ( 𝑥𝐽 ) ↑ if ( 𝐽 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) )
17 15 16 fmptd ( 𝜑 → ( 𝑥𝑋 ↦ ( ( 𝑥𝐽 ) ↑ if ( 𝐽 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) : 𝑋 ⟶ ℂ )
18 oveq2 ( 𝑗 = 𝑛 → ( 𝑥𝑗 ) = ( 𝑥𝑛 ) )
19 eqeq1 ( 𝑗 = 𝑛 → ( 𝑗 = 0 ↔ 𝑛 = 0 ) )
20 19 ifbid ( 𝑗 = 𝑛 → if ( 𝑗 = 0 , ( 𝑃 − 1 ) , 𝑃 ) = if ( 𝑛 = 0 , ( 𝑃 − 1 ) , 𝑃 ) )
21 18 20 oveq12d ( 𝑗 = 𝑛 → ( ( 𝑥𝑗 ) ↑ if ( 𝑗 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) = ( ( 𝑥𝑛 ) ↑ if ( 𝑛 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) )
22 21 mpteq2dv ( 𝑗 = 𝑛 → ( 𝑥𝑋 ↦ ( ( 𝑥𝑗 ) ↑ if ( 𝑗 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) = ( 𝑥𝑋 ↦ ( ( 𝑥𝑛 ) ↑ if ( 𝑛 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) )
23 22 cbvmptv ( 𝑗 ∈ ( 0 ... 𝑀 ) ↦ ( 𝑥𝑋 ↦ ( ( 𝑥𝑗 ) ↑ if ( 𝑗 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) ) = ( 𝑛 ∈ ( 0 ... 𝑀 ) ↦ ( 𝑥𝑋 ↦ ( ( 𝑥𝑛 ) ↑ if ( 𝑛 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) )
24 3 23 eqtri 𝐻 = ( 𝑛 ∈ ( 0 ... 𝑀 ) ↦ ( 𝑥𝑋 ↦ ( ( 𝑥𝑛 ) ↑ if ( 𝑛 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) )
25 oveq2 ( 𝑛 = 𝐽 → ( 𝑥𝑛 ) = ( 𝑥𝐽 ) )
26 eqeq1 ( 𝑛 = 𝐽 → ( 𝑛 = 0 ↔ 𝐽 = 0 ) )
27 26 ifbid ( 𝑛 = 𝐽 → if ( 𝑛 = 0 , ( 𝑃 − 1 ) , 𝑃 ) = if ( 𝐽 = 0 , ( 𝑃 − 1 ) , 𝑃 ) )
28 25 27 oveq12d ( 𝑛 = 𝐽 → ( ( 𝑥𝑛 ) ↑ if ( 𝑛 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) = ( ( 𝑥𝐽 ) ↑ if ( 𝐽 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) )
29 28 mpteq2dv ( 𝑛 = 𝐽 → ( 𝑥𝑋 ↦ ( ( 𝑥𝑛 ) ↑ if ( 𝑛 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) = ( 𝑥𝑋 ↦ ( ( 𝑥𝐽 ) ↑ if ( 𝐽 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) )
30 cnex ℂ ∈ V
31 30 ssex ( 𝑋 ⊆ ℂ → 𝑋 ∈ V )
32 mptexg ( 𝑋 ∈ V → ( 𝑥𝑋 ↦ ( ( 𝑥𝐽 ) ↑ if ( 𝐽 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) ∈ V )
33 1 31 32 3syl ( 𝜑 → ( 𝑥𝑋 ↦ ( ( 𝑥𝐽 ) ↑ if ( 𝐽 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) ∈ V )
34 24 29 4 33 fvmptd3 ( 𝜑 → ( 𝐻𝐽 ) = ( 𝑥𝑋 ↦ ( ( 𝑥𝐽 ) ↑ if ( 𝐽 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) )
35 34 feq1d ( 𝜑 → ( ( 𝐻𝐽 ) : 𝑋 ⟶ ℂ ↔ ( 𝑥𝑋 ↦ ( ( 𝑥𝐽 ) ↑ if ( 𝐽 = 0 , ( 𝑃 − 1 ) , 𝑃 ) ) ) : 𝑋 ⟶ ℂ ) )
36 17 35 mpbird ( 𝜑 → ( 𝐻𝐽 ) : 𝑋 ⟶ ℂ )