This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The logarithm function is continuous away from the branch cut at negative reals. (Contributed by Mario Carneiro, 25-Feb-2015)
| Ref | Expression | ||
|---|---|---|---|
| Hypothesis | logcn.d | ⊢ 𝐷 = ( ℂ ∖ ( -∞ (,] 0 ) ) | |
| Assertion | logcn | ⊢ ( log ↾ 𝐷 ) ∈ ( 𝐷 –cn→ ℂ ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | logcn.d | ⊢ 𝐷 = ( ℂ ∖ ( -∞ (,] 0 ) ) | |
| 2 | logf1o | ⊢ log : ( ℂ ∖ { 0 } ) –1-1-onto→ ran log | |
| 3 | f1of | ⊢ ( log : ( ℂ ∖ { 0 } ) –1-1-onto→ ran log → log : ( ℂ ∖ { 0 } ) ⟶ ran log ) | |
| 4 | 2 3 | ax-mp | ⊢ log : ( ℂ ∖ { 0 } ) ⟶ ran log |
| 5 | 1 | logdmss | ⊢ 𝐷 ⊆ ( ℂ ∖ { 0 } ) |
| 6 | fssres | ⊢ ( ( log : ( ℂ ∖ { 0 } ) ⟶ ran log ∧ 𝐷 ⊆ ( ℂ ∖ { 0 } ) ) → ( log ↾ 𝐷 ) : 𝐷 ⟶ ran log ) | |
| 7 | 4 5 6 | mp2an | ⊢ ( log ↾ 𝐷 ) : 𝐷 ⟶ ran log |
| 8 | ffn | ⊢ ( ( log ↾ 𝐷 ) : 𝐷 ⟶ ran log → ( log ↾ 𝐷 ) Fn 𝐷 ) | |
| 9 | 7 8 | ax-mp | ⊢ ( log ↾ 𝐷 ) Fn 𝐷 |
| 10 | dffn5 | ⊢ ( ( log ↾ 𝐷 ) Fn 𝐷 ↔ ( log ↾ 𝐷 ) = ( 𝑥 ∈ 𝐷 ↦ ( ( log ↾ 𝐷 ) ‘ 𝑥 ) ) ) | |
| 11 | 9 10 | mpbi | ⊢ ( log ↾ 𝐷 ) = ( 𝑥 ∈ 𝐷 ↦ ( ( log ↾ 𝐷 ) ‘ 𝑥 ) ) |
| 12 | fvres | ⊢ ( 𝑥 ∈ 𝐷 → ( ( log ↾ 𝐷 ) ‘ 𝑥 ) = ( log ‘ 𝑥 ) ) | |
| 13 | 1 | ellogdm | ⊢ ( 𝑥 ∈ 𝐷 ↔ ( 𝑥 ∈ ℂ ∧ ( 𝑥 ∈ ℝ → 𝑥 ∈ ℝ+ ) ) ) |
| 14 | 13 | simplbi | ⊢ ( 𝑥 ∈ 𝐷 → 𝑥 ∈ ℂ ) |
| 15 | 1 | logdmn0 | ⊢ ( 𝑥 ∈ 𝐷 → 𝑥 ≠ 0 ) |
| 16 | 14 15 | logcld | ⊢ ( 𝑥 ∈ 𝐷 → ( log ‘ 𝑥 ) ∈ ℂ ) |
| 17 | 16 | replimd | ⊢ ( 𝑥 ∈ 𝐷 → ( log ‘ 𝑥 ) = ( ( ℜ ‘ ( log ‘ 𝑥 ) ) + ( i · ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ) ) |
| 18 | relog | ⊢ ( ( 𝑥 ∈ ℂ ∧ 𝑥 ≠ 0 ) → ( ℜ ‘ ( log ‘ 𝑥 ) ) = ( log ‘ ( abs ‘ 𝑥 ) ) ) | |
| 19 | 14 15 18 | syl2anc | ⊢ ( 𝑥 ∈ 𝐷 → ( ℜ ‘ ( log ‘ 𝑥 ) ) = ( log ‘ ( abs ‘ 𝑥 ) ) ) |
| 20 | 14 15 | absrpcld | ⊢ ( 𝑥 ∈ 𝐷 → ( abs ‘ 𝑥 ) ∈ ℝ+ ) |
| 21 | 20 | fvresd | ⊢ ( 𝑥 ∈ 𝐷 → ( ( log ↾ ℝ+ ) ‘ ( abs ‘ 𝑥 ) ) = ( log ‘ ( abs ‘ 𝑥 ) ) ) |
| 22 | 19 21 | eqtr4d | ⊢ ( 𝑥 ∈ 𝐷 → ( ℜ ‘ ( log ‘ 𝑥 ) ) = ( ( log ↾ ℝ+ ) ‘ ( abs ‘ 𝑥 ) ) ) |
| 23 | 22 | oveq1d | ⊢ ( 𝑥 ∈ 𝐷 → ( ( ℜ ‘ ( log ‘ 𝑥 ) ) + ( i · ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ) = ( ( ( log ↾ ℝ+ ) ‘ ( abs ‘ 𝑥 ) ) + ( i · ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ) ) |
| 24 | 12 17 23 | 3eqtrd | ⊢ ( 𝑥 ∈ 𝐷 → ( ( log ↾ 𝐷 ) ‘ 𝑥 ) = ( ( ( log ↾ ℝ+ ) ‘ ( abs ‘ 𝑥 ) ) + ( i · ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ) ) |
| 25 | 24 | mpteq2ia | ⊢ ( 𝑥 ∈ 𝐷 ↦ ( ( log ↾ 𝐷 ) ‘ 𝑥 ) ) = ( 𝑥 ∈ 𝐷 ↦ ( ( ( log ↾ ℝ+ ) ‘ ( abs ‘ 𝑥 ) ) + ( i · ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ) ) |
| 26 | 11 25 | eqtri | ⊢ ( log ↾ 𝐷 ) = ( 𝑥 ∈ 𝐷 ↦ ( ( ( log ↾ ℝ+ ) ‘ ( abs ‘ 𝑥 ) ) + ( i · ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ) ) |
| 27 | eqid | ⊢ ( TopOpen ‘ ℂfld ) = ( TopOpen ‘ ℂfld ) | |
| 28 | 27 | addcn | ⊢ + ∈ ( ( ( TopOpen ‘ ℂfld ) ×t ( TopOpen ‘ ℂfld ) ) Cn ( TopOpen ‘ ℂfld ) ) |
| 29 | 28 | a1i | ⊢ ( ⊤ → + ∈ ( ( ( TopOpen ‘ ℂfld ) ×t ( TopOpen ‘ ℂfld ) ) Cn ( TopOpen ‘ ℂfld ) ) ) |
| 30 | 27 | cnfldtopon | ⊢ ( TopOpen ‘ ℂfld ) ∈ ( TopOn ‘ ℂ ) |
| 31 | 14 | ssriv | ⊢ 𝐷 ⊆ ℂ |
| 32 | resttopon | ⊢ ( ( ( TopOpen ‘ ℂfld ) ∈ ( TopOn ‘ ℂ ) ∧ 𝐷 ⊆ ℂ ) → ( ( TopOpen ‘ ℂfld ) ↾t 𝐷 ) ∈ ( TopOn ‘ 𝐷 ) ) | |
| 33 | 30 31 32 | mp2an | ⊢ ( ( TopOpen ‘ ℂfld ) ↾t 𝐷 ) ∈ ( TopOn ‘ 𝐷 ) |
| 34 | 33 | a1i | ⊢ ( ⊤ → ( ( TopOpen ‘ ℂfld ) ↾t 𝐷 ) ∈ ( TopOn ‘ 𝐷 ) ) |
| 35 | absf | ⊢ abs : ℂ ⟶ ℝ | |
| 36 | fssres | ⊢ ( ( abs : ℂ ⟶ ℝ ∧ 𝐷 ⊆ ℂ ) → ( abs ↾ 𝐷 ) : 𝐷 ⟶ ℝ ) | |
| 37 | 35 31 36 | mp2an | ⊢ ( abs ↾ 𝐷 ) : 𝐷 ⟶ ℝ |
| 38 | 37 | a1i | ⊢ ( ⊤ → ( abs ↾ 𝐷 ) : 𝐷 ⟶ ℝ ) |
| 39 | 38 | feqmptd | ⊢ ( ⊤ → ( abs ↾ 𝐷 ) = ( 𝑥 ∈ 𝐷 ↦ ( ( abs ↾ 𝐷 ) ‘ 𝑥 ) ) ) |
| 40 | fvres | ⊢ ( 𝑥 ∈ 𝐷 → ( ( abs ↾ 𝐷 ) ‘ 𝑥 ) = ( abs ‘ 𝑥 ) ) | |
| 41 | 40 | mpteq2ia | ⊢ ( 𝑥 ∈ 𝐷 ↦ ( ( abs ↾ 𝐷 ) ‘ 𝑥 ) ) = ( 𝑥 ∈ 𝐷 ↦ ( abs ‘ 𝑥 ) ) |
| 42 | 39 41 | eqtrdi | ⊢ ( ⊤ → ( abs ↾ 𝐷 ) = ( 𝑥 ∈ 𝐷 ↦ ( abs ‘ 𝑥 ) ) ) |
| 43 | ffn | ⊢ ( ( abs ↾ 𝐷 ) : 𝐷 ⟶ ℝ → ( abs ↾ 𝐷 ) Fn 𝐷 ) | |
| 44 | 37 43 | ax-mp | ⊢ ( abs ↾ 𝐷 ) Fn 𝐷 |
| 45 | 40 20 | eqeltrd | ⊢ ( 𝑥 ∈ 𝐷 → ( ( abs ↾ 𝐷 ) ‘ 𝑥 ) ∈ ℝ+ ) |
| 46 | 45 | rgen | ⊢ ∀ 𝑥 ∈ 𝐷 ( ( abs ↾ 𝐷 ) ‘ 𝑥 ) ∈ ℝ+ |
| 47 | ffnfv | ⊢ ( ( abs ↾ 𝐷 ) : 𝐷 ⟶ ℝ+ ↔ ( ( abs ↾ 𝐷 ) Fn 𝐷 ∧ ∀ 𝑥 ∈ 𝐷 ( ( abs ↾ 𝐷 ) ‘ 𝑥 ) ∈ ℝ+ ) ) | |
| 48 | 44 46 47 | mpbir2an | ⊢ ( abs ↾ 𝐷 ) : 𝐷 ⟶ ℝ+ |
| 49 | rpssre | ⊢ ℝ+ ⊆ ℝ | |
| 50 | ax-resscn | ⊢ ℝ ⊆ ℂ | |
| 51 | 49 50 | sstri | ⊢ ℝ+ ⊆ ℂ |
| 52 | abscncf | ⊢ abs ∈ ( ℂ –cn→ ℝ ) | |
| 53 | rescncf | ⊢ ( 𝐷 ⊆ ℂ → ( abs ∈ ( ℂ –cn→ ℝ ) → ( abs ↾ 𝐷 ) ∈ ( 𝐷 –cn→ ℝ ) ) ) | |
| 54 | 31 52 53 | mp2 | ⊢ ( abs ↾ 𝐷 ) ∈ ( 𝐷 –cn→ ℝ ) |
| 55 | cncfcdm | ⊢ ( ( ℝ+ ⊆ ℂ ∧ ( abs ↾ 𝐷 ) ∈ ( 𝐷 –cn→ ℝ ) ) → ( ( abs ↾ 𝐷 ) ∈ ( 𝐷 –cn→ ℝ+ ) ↔ ( abs ↾ 𝐷 ) : 𝐷 ⟶ ℝ+ ) ) | |
| 56 | 51 54 55 | mp2an | ⊢ ( ( abs ↾ 𝐷 ) ∈ ( 𝐷 –cn→ ℝ+ ) ↔ ( abs ↾ 𝐷 ) : 𝐷 ⟶ ℝ+ ) |
| 57 | 48 56 | mpbir | ⊢ ( abs ↾ 𝐷 ) ∈ ( 𝐷 –cn→ ℝ+ ) |
| 58 | 42 57 | eqeltrrdi | ⊢ ( ⊤ → ( 𝑥 ∈ 𝐷 ↦ ( abs ‘ 𝑥 ) ) ∈ ( 𝐷 –cn→ ℝ+ ) ) |
| 59 | eqid | ⊢ ( ( TopOpen ‘ ℂfld ) ↾t 𝐷 ) = ( ( TopOpen ‘ ℂfld ) ↾t 𝐷 ) | |
| 60 | eqid | ⊢ ( ( TopOpen ‘ ℂfld ) ↾t ℝ+ ) = ( ( TopOpen ‘ ℂfld ) ↾t ℝ+ ) | |
| 61 | 27 59 60 | cncfcn | ⊢ ( ( 𝐷 ⊆ ℂ ∧ ℝ+ ⊆ ℂ ) → ( 𝐷 –cn→ ℝ+ ) = ( ( ( TopOpen ‘ ℂfld ) ↾t 𝐷 ) Cn ( ( TopOpen ‘ ℂfld ) ↾t ℝ+ ) ) ) |
| 62 | 31 51 61 | mp2an | ⊢ ( 𝐷 –cn→ ℝ+ ) = ( ( ( TopOpen ‘ ℂfld ) ↾t 𝐷 ) Cn ( ( TopOpen ‘ ℂfld ) ↾t ℝ+ ) ) |
| 63 | 58 62 | eleqtrdi | ⊢ ( ⊤ → ( 𝑥 ∈ 𝐷 ↦ ( abs ‘ 𝑥 ) ) ∈ ( ( ( TopOpen ‘ ℂfld ) ↾t 𝐷 ) Cn ( ( TopOpen ‘ ℂfld ) ↾t ℝ+ ) ) ) |
| 64 | ssid | ⊢ ℂ ⊆ ℂ | |
| 65 | cncfss | ⊢ ( ( ℝ ⊆ ℂ ∧ ℂ ⊆ ℂ ) → ( ℝ+ –cn→ ℝ ) ⊆ ( ℝ+ –cn→ ℂ ) ) | |
| 66 | 50 64 65 | mp2an | ⊢ ( ℝ+ –cn→ ℝ ) ⊆ ( ℝ+ –cn→ ℂ ) |
| 67 | relogcn | ⊢ ( log ↾ ℝ+ ) ∈ ( ℝ+ –cn→ ℝ ) | |
| 68 | 66 67 | sselii | ⊢ ( log ↾ ℝ+ ) ∈ ( ℝ+ –cn→ ℂ ) |
| 69 | 68 | a1i | ⊢ ( ⊤ → ( log ↾ ℝ+ ) ∈ ( ℝ+ –cn→ ℂ ) ) |
| 70 | 30 | toponrestid | ⊢ ( TopOpen ‘ ℂfld ) = ( ( TopOpen ‘ ℂfld ) ↾t ℂ ) |
| 71 | 27 60 70 | cncfcn | ⊢ ( ( ℝ+ ⊆ ℂ ∧ ℂ ⊆ ℂ ) → ( ℝ+ –cn→ ℂ ) = ( ( ( TopOpen ‘ ℂfld ) ↾t ℝ+ ) Cn ( TopOpen ‘ ℂfld ) ) ) |
| 72 | 51 64 71 | mp2an | ⊢ ( ℝ+ –cn→ ℂ ) = ( ( ( TopOpen ‘ ℂfld ) ↾t ℝ+ ) Cn ( TopOpen ‘ ℂfld ) ) |
| 73 | 69 72 | eleqtrdi | ⊢ ( ⊤ → ( log ↾ ℝ+ ) ∈ ( ( ( TopOpen ‘ ℂfld ) ↾t ℝ+ ) Cn ( TopOpen ‘ ℂfld ) ) ) |
| 74 | 34 63 73 | cnmpt11f | ⊢ ( ⊤ → ( 𝑥 ∈ 𝐷 ↦ ( ( log ↾ ℝ+ ) ‘ ( abs ‘ 𝑥 ) ) ) ∈ ( ( ( TopOpen ‘ ℂfld ) ↾t 𝐷 ) Cn ( TopOpen ‘ ℂfld ) ) ) |
| 75 | 27 59 70 | cncfcn | ⊢ ( ( 𝐷 ⊆ ℂ ∧ ℂ ⊆ ℂ ) → ( 𝐷 –cn→ ℂ ) = ( ( ( TopOpen ‘ ℂfld ) ↾t 𝐷 ) Cn ( TopOpen ‘ ℂfld ) ) ) |
| 76 | 31 64 75 | mp2an | ⊢ ( 𝐷 –cn→ ℂ ) = ( ( ( TopOpen ‘ ℂfld ) ↾t 𝐷 ) Cn ( TopOpen ‘ ℂfld ) ) |
| 77 | 74 76 | eleqtrrdi | ⊢ ( ⊤ → ( 𝑥 ∈ 𝐷 ↦ ( ( log ↾ ℝ+ ) ‘ ( abs ‘ 𝑥 ) ) ) ∈ ( 𝐷 –cn→ ℂ ) ) |
| 78 | 16 | imcld | ⊢ ( 𝑥 ∈ 𝐷 → ( ℑ ‘ ( log ‘ 𝑥 ) ) ∈ ℝ ) |
| 79 | 78 | recnd | ⊢ ( 𝑥 ∈ 𝐷 → ( ℑ ‘ ( log ‘ 𝑥 ) ) ∈ ℂ ) |
| 80 | 79 | adantl | ⊢ ( ( ⊤ ∧ 𝑥 ∈ 𝐷 ) → ( ℑ ‘ ( log ‘ 𝑥 ) ) ∈ ℂ ) |
| 81 | eqidd | ⊢ ( ⊤ → ( 𝑥 ∈ 𝐷 ↦ ( ℑ ‘ ( log ‘ 𝑥 ) ) ) = ( 𝑥 ∈ 𝐷 ↦ ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ) | |
| 82 | eqidd | ⊢ ( ⊤ → ( 𝑦 ∈ ℂ ↦ ( i · 𝑦 ) ) = ( 𝑦 ∈ ℂ ↦ ( i · 𝑦 ) ) ) | |
| 83 | oveq2 | ⊢ ( 𝑦 = ( ℑ ‘ ( log ‘ 𝑥 ) ) → ( i · 𝑦 ) = ( i · ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ) | |
| 84 | 80 81 82 83 | fmptco | ⊢ ( ⊤ → ( ( 𝑦 ∈ ℂ ↦ ( i · 𝑦 ) ) ∘ ( 𝑥 ∈ 𝐷 ↦ ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ) = ( 𝑥 ∈ 𝐷 ↦ ( i · ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ) ) |
| 85 | cncfss | ⊢ ( ( ℝ ⊆ ℂ ∧ ℂ ⊆ ℂ ) → ( 𝐷 –cn→ ℝ ) ⊆ ( 𝐷 –cn→ ℂ ) ) | |
| 86 | 50 64 85 | mp2an | ⊢ ( 𝐷 –cn→ ℝ ) ⊆ ( 𝐷 –cn→ ℂ ) |
| 87 | 1 | logcnlem5 | ⊢ ( 𝑥 ∈ 𝐷 ↦ ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ∈ ( 𝐷 –cn→ ℝ ) |
| 88 | 86 87 | sselii | ⊢ ( 𝑥 ∈ 𝐷 ↦ ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ∈ ( 𝐷 –cn→ ℂ ) |
| 89 | 88 | a1i | ⊢ ( ⊤ → ( 𝑥 ∈ 𝐷 ↦ ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ∈ ( 𝐷 –cn→ ℂ ) ) |
| 90 | ax-icn | ⊢ i ∈ ℂ | |
| 91 | eqid | ⊢ ( 𝑦 ∈ ℂ ↦ ( i · 𝑦 ) ) = ( 𝑦 ∈ ℂ ↦ ( i · 𝑦 ) ) | |
| 92 | 91 | mulc1cncf | ⊢ ( i ∈ ℂ → ( 𝑦 ∈ ℂ ↦ ( i · 𝑦 ) ) ∈ ( ℂ –cn→ ℂ ) ) |
| 93 | 90 92 | mp1i | ⊢ ( ⊤ → ( 𝑦 ∈ ℂ ↦ ( i · 𝑦 ) ) ∈ ( ℂ –cn→ ℂ ) ) |
| 94 | 89 93 | cncfco | ⊢ ( ⊤ → ( ( 𝑦 ∈ ℂ ↦ ( i · 𝑦 ) ) ∘ ( 𝑥 ∈ 𝐷 ↦ ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ) ∈ ( 𝐷 –cn→ ℂ ) ) |
| 95 | 84 94 | eqeltrrd | ⊢ ( ⊤ → ( 𝑥 ∈ 𝐷 ↦ ( i · ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ) ∈ ( 𝐷 –cn→ ℂ ) ) |
| 96 | 27 29 77 95 | cncfmpt2f | ⊢ ( ⊤ → ( 𝑥 ∈ 𝐷 ↦ ( ( ( log ↾ ℝ+ ) ‘ ( abs ‘ 𝑥 ) ) + ( i · ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ) ) ∈ ( 𝐷 –cn→ ℂ ) ) |
| 97 | 96 | mptru | ⊢ ( 𝑥 ∈ 𝐷 ↦ ( ( ( log ↾ ℝ+ ) ‘ ( abs ‘ 𝑥 ) ) + ( i · ( ℑ ‘ ( log ‘ 𝑥 ) ) ) ) ) ∈ ( 𝐷 –cn→ ℂ ) |
| 98 | 26 97 | eqeltri | ⊢ ( log ↾ 𝐷 ) ∈ ( 𝐷 –cn→ ℂ ) |