Metamath Proof Explorer


Theorem dirkercncf

Description: For any natural number N , the Dirichlet Kernel ( DN ) is continuous. (Contributed by Glauco Siliprandi, 11-Dec-2019)

Ref Expression
Hypothesis dirkercncf.d 𝐷 = ( 𝑛 ∈ ℕ ↦ ( 𝑦 ∈ ℝ ↦ if ( ( 𝑦 mod ( 2 · π ) ) = 0 , ( ( ( 2 · 𝑛 ) + 1 ) / ( 2 · π ) ) , ( ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑦 ) ) / ( ( 2 · π ) · ( sin ‘ ( 𝑦 / 2 ) ) ) ) ) ) )
Assertion dirkercncf ( 𝑁 ∈ ℕ → ( 𝐷𝑁 ) ∈ ( ℝ –cn→ ℝ ) )

Proof

Step Hyp Ref Expression
1 dirkercncf.d 𝐷 = ( 𝑛 ∈ ℕ ↦ ( 𝑦 ∈ ℝ ↦ if ( ( 𝑦 mod ( 2 · π ) ) = 0 , ( ( ( 2 · 𝑛 ) + 1 ) / ( 2 · π ) ) , ( ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑦 ) ) / ( ( 2 · π ) · ( sin ‘ ( 𝑦 / 2 ) ) ) ) ) ) )
2 1 dirkerf ( 𝑁 ∈ ℕ → ( 𝐷𝑁 ) : ℝ ⟶ ℝ )
3 ax-resscn ℝ ⊆ ℂ
4 3 a1i ( 𝑁 ∈ ℕ → ℝ ⊆ ℂ )
5 2 4 fssd ( 𝑁 ∈ ℕ → ( 𝐷𝑁 ) : ℝ ⟶ ℂ )
6 5 ad2antrr ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( 𝐷𝑁 ) : ℝ ⟶ ℂ )
7 oveq1 ( 𝑦 = 𝑤 → ( 𝑦 mod ( 2 · π ) ) = ( 𝑤 mod ( 2 · π ) ) )
8 7 eqeq1d ( 𝑦 = 𝑤 → ( ( 𝑦 mod ( 2 · π ) ) = 0 ↔ ( 𝑤 mod ( 2 · π ) ) = 0 ) )
9 oveq2 ( 𝑦 = 𝑤 → ( ( 𝑛 + ( 1 / 2 ) ) · 𝑦 ) = ( ( 𝑛 + ( 1 / 2 ) ) · 𝑤 ) )
10 9 fveq2d ( 𝑦 = 𝑤 → ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑦 ) ) = ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑤 ) ) )
11 oveq1 ( 𝑦 = 𝑤 → ( 𝑦 / 2 ) = ( 𝑤 / 2 ) )
12 11 fveq2d ( 𝑦 = 𝑤 → ( sin ‘ ( 𝑦 / 2 ) ) = ( sin ‘ ( 𝑤 / 2 ) ) )
13 12 oveq2d ( 𝑦 = 𝑤 → ( ( 2 · π ) · ( sin ‘ ( 𝑦 / 2 ) ) ) = ( ( 2 · π ) · ( sin ‘ ( 𝑤 / 2 ) ) ) )
14 10 13 oveq12d ( 𝑦 = 𝑤 → ( ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑦 ) ) / ( ( 2 · π ) · ( sin ‘ ( 𝑦 / 2 ) ) ) ) = ( ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑤 ) ) / ( ( 2 · π ) · ( sin ‘ ( 𝑤 / 2 ) ) ) ) )
15 8 14 ifbieq2d ( 𝑦 = 𝑤 → if ( ( 𝑦 mod ( 2 · π ) ) = 0 , ( ( ( 2 · 𝑛 ) + 1 ) / ( 2 · π ) ) , ( ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑦 ) ) / ( ( 2 · π ) · ( sin ‘ ( 𝑦 / 2 ) ) ) ) ) = if ( ( 𝑤 mod ( 2 · π ) ) = 0 , ( ( ( 2 · 𝑛 ) + 1 ) / ( 2 · π ) ) , ( ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑤 ) ) / ( ( 2 · π ) · ( sin ‘ ( 𝑤 / 2 ) ) ) ) ) )
16 15 cbvmptv ( 𝑦 ∈ ℝ ↦ if ( ( 𝑦 mod ( 2 · π ) ) = 0 , ( ( ( 2 · 𝑛 ) + 1 ) / ( 2 · π ) ) , ( ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑦 ) ) / ( ( 2 · π ) · ( sin ‘ ( 𝑦 / 2 ) ) ) ) ) ) = ( 𝑤 ∈ ℝ ↦ if ( ( 𝑤 mod ( 2 · π ) ) = 0 , ( ( ( 2 · 𝑛 ) + 1 ) / ( 2 · π ) ) , ( ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑤 ) ) / ( ( 2 · π ) · ( sin ‘ ( 𝑤 / 2 ) ) ) ) ) )
17 16 mpteq2i ( 𝑛 ∈ ℕ ↦ ( 𝑦 ∈ ℝ ↦ if ( ( 𝑦 mod ( 2 · π ) ) = 0 , ( ( ( 2 · 𝑛 ) + 1 ) / ( 2 · π ) ) , ( ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑦 ) ) / ( ( 2 · π ) · ( sin ‘ ( 𝑦 / 2 ) ) ) ) ) ) ) = ( 𝑛 ∈ ℕ ↦ ( 𝑤 ∈ ℝ ↦ if ( ( 𝑤 mod ( 2 · π ) ) = 0 , ( ( ( 2 · 𝑛 ) + 1 ) / ( 2 · π ) ) , ( ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑤 ) ) / ( ( 2 · π ) · ( sin ‘ ( 𝑤 / 2 ) ) ) ) ) ) )
18 1 17 eqtri 𝐷 = ( 𝑛 ∈ ℕ ↦ ( 𝑤 ∈ ℝ ↦ if ( ( 𝑤 mod ( 2 · π ) ) = 0 , ( ( ( 2 · 𝑛 ) + 1 ) / ( 2 · π ) ) , ( ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑤 ) ) / ( ( 2 · π ) · ( sin ‘ ( 𝑤 / 2 ) ) ) ) ) ) )
19 eqid ( 𝑦 − π ) = ( 𝑦 − π )
20 eqid ( 𝑦 + π ) = ( 𝑦 + π )
21 eqid ( 𝑤 ∈ ( ( 𝑦 − π ) (,) ( 𝑦 + π ) ) ↦ ( ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑤 ) ) / ( ( 2 · π ) · ( sin ‘ ( 𝑤 / 2 ) ) ) ) ) = ( 𝑤 ∈ ( ( 𝑦 − π ) (,) ( 𝑦 + π ) ) ↦ ( ( sin ‘ ( ( 𝑛 + ( 1 / 2 ) ) · 𝑤 ) ) / ( ( 2 · π ) · ( sin ‘ ( 𝑤 / 2 ) ) ) ) )
22 eqid ( 𝑤 ∈ ( ( 𝑦 − π ) (,) ( 𝑦 + π ) ) ↦ ( ( 2 · π ) · ( sin ‘ ( 𝑤 / 2 ) ) ) ) = ( 𝑤 ∈ ( ( 𝑦 − π ) (,) ( 𝑦 + π ) ) ↦ ( ( 2 · π ) · ( sin ‘ ( 𝑤 / 2 ) ) ) )
23 simpll ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → 𝑁 ∈ ℕ )
24 simplr ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → 𝑦 ∈ ℝ )
25 simpr ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( 𝑦 mod ( 2 · π ) ) = 0 )
26 18 19 20 21 22 23 24 25 dirkercncflem3 ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( ( 𝐷𝑁 ) ‘ 𝑦 ) ∈ ( ( 𝐷𝑁 ) lim 𝑦 ) )
27 3 jctl ( 𝑦 ∈ ℝ → ( ℝ ⊆ ℂ ∧ 𝑦 ∈ ℝ ) )
28 27 ad2antlr ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( ℝ ⊆ ℂ ∧ 𝑦 ∈ ℝ ) )
29 eqid ( TopOpen ‘ ℂfld ) = ( TopOpen ‘ ℂfld )
30 29 tgioo2 ( topGen ‘ ran (,) ) = ( ( TopOpen ‘ ℂfld ) ↾t ℝ )
31 29 30 cnplimc ( ( ℝ ⊆ ℂ ∧ 𝑦 ∈ ℝ ) → ( ( 𝐷𝑁 ) ∈ ( ( ( topGen ‘ ran (,) ) CnP ( TopOpen ‘ ℂfld ) ) ‘ 𝑦 ) ↔ ( ( 𝐷𝑁 ) : ℝ ⟶ ℂ ∧ ( ( 𝐷𝑁 ) ‘ 𝑦 ) ∈ ( ( 𝐷𝑁 ) lim 𝑦 ) ) ) )
32 28 31 syl ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( ( 𝐷𝑁 ) ∈ ( ( ( topGen ‘ ran (,) ) CnP ( TopOpen ‘ ℂfld ) ) ‘ 𝑦 ) ↔ ( ( 𝐷𝑁 ) : ℝ ⟶ ℂ ∧ ( ( 𝐷𝑁 ) ‘ 𝑦 ) ∈ ( ( 𝐷𝑁 ) lim 𝑦 ) ) ) )
33 6 26 32 mpbir2and ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( 𝐷𝑁 ) ∈ ( ( ( topGen ‘ ran (,) ) CnP ( TopOpen ‘ ℂfld ) ) ‘ 𝑦 ) )
34 29 cnfldtop ( TopOpen ‘ ℂfld ) ∈ Top
35 34 a1i ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( TopOpen ‘ ℂfld ) ∈ Top )
36 2 ad2antrr ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( 𝐷𝑁 ) : ℝ ⟶ ℝ )
37 3 a1i ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ℝ ⊆ ℂ )
38 retopon ( topGen ‘ ran (,) ) ∈ ( TopOn ‘ ℝ )
39 38 toponunii ℝ = ( topGen ‘ ran (,) )
40 29 cnfldtopon ( TopOpen ‘ ℂfld ) ∈ ( TopOn ‘ ℂ )
41 40 toponunii ℂ = ( TopOpen ‘ ℂfld )
42 39 41 cnprest2 ( ( ( TopOpen ‘ ℂfld ) ∈ Top ∧ ( 𝐷𝑁 ) : ℝ ⟶ ℝ ∧ ℝ ⊆ ℂ ) → ( ( 𝐷𝑁 ) ∈ ( ( ( topGen ‘ ran (,) ) CnP ( TopOpen ‘ ℂfld ) ) ‘ 𝑦 ) ↔ ( 𝐷𝑁 ) ∈ ( ( ( topGen ‘ ran (,) ) CnP ( ( TopOpen ‘ ℂfld ) ↾t ℝ ) ) ‘ 𝑦 ) ) )
43 35 36 37 42 syl3anc ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( ( 𝐷𝑁 ) ∈ ( ( ( topGen ‘ ran (,) ) CnP ( TopOpen ‘ ℂfld ) ) ‘ 𝑦 ) ↔ ( 𝐷𝑁 ) ∈ ( ( ( topGen ‘ ran (,) ) CnP ( ( TopOpen ‘ ℂfld ) ↾t ℝ ) ) ‘ 𝑦 ) ) )
44 33 43 mpbid ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( 𝐷𝑁 ) ∈ ( ( ( topGen ‘ ran (,) ) CnP ( ( TopOpen ‘ ℂfld ) ↾t ℝ ) ) ‘ 𝑦 ) )
45 30 eqcomi ( ( TopOpen ‘ ℂfld ) ↾t ℝ ) = ( topGen ‘ ran (,) )
46 45 a1i ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( ( TopOpen ‘ ℂfld ) ↾t ℝ ) = ( topGen ‘ ran (,) ) )
47 46 oveq2d ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( ( topGen ‘ ran (,) ) CnP ( ( TopOpen ‘ ℂfld ) ↾t ℝ ) ) = ( ( topGen ‘ ran (,) ) CnP ( topGen ‘ ran (,) ) ) )
48 47 fveq1d ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( ( ( topGen ‘ ran (,) ) CnP ( ( TopOpen ‘ ℂfld ) ↾t ℝ ) ) ‘ 𝑦 ) = ( ( ( topGen ‘ ran (,) ) CnP ( topGen ‘ ran (,) ) ) ‘ 𝑦 ) )
49 44 48 eleqtrd ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( 𝐷𝑁 ) ∈ ( ( ( topGen ‘ ran (,) ) CnP ( topGen ‘ ran (,) ) ) ‘ 𝑦 ) )
50 simpll ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ¬ ( 𝑦 mod ( 2 · π ) ) = 0 ) → 𝑁 ∈ ℕ )
51 simplr ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ¬ ( 𝑦 mod ( 2 · π ) ) = 0 ) → 𝑦 ∈ ℝ )
52 neqne ( ¬ ( 𝑦 mod ( 2 · π ) ) = 0 → ( 𝑦 mod ( 2 · π ) ) ≠ 0 )
53 52 adantl ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ¬ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( 𝑦 mod ( 2 · π ) ) ≠ 0 )
54 eqid ( ⌊ ‘ ( 𝑦 / ( 2 · π ) ) ) = ( ⌊ ‘ ( 𝑦 / ( 2 · π ) ) )
55 eqid ( ( ⌊ ‘ ( 𝑦 / ( 2 · π ) ) ) + 1 ) = ( ( ⌊ ‘ ( 𝑦 / ( 2 · π ) ) ) + 1 )
56 eqid ( ( ⌊ ‘ ( 𝑦 / ( 2 · π ) ) ) · ( 2 · π ) ) = ( ( ⌊ ‘ ( 𝑦 / ( 2 · π ) ) ) · ( 2 · π ) )
57 eqid ( ( ( ⌊ ‘ ( 𝑦 / ( 2 · π ) ) ) + 1 ) · ( 2 · π ) ) = ( ( ( ⌊ ‘ ( 𝑦 / ( 2 · π ) ) ) + 1 ) · ( 2 · π ) )
58 18 50 51 53 54 55 56 57 dirkercncflem4 ( ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) ∧ ¬ ( 𝑦 mod ( 2 · π ) ) = 0 ) → ( 𝐷𝑁 ) ∈ ( ( ( topGen ‘ ran (,) ) CnP ( topGen ‘ ran (,) ) ) ‘ 𝑦 ) )
59 49 58 pm2.61dan ( ( 𝑁 ∈ ℕ ∧ 𝑦 ∈ ℝ ) → ( 𝐷𝑁 ) ∈ ( ( ( topGen ‘ ran (,) ) CnP ( topGen ‘ ran (,) ) ) ‘ 𝑦 ) )
60 59 ralrimiva ( 𝑁 ∈ ℕ → ∀ 𝑦 ∈ ℝ ( 𝐷𝑁 ) ∈ ( ( ( topGen ‘ ran (,) ) CnP ( topGen ‘ ran (,) ) ) ‘ 𝑦 ) )
61 cncnp ( ( ( topGen ‘ ran (,) ) ∈ ( TopOn ‘ ℝ ) ∧ ( topGen ‘ ran (,) ) ∈ ( TopOn ‘ ℝ ) ) → ( ( 𝐷𝑁 ) ∈ ( ( topGen ‘ ran (,) ) Cn ( topGen ‘ ran (,) ) ) ↔ ( ( 𝐷𝑁 ) : ℝ ⟶ ℝ ∧ ∀ 𝑦 ∈ ℝ ( 𝐷𝑁 ) ∈ ( ( ( topGen ‘ ran (,) ) CnP ( topGen ‘ ran (,) ) ) ‘ 𝑦 ) ) ) )
62 38 38 61 mp2an ( ( 𝐷𝑁 ) ∈ ( ( topGen ‘ ran (,) ) Cn ( topGen ‘ ran (,) ) ) ↔ ( ( 𝐷𝑁 ) : ℝ ⟶ ℝ ∧ ∀ 𝑦 ∈ ℝ ( 𝐷𝑁 ) ∈ ( ( ( topGen ‘ ran (,) ) CnP ( topGen ‘ ran (,) ) ) ‘ 𝑦 ) ) )
63 2 60 62 sylanbrc ( 𝑁 ∈ ℕ → ( 𝐷𝑁 ) ∈ ( ( topGen ‘ ran (,) ) Cn ( topGen ‘ ran (,) ) ) )
64 29 30 30 cncfcn ( ( ℝ ⊆ ℂ ∧ ℝ ⊆ ℂ ) → ( ℝ –cn→ ℝ ) = ( ( topGen ‘ ran (,) ) Cn ( topGen ‘ ran (,) ) ) )
65 3 3 64 mp2an ( ℝ –cn→ ℝ ) = ( ( topGen ‘ ran (,) ) Cn ( topGen ‘ ran (,) ) )
66 63 65 eleqtrrdi ( 𝑁 ∈ ℕ → ( 𝐷𝑁 ) ∈ ( ℝ –cn→ ℝ ) )