Metamath Proof Explorer


Theorem o1co

Description: Sufficient condition for transforming the index set of an eventually bounded function. (Contributed by Mario Carneiro, 12-May-2016)

Ref Expression
Hypotheses o1co.1 ( 𝜑𝐹 : 𝐴 ⟶ ℂ )
o1co.2 ( 𝜑𝐹 ∈ 𝑂(1) )
o1co.3 ( 𝜑𝐺 : 𝐵𝐴 )
o1co.4 ( 𝜑𝐵 ⊆ ℝ )
o1co.5 ( ( 𝜑𝑚 ∈ ℝ ) → ∃ 𝑥 ∈ ℝ ∀ 𝑦𝐵 ( 𝑥𝑦𝑚 ≤ ( 𝐺𝑦 ) ) )
Assertion o1co ( 𝜑 → ( 𝐹𝐺 ) ∈ 𝑂(1) )

Proof

Step Hyp Ref Expression
1 o1co.1 ( 𝜑𝐹 : 𝐴 ⟶ ℂ )
2 o1co.2 ( 𝜑𝐹 ∈ 𝑂(1) )
3 o1co.3 ( 𝜑𝐺 : 𝐵𝐴 )
4 o1co.4 ( 𝜑𝐵 ⊆ ℝ )
5 o1co.5 ( ( 𝜑𝑚 ∈ ℝ ) → ∃ 𝑥 ∈ ℝ ∀ 𝑦𝐵 ( 𝑥𝑦𝑚 ≤ ( 𝐺𝑦 ) ) )
6 1 fdmd ( 𝜑 → dom 𝐹 = 𝐴 )
7 o1dm ( 𝐹 ∈ 𝑂(1) → dom 𝐹 ⊆ ℝ )
8 2 7 syl ( 𝜑 → dom 𝐹 ⊆ ℝ )
9 6 8 eqsstrrd ( 𝜑𝐴 ⊆ ℝ )
10 elo12 ( ( 𝐹 : 𝐴 ⟶ ℂ ∧ 𝐴 ⊆ ℝ ) → ( 𝐹 ∈ 𝑂(1) ↔ ∃ 𝑚 ∈ ℝ ∃ 𝑛 ∈ ℝ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) )
11 1 9 10 syl2anc ( 𝜑 → ( 𝐹 ∈ 𝑂(1) ↔ ∃ 𝑚 ∈ ℝ ∃ 𝑛 ∈ ℝ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) )
12 2 11 mpbid ( 𝜑 → ∃ 𝑚 ∈ ℝ ∃ 𝑛 ∈ ℝ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) )
13 reeanv ( ∃ 𝑥 ∈ ℝ ∃ 𝑛 ∈ ℝ ( ∀ 𝑦𝐵 ( 𝑥𝑦𝑚 ≤ ( 𝐺𝑦 ) ) ∧ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) ↔ ( ∃ 𝑥 ∈ ℝ ∀ 𝑦𝐵 ( 𝑥𝑦𝑚 ≤ ( 𝐺𝑦 ) ) ∧ ∃ 𝑛 ∈ ℝ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) )
14 3 ad3antrrr ( ( ( ( 𝜑𝑚 ∈ ℝ ) ∧ 𝑥 ∈ ℝ ) ∧ 𝑛 ∈ ℝ ) → 𝐺 : 𝐵𝐴 )
15 14 ffvelrnda ( ( ( ( ( 𝜑𝑚 ∈ ℝ ) ∧ 𝑥 ∈ ℝ ) ∧ 𝑛 ∈ ℝ ) ∧ 𝑦𝐵 ) → ( 𝐺𝑦 ) ∈ 𝐴 )
16 breq2 ( 𝑧 = ( 𝐺𝑦 ) → ( 𝑚𝑧𝑚 ≤ ( 𝐺𝑦 ) ) )
17 2fveq3 ( 𝑧 = ( 𝐺𝑦 ) → ( abs ‘ ( 𝐹𝑧 ) ) = ( abs ‘ ( 𝐹 ‘ ( 𝐺𝑦 ) ) ) )
18 17 breq1d ( 𝑧 = ( 𝐺𝑦 ) → ( ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ↔ ( abs ‘ ( 𝐹 ‘ ( 𝐺𝑦 ) ) ) ≤ 𝑛 ) )
19 16 18 imbi12d ( 𝑧 = ( 𝐺𝑦 ) → ( ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ↔ ( 𝑚 ≤ ( 𝐺𝑦 ) → ( abs ‘ ( 𝐹 ‘ ( 𝐺𝑦 ) ) ) ≤ 𝑛 ) ) )
20 19 rspcva ( ( ( 𝐺𝑦 ) ∈ 𝐴 ∧ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) → ( 𝑚 ≤ ( 𝐺𝑦 ) → ( abs ‘ ( 𝐹 ‘ ( 𝐺𝑦 ) ) ) ≤ 𝑛 ) )
21 15 20 sylan ( ( ( ( ( ( 𝜑𝑚 ∈ ℝ ) ∧ 𝑥 ∈ ℝ ) ∧ 𝑛 ∈ ℝ ) ∧ 𝑦𝐵 ) ∧ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) → ( 𝑚 ≤ ( 𝐺𝑦 ) → ( abs ‘ ( 𝐹 ‘ ( 𝐺𝑦 ) ) ) ≤ 𝑛 ) )
22 21 an32s ( ( ( ( ( ( 𝜑𝑚 ∈ ℝ ) ∧ 𝑥 ∈ ℝ ) ∧ 𝑛 ∈ ℝ ) ∧ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) ∧ 𝑦𝐵 ) → ( 𝑚 ≤ ( 𝐺𝑦 ) → ( abs ‘ ( 𝐹 ‘ ( 𝐺𝑦 ) ) ) ≤ 𝑛 ) )
23 14 adantr ( ( ( ( ( 𝜑𝑚 ∈ ℝ ) ∧ 𝑥 ∈ ℝ ) ∧ 𝑛 ∈ ℝ ) ∧ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) → 𝐺 : 𝐵𝐴 )
24 fvco3 ( ( 𝐺 : 𝐵𝐴𝑦𝐵 ) → ( ( 𝐹𝐺 ) ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝐺𝑦 ) ) )
25 23 24 sylan ( ( ( ( ( ( 𝜑𝑚 ∈ ℝ ) ∧ 𝑥 ∈ ℝ ) ∧ 𝑛 ∈ ℝ ) ∧ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) ∧ 𝑦𝐵 ) → ( ( 𝐹𝐺 ) ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝐺𝑦 ) ) )
26 25 fveq2d ( ( ( ( ( ( 𝜑𝑚 ∈ ℝ ) ∧ 𝑥 ∈ ℝ ) ∧ 𝑛 ∈ ℝ ) ∧ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) ∧ 𝑦𝐵 ) → ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) = ( abs ‘ ( 𝐹 ‘ ( 𝐺𝑦 ) ) ) )
27 26 breq1d ( ( ( ( ( ( 𝜑𝑚 ∈ ℝ ) ∧ 𝑥 ∈ ℝ ) ∧ 𝑛 ∈ ℝ ) ∧ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) ∧ 𝑦𝐵 ) → ( ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) ≤ 𝑛 ↔ ( abs ‘ ( 𝐹 ‘ ( 𝐺𝑦 ) ) ) ≤ 𝑛 ) )
28 22 27 sylibrd ( ( ( ( ( ( 𝜑𝑚 ∈ ℝ ) ∧ 𝑥 ∈ ℝ ) ∧ 𝑛 ∈ ℝ ) ∧ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) ∧ 𝑦𝐵 ) → ( 𝑚 ≤ ( 𝐺𝑦 ) → ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) ≤ 𝑛 ) )
29 28 imim2d ( ( ( ( ( ( 𝜑𝑚 ∈ ℝ ) ∧ 𝑥 ∈ ℝ ) ∧ 𝑛 ∈ ℝ ) ∧ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) ∧ 𝑦𝐵 ) → ( ( 𝑥𝑦𝑚 ≤ ( 𝐺𝑦 ) ) → ( 𝑥𝑦 → ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) ≤ 𝑛 ) ) )
30 29 ralimdva ( ( ( ( ( 𝜑𝑚 ∈ ℝ ) ∧ 𝑥 ∈ ℝ ) ∧ 𝑛 ∈ ℝ ) ∧ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) → ( ∀ 𝑦𝐵 ( 𝑥𝑦𝑚 ≤ ( 𝐺𝑦 ) ) → ∀ 𝑦𝐵 ( 𝑥𝑦 → ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) ≤ 𝑛 ) ) )
31 30 expimpd ( ( ( ( 𝜑𝑚 ∈ ℝ ) ∧ 𝑥 ∈ ℝ ) ∧ 𝑛 ∈ ℝ ) → ( ( ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ∧ ∀ 𝑦𝐵 ( 𝑥𝑦𝑚 ≤ ( 𝐺𝑦 ) ) ) → ∀ 𝑦𝐵 ( 𝑥𝑦 → ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) ≤ 𝑛 ) ) )
32 31 ancomsd ( ( ( ( 𝜑𝑚 ∈ ℝ ) ∧ 𝑥 ∈ ℝ ) ∧ 𝑛 ∈ ℝ ) → ( ( ∀ 𝑦𝐵 ( 𝑥𝑦𝑚 ≤ ( 𝐺𝑦 ) ) ∧ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) → ∀ 𝑦𝐵 ( 𝑥𝑦 → ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) ≤ 𝑛 ) ) )
33 32 reximdva ( ( ( 𝜑𝑚 ∈ ℝ ) ∧ 𝑥 ∈ ℝ ) → ( ∃ 𝑛 ∈ ℝ ( ∀ 𝑦𝐵 ( 𝑥𝑦𝑚 ≤ ( 𝐺𝑦 ) ) ∧ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) → ∃ 𝑛 ∈ ℝ ∀ 𝑦𝐵 ( 𝑥𝑦 → ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) ≤ 𝑛 ) ) )
34 33 reximdva ( ( 𝜑𝑚 ∈ ℝ ) → ( ∃ 𝑥 ∈ ℝ ∃ 𝑛 ∈ ℝ ( ∀ 𝑦𝐵 ( 𝑥𝑦𝑚 ≤ ( 𝐺𝑦 ) ) ∧ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) → ∃ 𝑥 ∈ ℝ ∃ 𝑛 ∈ ℝ ∀ 𝑦𝐵 ( 𝑥𝑦 → ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) ≤ 𝑛 ) ) )
35 13 34 syl5bir ( ( 𝜑𝑚 ∈ ℝ ) → ( ( ∃ 𝑥 ∈ ℝ ∀ 𝑦𝐵 ( 𝑥𝑦𝑚 ≤ ( 𝐺𝑦 ) ) ∧ ∃ 𝑛 ∈ ℝ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) ) → ∃ 𝑥 ∈ ℝ ∃ 𝑛 ∈ ℝ ∀ 𝑦𝐵 ( 𝑥𝑦 → ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) ≤ 𝑛 ) ) )
36 5 35 mpand ( ( 𝜑𝑚 ∈ ℝ ) → ( ∃ 𝑛 ∈ ℝ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) → ∃ 𝑥 ∈ ℝ ∃ 𝑛 ∈ ℝ ∀ 𝑦𝐵 ( 𝑥𝑦 → ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) ≤ 𝑛 ) ) )
37 36 rexlimdva ( 𝜑 → ( ∃ 𝑚 ∈ ℝ ∃ 𝑛 ∈ ℝ ∀ 𝑧𝐴 ( 𝑚𝑧 → ( abs ‘ ( 𝐹𝑧 ) ) ≤ 𝑛 ) → ∃ 𝑥 ∈ ℝ ∃ 𝑛 ∈ ℝ ∀ 𝑦𝐵 ( 𝑥𝑦 → ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) ≤ 𝑛 ) ) )
38 12 37 mpd ( 𝜑 → ∃ 𝑥 ∈ ℝ ∃ 𝑛 ∈ ℝ ∀ 𝑦𝐵 ( 𝑥𝑦 → ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) ≤ 𝑛 ) )
39 fco ( ( 𝐹 : 𝐴 ⟶ ℂ ∧ 𝐺 : 𝐵𝐴 ) → ( 𝐹𝐺 ) : 𝐵 ⟶ ℂ )
40 1 3 39 syl2anc ( 𝜑 → ( 𝐹𝐺 ) : 𝐵 ⟶ ℂ )
41 elo12 ( ( ( 𝐹𝐺 ) : 𝐵 ⟶ ℂ ∧ 𝐵 ⊆ ℝ ) → ( ( 𝐹𝐺 ) ∈ 𝑂(1) ↔ ∃ 𝑥 ∈ ℝ ∃ 𝑛 ∈ ℝ ∀ 𝑦𝐵 ( 𝑥𝑦 → ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) ≤ 𝑛 ) ) )
42 40 4 41 syl2anc ( 𝜑 → ( ( 𝐹𝐺 ) ∈ 𝑂(1) ↔ ∃ 𝑥 ∈ ℝ ∃ 𝑛 ∈ ℝ ∀ 𝑦𝐵 ( 𝑥𝑦 → ( abs ‘ ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) ≤ 𝑛 ) ) )
43 38 42 mpbird ( 𝜑 → ( 𝐹𝐺 ) ∈ 𝑂(1) )