Metamath Proof Explorer


Theorem ioccncflimc

Description: Limit at the upper bound of a continuous function defined on a left-open right-closed interval. (Contributed by Glauco Siliprandi, 11-Dec-2019)

Ref Expression
Hypotheses ioccncflimc.a ( 𝜑𝐴 ∈ ℝ* )
ioccncflimc.b ( 𝜑𝐵 ∈ ℝ )
ioccncflimc.altb ( 𝜑𝐴 < 𝐵 )
ioccncflimc.f ( 𝜑𝐹 ∈ ( ( 𝐴 (,] 𝐵 ) –cn→ ℂ ) )
Assertion ioccncflimc ( 𝜑 → ( 𝐹𝐵 ) ∈ ( ( 𝐹 ↾ ( 𝐴 (,) 𝐵 ) ) lim 𝐵 ) )

Proof

Step Hyp Ref Expression
1 ioccncflimc.a ( 𝜑𝐴 ∈ ℝ* )
2 ioccncflimc.b ( 𝜑𝐵 ∈ ℝ )
3 ioccncflimc.altb ( 𝜑𝐴 < 𝐵 )
4 ioccncflimc.f ( 𝜑𝐹 ∈ ( ( 𝐴 (,] 𝐵 ) –cn→ ℂ ) )
5 2 rexrd ( 𝜑𝐵 ∈ ℝ* )
6 2 leidd ( 𝜑𝐵𝐵 )
7 1 5 5 3 6 eliocd ( 𝜑𝐵 ∈ ( 𝐴 (,] 𝐵 ) )
8 4 7 cnlimci ( 𝜑 → ( 𝐹𝐵 ) ∈ ( 𝐹 lim 𝐵 ) )
9 cncfrss ( 𝐹 ∈ ( ( 𝐴 (,] 𝐵 ) –cn→ ℂ ) → ( 𝐴 (,] 𝐵 ) ⊆ ℂ )
10 4 9 syl ( 𝜑 → ( 𝐴 (,] 𝐵 ) ⊆ ℂ )
11 ssid ℂ ⊆ ℂ
12 eqid ( TopOpen ‘ ℂfld ) = ( TopOpen ‘ ℂfld )
13 eqid ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) = ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) )
14 eqid ( ( TopOpen ‘ ℂfld ) ↾t ℂ ) = ( ( TopOpen ‘ ℂfld ) ↾t ℂ )
15 12 13 14 cncfcn ( ( ( 𝐴 (,] 𝐵 ) ⊆ ℂ ∧ ℂ ⊆ ℂ ) → ( ( 𝐴 (,] 𝐵 ) –cn→ ℂ ) = ( ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) Cn ( ( TopOpen ‘ ℂfld ) ↾t ℂ ) ) )
16 10 11 15 sylancl ( 𝜑 → ( ( 𝐴 (,] 𝐵 ) –cn→ ℂ ) = ( ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) Cn ( ( TopOpen ‘ ℂfld ) ↾t ℂ ) ) )
17 4 16 eleqtrd ( 𝜑𝐹 ∈ ( ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) Cn ( ( TopOpen ‘ ℂfld ) ↾t ℂ ) ) )
18 12 cnfldtopon ( TopOpen ‘ ℂfld ) ∈ ( TopOn ‘ ℂ )
19 resttopon ( ( ( TopOpen ‘ ℂfld ) ∈ ( TopOn ‘ ℂ ) ∧ ( 𝐴 (,] 𝐵 ) ⊆ ℂ ) → ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) ∈ ( TopOn ‘ ( 𝐴 (,] 𝐵 ) ) )
20 18 10 19 sylancr ( 𝜑 → ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) ∈ ( TopOn ‘ ( 𝐴 (,] 𝐵 ) ) )
21 12 cnfldtop ( TopOpen ‘ ℂfld ) ∈ Top
22 unicntop ℂ = ( TopOpen ‘ ℂfld )
23 22 restid ( ( TopOpen ‘ ℂfld ) ∈ Top → ( ( TopOpen ‘ ℂfld ) ↾t ℂ ) = ( TopOpen ‘ ℂfld ) )
24 21 23 ax-mp ( ( TopOpen ‘ ℂfld ) ↾t ℂ ) = ( TopOpen ‘ ℂfld )
25 24 cnfldtopon ( ( TopOpen ‘ ℂfld ) ↾t ℂ ) ∈ ( TopOn ‘ ℂ )
26 cncnp ( ( ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) ∈ ( TopOn ‘ ( 𝐴 (,] 𝐵 ) ) ∧ ( ( TopOpen ‘ ℂfld ) ↾t ℂ ) ∈ ( TopOn ‘ ℂ ) ) → ( 𝐹 ∈ ( ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) Cn ( ( TopOpen ‘ ℂfld ) ↾t ℂ ) ) ↔ ( 𝐹 : ( 𝐴 (,] 𝐵 ) ⟶ ℂ ∧ ∀ 𝑥 ∈ ( 𝐴 (,] 𝐵 ) 𝐹 ∈ ( ( ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) CnP ( ( TopOpen ‘ ℂfld ) ↾t ℂ ) ) ‘ 𝑥 ) ) ) )
27 20 25 26 sylancl ( 𝜑 → ( 𝐹 ∈ ( ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) Cn ( ( TopOpen ‘ ℂfld ) ↾t ℂ ) ) ↔ ( 𝐹 : ( 𝐴 (,] 𝐵 ) ⟶ ℂ ∧ ∀ 𝑥 ∈ ( 𝐴 (,] 𝐵 ) 𝐹 ∈ ( ( ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) CnP ( ( TopOpen ‘ ℂfld ) ↾t ℂ ) ) ‘ 𝑥 ) ) ) )
28 17 27 mpbid ( 𝜑 → ( 𝐹 : ( 𝐴 (,] 𝐵 ) ⟶ ℂ ∧ ∀ 𝑥 ∈ ( 𝐴 (,] 𝐵 ) 𝐹 ∈ ( ( ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) CnP ( ( TopOpen ‘ ℂfld ) ↾t ℂ ) ) ‘ 𝑥 ) ) )
29 28 simpld ( 𝜑𝐹 : ( 𝐴 (,] 𝐵 ) ⟶ ℂ )
30 ioossioc ( 𝐴 (,) 𝐵 ) ⊆ ( 𝐴 (,] 𝐵 )
31 30 a1i ( 𝜑 → ( 𝐴 (,) 𝐵 ) ⊆ ( 𝐴 (,] 𝐵 ) )
32 eqid ( ( TopOpen ‘ ℂfld ) ↾t ( ( 𝐴 (,] 𝐵 ) ∪ { 𝐵 } ) ) = ( ( TopOpen ‘ ℂfld ) ↾t ( ( 𝐴 (,] 𝐵 ) ∪ { 𝐵 } ) )
33 2 recnd ( 𝜑𝐵 ∈ ℂ )
34 22 ntrtop ( ( TopOpen ‘ ℂfld ) ∈ Top → ( ( int ‘ ( TopOpen ‘ ℂfld ) ) ‘ ℂ ) = ℂ )
35 21 34 ax-mp ( ( int ‘ ( TopOpen ‘ ℂfld ) ) ‘ ℂ ) = ℂ
36 undif ( ( 𝐴 (,] 𝐵 ) ⊆ ℂ ↔ ( ( 𝐴 (,] 𝐵 ) ∪ ( ℂ ∖ ( 𝐴 (,] 𝐵 ) ) ) = ℂ )
37 10 36 sylib ( 𝜑 → ( ( 𝐴 (,] 𝐵 ) ∪ ( ℂ ∖ ( 𝐴 (,] 𝐵 ) ) ) = ℂ )
38 37 eqcomd ( 𝜑 → ℂ = ( ( 𝐴 (,] 𝐵 ) ∪ ( ℂ ∖ ( 𝐴 (,] 𝐵 ) ) ) )
39 38 fveq2d ( 𝜑 → ( ( int ‘ ( TopOpen ‘ ℂfld ) ) ‘ ℂ ) = ( ( int ‘ ( TopOpen ‘ ℂfld ) ) ‘ ( ( 𝐴 (,] 𝐵 ) ∪ ( ℂ ∖ ( 𝐴 (,] 𝐵 ) ) ) ) )
40 35 39 eqtr3id ( 𝜑 → ℂ = ( ( int ‘ ( TopOpen ‘ ℂfld ) ) ‘ ( ( 𝐴 (,] 𝐵 ) ∪ ( ℂ ∖ ( 𝐴 (,] 𝐵 ) ) ) ) )
41 33 40 eleqtrd ( 𝜑𝐵 ∈ ( ( int ‘ ( TopOpen ‘ ℂfld ) ) ‘ ( ( 𝐴 (,] 𝐵 ) ∪ ( ℂ ∖ ( 𝐴 (,] 𝐵 ) ) ) ) )
42 41 7 elind ( 𝜑𝐵 ∈ ( ( ( int ‘ ( TopOpen ‘ ℂfld ) ) ‘ ( ( 𝐴 (,] 𝐵 ) ∪ ( ℂ ∖ ( 𝐴 (,] 𝐵 ) ) ) ) ∩ ( 𝐴 (,] 𝐵 ) ) )
43 21 a1i ( 𝜑 → ( TopOpen ‘ ℂfld ) ∈ Top )
44 ssid ( 𝐴 (,] 𝐵 ) ⊆ ( 𝐴 (,] 𝐵 )
45 44 a1i ( 𝜑 → ( 𝐴 (,] 𝐵 ) ⊆ ( 𝐴 (,] 𝐵 ) )
46 22 13 restntr ( ( ( TopOpen ‘ ℂfld ) ∈ Top ∧ ( 𝐴 (,] 𝐵 ) ⊆ ℂ ∧ ( 𝐴 (,] 𝐵 ) ⊆ ( 𝐴 (,] 𝐵 ) ) → ( ( int ‘ ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) ) ‘ ( 𝐴 (,] 𝐵 ) ) = ( ( ( int ‘ ( TopOpen ‘ ℂfld ) ) ‘ ( ( 𝐴 (,] 𝐵 ) ∪ ( ℂ ∖ ( 𝐴 (,] 𝐵 ) ) ) ) ∩ ( 𝐴 (,] 𝐵 ) ) )
47 43 10 45 46 syl3anc ( 𝜑 → ( ( int ‘ ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) ) ‘ ( 𝐴 (,] 𝐵 ) ) = ( ( ( int ‘ ( TopOpen ‘ ℂfld ) ) ‘ ( ( 𝐴 (,] 𝐵 ) ∪ ( ℂ ∖ ( 𝐴 (,] 𝐵 ) ) ) ) ∩ ( 𝐴 (,] 𝐵 ) ) )
48 42 47 eleqtrrd ( 𝜑𝐵 ∈ ( ( int ‘ ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) ) ‘ ( 𝐴 (,] 𝐵 ) ) )
49 7 snssd ( 𝜑 → { 𝐵 } ⊆ ( 𝐴 (,] 𝐵 ) )
50 ssequn2 ( { 𝐵 } ⊆ ( 𝐴 (,] 𝐵 ) ↔ ( ( 𝐴 (,] 𝐵 ) ∪ { 𝐵 } ) = ( 𝐴 (,] 𝐵 ) )
51 49 50 sylib ( 𝜑 → ( ( 𝐴 (,] 𝐵 ) ∪ { 𝐵 } ) = ( 𝐴 (,] 𝐵 ) )
52 51 eqcomd ( 𝜑 → ( 𝐴 (,] 𝐵 ) = ( ( 𝐴 (,] 𝐵 ) ∪ { 𝐵 } ) )
53 52 oveq2d ( 𝜑 → ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) = ( ( TopOpen ‘ ℂfld ) ↾t ( ( 𝐴 (,] 𝐵 ) ∪ { 𝐵 } ) ) )
54 53 fveq2d ( 𝜑 → ( int ‘ ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) ) = ( int ‘ ( ( TopOpen ‘ ℂfld ) ↾t ( ( 𝐴 (,] 𝐵 ) ∪ { 𝐵 } ) ) ) )
55 ioounsn ( ( 𝐴 ∈ ℝ*𝐵 ∈ ℝ*𝐴 < 𝐵 ) → ( ( 𝐴 (,) 𝐵 ) ∪ { 𝐵 } ) = ( 𝐴 (,] 𝐵 ) )
56 1 5 3 55 syl3anc ( 𝜑 → ( ( 𝐴 (,) 𝐵 ) ∪ { 𝐵 } ) = ( 𝐴 (,] 𝐵 ) )
57 56 eqcomd ( 𝜑 → ( 𝐴 (,] 𝐵 ) = ( ( 𝐴 (,) 𝐵 ) ∪ { 𝐵 } ) )
58 54 57 fveq12d ( 𝜑 → ( ( int ‘ ( ( TopOpen ‘ ℂfld ) ↾t ( 𝐴 (,] 𝐵 ) ) ) ‘ ( 𝐴 (,] 𝐵 ) ) = ( ( int ‘ ( ( TopOpen ‘ ℂfld ) ↾t ( ( 𝐴 (,] 𝐵 ) ∪ { 𝐵 } ) ) ) ‘ ( ( 𝐴 (,) 𝐵 ) ∪ { 𝐵 } ) ) )
59 48 58 eleqtrd ( 𝜑𝐵 ∈ ( ( int ‘ ( ( TopOpen ‘ ℂfld ) ↾t ( ( 𝐴 (,] 𝐵 ) ∪ { 𝐵 } ) ) ) ‘ ( ( 𝐴 (,) 𝐵 ) ∪ { 𝐵 } ) ) )
60 29 31 10 12 32 59 limcres ( 𝜑 → ( ( 𝐹 ↾ ( 𝐴 (,) 𝐵 ) ) lim 𝐵 ) = ( 𝐹 lim 𝐵 ) )
61 8 60 eleqtrrd ( 𝜑 → ( 𝐹𝐵 ) ∈ ( ( 𝐹 ↾ ( 𝐴 (,) 𝐵 ) ) lim 𝐵 ) )