Metamath Proof Explorer


Theorem ellimcabssub0

Description: An equivalent condition for being a limit. (Contributed by Glauco Siliprandi, 11-Dec-2019)

Ref Expression
Hypotheses ellimcabssub0.f 𝐹 = ( 𝑥𝐴𝐵 )
ellimcabssub0.g 𝐺 = ( 𝑥𝐴 ↦ ( 𝐵𝐶 ) )
ellimcabssub0.a ( 𝜑𝐴 ⊆ ℂ )
ellimcabssub0.b ( ( 𝜑𝑥𝐴 ) → 𝐵 ∈ ℂ )
ellimcabssub0.p ( 𝜑𝐷 ∈ ℂ )
ellimcabssub0.c ( 𝜑𝐶 ∈ ℂ )
Assertion ellimcabssub0 ( 𝜑 → ( 𝐶 ∈ ( 𝐹 lim 𝐷 ) ↔ 0 ∈ ( 𝐺 lim 𝐷 ) ) )

Proof

Step Hyp Ref Expression
1 ellimcabssub0.f 𝐹 = ( 𝑥𝐴𝐵 )
2 ellimcabssub0.g 𝐺 = ( 𝑥𝐴 ↦ ( 𝐵𝐶 ) )
3 ellimcabssub0.a ( 𝜑𝐴 ⊆ ℂ )
4 ellimcabssub0.b ( ( 𝜑𝑥𝐴 ) → 𝐵 ∈ ℂ )
5 ellimcabssub0.p ( 𝜑𝐷 ∈ ℂ )
6 ellimcabssub0.c ( 𝜑𝐶 ∈ ℂ )
7 0cnd ( 𝜑 → 0 ∈ ℂ )
8 6 7 2thd ( 𝜑 → ( 𝐶 ∈ ℂ ↔ 0 ∈ ℂ ) )
9 6 adantr ( ( 𝜑𝑥𝐴 ) → 𝐶 ∈ ℂ )
10 4 9 subcld ( ( 𝜑𝑥𝐴 ) → ( 𝐵𝐶 ) ∈ ℂ )
11 10 2 fmptd ( 𝜑𝐺 : 𝐴 ⟶ ℂ )
12 11 ffvelrnda ( ( 𝜑𝑧𝐴 ) → ( 𝐺𝑧 ) ∈ ℂ )
13 12 subid1d ( ( 𝜑𝑧𝐴 ) → ( ( 𝐺𝑧 ) − 0 ) = ( 𝐺𝑧 ) )
14 simpr ( ( 𝜑𝑧𝐴 ) → 𝑧𝐴 )
15 csbov1g ( 𝑧 ∈ V → 𝑧 / 𝑥 ( 𝐵𝐶 ) = ( 𝑧 / 𝑥 𝐵𝐶 ) )
16 15 elv 𝑧 / 𝑥 ( 𝐵𝐶 ) = ( 𝑧 / 𝑥 𝐵𝐶 )
17 sban ( [ 𝑧 / 𝑥 ] ( 𝜑𝑥𝐴 ) ↔ ( [ 𝑧 / 𝑥 ] 𝜑 ∧ [ 𝑧 / 𝑥 ] 𝑥𝐴 ) )
18 nfv 𝑥 𝜑
19 18 sbf ( [ 𝑧 / 𝑥 ] 𝜑𝜑 )
20 clelsb1 ( [ 𝑧 / 𝑥 ] 𝑥𝐴𝑧𝐴 )
21 19 20 anbi12i ( ( [ 𝑧 / 𝑥 ] 𝜑 ∧ [ 𝑧 / 𝑥 ] 𝑥𝐴 ) ↔ ( 𝜑𝑧𝐴 ) )
22 17 21 bitri ( [ 𝑧 / 𝑥 ] ( 𝜑𝑥𝐴 ) ↔ ( 𝜑𝑧𝐴 ) )
23 4 nfth 𝑥 ( ( 𝜑𝑥𝐴 ) → 𝐵 ∈ ℂ )
24 23 sbf ( [ 𝑧 / 𝑥 ] ( ( 𝜑𝑥𝐴 ) → 𝐵 ∈ ℂ ) ↔ ( ( 𝜑𝑥𝐴 ) → 𝐵 ∈ ℂ ) )
25 sbim ( [ 𝑧 / 𝑥 ] ( ( 𝜑𝑥𝐴 ) → 𝐵 ∈ ℂ ) ↔ ( [ 𝑧 / 𝑥 ] ( 𝜑𝑥𝐴 ) → [ 𝑧 / 𝑥 ] 𝐵 ∈ ℂ ) )
26 24 25 sylbb1 ( ( ( 𝜑𝑥𝐴 ) → 𝐵 ∈ ℂ ) → ( [ 𝑧 / 𝑥 ] ( 𝜑𝑥𝐴 ) → [ 𝑧 / 𝑥 ] 𝐵 ∈ ℂ ) )
27 22 26 syl5bir ( ( ( 𝜑𝑥𝐴 ) → 𝐵 ∈ ℂ ) → ( ( 𝜑𝑧𝐴 ) → [ 𝑧 / 𝑥 ] 𝐵 ∈ ℂ ) )
28 4 27 ax-mp ( ( 𝜑𝑧𝐴 ) → [ 𝑧 / 𝑥 ] 𝐵 ∈ ℂ )
29 sbsbc ( [ 𝑧 / 𝑥 ] 𝐵 ∈ ℂ ↔ [ 𝑧 / 𝑥 ] 𝐵 ∈ ℂ )
30 sbcel1g ( 𝑧 ∈ V → ( [ 𝑧 / 𝑥 ] 𝐵 ∈ ℂ ↔ 𝑧 / 𝑥 𝐵 ∈ ℂ ) )
31 30 elv ( [ 𝑧 / 𝑥 ] 𝐵 ∈ ℂ ↔ 𝑧 / 𝑥 𝐵 ∈ ℂ )
32 29 31 bitri ( [ 𝑧 / 𝑥 ] 𝐵 ∈ ℂ ↔ 𝑧 / 𝑥 𝐵 ∈ ℂ )
33 28 32 sylib ( ( 𝜑𝑧𝐴 ) → 𝑧 / 𝑥 𝐵 ∈ ℂ )
34 6 adantr ( ( 𝜑𝑧𝐴 ) → 𝐶 ∈ ℂ )
35 33 34 subcld ( ( 𝜑𝑧𝐴 ) → ( 𝑧 / 𝑥 𝐵𝐶 ) ∈ ℂ )
36 16 35 eqeltrid ( ( 𝜑𝑧𝐴 ) → 𝑧 / 𝑥 ( 𝐵𝐶 ) ∈ ℂ )
37 2 fvmpts ( ( 𝑧𝐴 𝑧 / 𝑥 ( 𝐵𝐶 ) ∈ ℂ ) → ( 𝐺𝑧 ) = 𝑧 / 𝑥 ( 𝐵𝐶 ) )
38 14 36 37 syl2anc ( ( 𝜑𝑧𝐴 ) → ( 𝐺𝑧 ) = 𝑧 / 𝑥 ( 𝐵𝐶 ) )
39 1 fvmpts ( ( 𝑧𝐴 𝑧 / 𝑥 𝐵 ∈ ℂ ) → ( 𝐹𝑧 ) = 𝑧 / 𝑥 𝐵 )
40 14 33 39 syl2anc ( ( 𝜑𝑧𝐴 ) → ( 𝐹𝑧 ) = 𝑧 / 𝑥 𝐵 )
41 40 oveq1d ( ( 𝜑𝑧𝐴 ) → ( ( 𝐹𝑧 ) − 𝐶 ) = ( 𝑧 / 𝑥 𝐵𝐶 ) )
42 16 41 eqtr4id ( ( 𝜑𝑧𝐴 ) → 𝑧 / 𝑥 ( 𝐵𝐶 ) = ( ( 𝐹𝑧 ) − 𝐶 ) )
43 13 38 42 3eqtrrd ( ( 𝜑𝑧𝐴 ) → ( ( 𝐹𝑧 ) − 𝐶 ) = ( ( 𝐺𝑧 ) − 0 ) )
44 43 fveq2d ( ( 𝜑𝑧𝐴 ) → ( abs ‘ ( ( 𝐹𝑧 ) − 𝐶 ) ) = ( abs ‘ ( ( 𝐺𝑧 ) − 0 ) ) )
45 44 breq1d ( ( 𝜑𝑧𝐴 ) → ( ( abs ‘ ( ( 𝐹𝑧 ) − 𝐶 ) ) < 𝑦 ↔ ( abs ‘ ( ( 𝐺𝑧 ) − 0 ) ) < 𝑦 ) )
46 45 imbi2d ( ( 𝜑𝑧𝐴 ) → ( ( ( 𝑧𝐷 ∧ ( abs ‘ ( 𝑧𝐷 ) ) < 𝑤 ) → ( abs ‘ ( ( 𝐹𝑧 ) − 𝐶 ) ) < 𝑦 ) ↔ ( ( 𝑧𝐷 ∧ ( abs ‘ ( 𝑧𝐷 ) ) < 𝑤 ) → ( abs ‘ ( ( 𝐺𝑧 ) − 0 ) ) < 𝑦 ) ) )
47 46 ralbidva ( 𝜑 → ( ∀ 𝑧𝐴 ( ( 𝑧𝐷 ∧ ( abs ‘ ( 𝑧𝐷 ) ) < 𝑤 ) → ( abs ‘ ( ( 𝐹𝑧 ) − 𝐶 ) ) < 𝑦 ) ↔ ∀ 𝑧𝐴 ( ( 𝑧𝐷 ∧ ( abs ‘ ( 𝑧𝐷 ) ) < 𝑤 ) → ( abs ‘ ( ( 𝐺𝑧 ) − 0 ) ) < 𝑦 ) ) )
48 47 rexbidv ( 𝜑 → ( ∃ 𝑤 ∈ ℝ+𝑧𝐴 ( ( 𝑧𝐷 ∧ ( abs ‘ ( 𝑧𝐷 ) ) < 𝑤 ) → ( abs ‘ ( ( 𝐹𝑧 ) − 𝐶 ) ) < 𝑦 ) ↔ ∃ 𝑤 ∈ ℝ+𝑧𝐴 ( ( 𝑧𝐷 ∧ ( abs ‘ ( 𝑧𝐷 ) ) < 𝑤 ) → ( abs ‘ ( ( 𝐺𝑧 ) − 0 ) ) < 𝑦 ) ) )
49 48 ralbidv ( 𝜑 → ( ∀ 𝑦 ∈ ℝ+𝑤 ∈ ℝ+𝑧𝐴 ( ( 𝑧𝐷 ∧ ( abs ‘ ( 𝑧𝐷 ) ) < 𝑤 ) → ( abs ‘ ( ( 𝐹𝑧 ) − 𝐶 ) ) < 𝑦 ) ↔ ∀ 𝑦 ∈ ℝ+𝑤 ∈ ℝ+𝑧𝐴 ( ( 𝑧𝐷 ∧ ( abs ‘ ( 𝑧𝐷 ) ) < 𝑤 ) → ( abs ‘ ( ( 𝐺𝑧 ) − 0 ) ) < 𝑦 ) ) )
50 8 49 anbi12d ( 𝜑 → ( ( 𝐶 ∈ ℂ ∧ ∀ 𝑦 ∈ ℝ+𝑤 ∈ ℝ+𝑧𝐴 ( ( 𝑧𝐷 ∧ ( abs ‘ ( 𝑧𝐷 ) ) < 𝑤 ) → ( abs ‘ ( ( 𝐹𝑧 ) − 𝐶 ) ) < 𝑦 ) ) ↔ ( 0 ∈ ℂ ∧ ∀ 𝑦 ∈ ℝ+𝑤 ∈ ℝ+𝑧𝐴 ( ( 𝑧𝐷 ∧ ( abs ‘ ( 𝑧𝐷 ) ) < 𝑤 ) → ( abs ‘ ( ( 𝐺𝑧 ) − 0 ) ) < 𝑦 ) ) ) )
51 4 1 fmptd ( 𝜑𝐹 : 𝐴 ⟶ ℂ )
52 51 3 5 ellimc3 ( 𝜑 → ( 𝐶 ∈ ( 𝐹 lim 𝐷 ) ↔ ( 𝐶 ∈ ℂ ∧ ∀ 𝑦 ∈ ℝ+𝑤 ∈ ℝ+𝑧𝐴 ( ( 𝑧𝐷 ∧ ( abs ‘ ( 𝑧𝐷 ) ) < 𝑤 ) → ( abs ‘ ( ( 𝐹𝑧 ) − 𝐶 ) ) < 𝑦 ) ) ) )
53 11 3 5 ellimc3 ( 𝜑 → ( 0 ∈ ( 𝐺 lim 𝐷 ) ↔ ( 0 ∈ ℂ ∧ ∀ 𝑦 ∈ ℝ+𝑤 ∈ ℝ+𝑧𝐴 ( ( 𝑧𝐷 ∧ ( abs ‘ ( 𝑧𝐷 ) ) < 𝑤 ) → ( abs ‘ ( ( 𝐺𝑧 ) − 0 ) ) < 𝑦 ) ) ) )
54 50 52 53 3bitr4d ( 𝜑 → ( 𝐶 ∈ ( 𝐹 lim 𝐷 ) ↔ 0 ∈ ( 𝐺 lim 𝐷 ) ) )