Metamath Proof Explorer


Theorem eldv

Description: The differentiable predicate. A function F is differentiable at B with derivative C iff F is defined in a neighborhood of B and the difference quotient has limit C at B . (Contributed by Mario Carneiro, 7-Aug-2014) (Revised by Mario Carneiro, 25-Dec-2016)

Ref Expression
Hypotheses dvval.t 𝑇 = ( 𝐾t 𝑆 )
dvval.k 𝐾 = ( TopOpen ‘ ℂfld )
eldv.g 𝐺 = ( 𝑧 ∈ ( 𝐴 ∖ { 𝐵 } ) ↦ ( ( ( 𝐹𝑧 ) − ( 𝐹𝐵 ) ) / ( 𝑧𝐵 ) ) )
eldv.s ( 𝜑𝑆 ⊆ ℂ )
eldv.f ( 𝜑𝐹 : 𝐴 ⟶ ℂ )
eldv.a ( 𝜑𝐴𝑆 )
Assertion eldv ( 𝜑 → ( 𝐵 ( 𝑆 D 𝐹 ) 𝐶 ↔ ( 𝐵 ∈ ( ( int ‘ 𝑇 ) ‘ 𝐴 ) ∧ 𝐶 ∈ ( 𝐺 lim 𝐵 ) ) ) )

Proof

Step Hyp Ref Expression
1 dvval.t 𝑇 = ( 𝐾t 𝑆 )
2 dvval.k 𝐾 = ( TopOpen ‘ ℂfld )
3 eldv.g 𝐺 = ( 𝑧 ∈ ( 𝐴 ∖ { 𝐵 } ) ↦ ( ( ( 𝐹𝑧 ) − ( 𝐹𝐵 ) ) / ( 𝑧𝐵 ) ) )
4 eldv.s ( 𝜑𝑆 ⊆ ℂ )
5 eldv.f ( 𝜑𝐹 : 𝐴 ⟶ ℂ )
6 eldv.a ( 𝜑𝐴𝑆 )
7 1 2 dvfval ( ( 𝑆 ⊆ ℂ ∧ 𝐹 : 𝐴 ⟶ ℂ ∧ 𝐴𝑆 ) → ( ( 𝑆 D 𝐹 ) = 𝑥 ∈ ( ( int ‘ 𝑇 ) ‘ 𝐴 ) ( { 𝑥 } × ( ( 𝑧 ∈ ( 𝐴 ∖ { 𝑥 } ) ↦ ( ( ( 𝐹𝑧 ) − ( 𝐹𝑥 ) ) / ( 𝑧𝑥 ) ) ) lim 𝑥 ) ) ∧ ( 𝑆 D 𝐹 ) ⊆ ( ( ( int ‘ 𝑇 ) ‘ 𝐴 ) × ℂ ) ) )
8 4 5 6 7 syl3anc ( 𝜑 → ( ( 𝑆 D 𝐹 ) = 𝑥 ∈ ( ( int ‘ 𝑇 ) ‘ 𝐴 ) ( { 𝑥 } × ( ( 𝑧 ∈ ( 𝐴 ∖ { 𝑥 } ) ↦ ( ( ( 𝐹𝑧 ) − ( 𝐹𝑥 ) ) / ( 𝑧𝑥 ) ) ) lim 𝑥 ) ) ∧ ( 𝑆 D 𝐹 ) ⊆ ( ( ( int ‘ 𝑇 ) ‘ 𝐴 ) × ℂ ) ) )
9 8 simpld ( 𝜑 → ( 𝑆 D 𝐹 ) = 𝑥 ∈ ( ( int ‘ 𝑇 ) ‘ 𝐴 ) ( { 𝑥 } × ( ( 𝑧 ∈ ( 𝐴 ∖ { 𝑥 } ) ↦ ( ( ( 𝐹𝑧 ) − ( 𝐹𝑥 ) ) / ( 𝑧𝑥 ) ) ) lim 𝑥 ) ) )
10 9 eleq2d ( 𝜑 → ( ⟨ 𝐵 , 𝐶 ⟩ ∈ ( 𝑆 D 𝐹 ) ↔ ⟨ 𝐵 , 𝐶 ⟩ ∈ 𝑥 ∈ ( ( int ‘ 𝑇 ) ‘ 𝐴 ) ( { 𝑥 } × ( ( 𝑧 ∈ ( 𝐴 ∖ { 𝑥 } ) ↦ ( ( ( 𝐹𝑧 ) − ( 𝐹𝑥 ) ) / ( 𝑧𝑥 ) ) ) lim 𝑥 ) ) ) )
11 df-br ( 𝐵 ( 𝑆 D 𝐹 ) 𝐶 ↔ ⟨ 𝐵 , 𝐶 ⟩ ∈ ( 𝑆 D 𝐹 ) )
12 11 bicomi ( ⟨ 𝐵 , 𝐶 ⟩ ∈ ( 𝑆 D 𝐹 ) ↔ 𝐵 ( 𝑆 D 𝐹 ) 𝐶 )
13 sneq ( 𝑥 = 𝐵 → { 𝑥 } = { 𝐵 } )
14 13 difeq2d ( 𝑥 = 𝐵 → ( 𝐴 ∖ { 𝑥 } ) = ( 𝐴 ∖ { 𝐵 } ) )
15 fveq2 ( 𝑥 = 𝐵 → ( 𝐹𝑥 ) = ( 𝐹𝐵 ) )
16 15 oveq2d ( 𝑥 = 𝐵 → ( ( 𝐹𝑧 ) − ( 𝐹𝑥 ) ) = ( ( 𝐹𝑧 ) − ( 𝐹𝐵 ) ) )
17 oveq2 ( 𝑥 = 𝐵 → ( 𝑧𝑥 ) = ( 𝑧𝐵 ) )
18 16 17 oveq12d ( 𝑥 = 𝐵 → ( ( ( 𝐹𝑧 ) − ( 𝐹𝑥 ) ) / ( 𝑧𝑥 ) ) = ( ( ( 𝐹𝑧 ) − ( 𝐹𝐵 ) ) / ( 𝑧𝐵 ) ) )
19 14 18 mpteq12dv ( 𝑥 = 𝐵 → ( 𝑧 ∈ ( 𝐴 ∖ { 𝑥 } ) ↦ ( ( ( 𝐹𝑧 ) − ( 𝐹𝑥 ) ) / ( 𝑧𝑥 ) ) ) = ( 𝑧 ∈ ( 𝐴 ∖ { 𝐵 } ) ↦ ( ( ( 𝐹𝑧 ) − ( 𝐹𝐵 ) ) / ( 𝑧𝐵 ) ) ) )
20 19 3 eqtr4di ( 𝑥 = 𝐵 → ( 𝑧 ∈ ( 𝐴 ∖ { 𝑥 } ) ↦ ( ( ( 𝐹𝑧 ) − ( 𝐹𝑥 ) ) / ( 𝑧𝑥 ) ) ) = 𝐺 )
21 id ( 𝑥 = 𝐵𝑥 = 𝐵 )
22 20 21 oveq12d ( 𝑥 = 𝐵 → ( ( 𝑧 ∈ ( 𝐴 ∖ { 𝑥 } ) ↦ ( ( ( 𝐹𝑧 ) − ( 𝐹𝑥 ) ) / ( 𝑧𝑥 ) ) ) lim 𝑥 ) = ( 𝐺 lim 𝐵 ) )
23 22 opeliunxp2 ( ⟨ 𝐵 , 𝐶 ⟩ ∈ 𝑥 ∈ ( ( int ‘ 𝑇 ) ‘ 𝐴 ) ( { 𝑥 } × ( ( 𝑧 ∈ ( 𝐴 ∖ { 𝑥 } ) ↦ ( ( ( 𝐹𝑧 ) − ( 𝐹𝑥 ) ) / ( 𝑧𝑥 ) ) ) lim 𝑥 ) ) ↔ ( 𝐵 ∈ ( ( int ‘ 𝑇 ) ‘ 𝐴 ) ∧ 𝐶 ∈ ( 𝐺 lim 𝐵 ) ) )
24 10 12 23 3bitr3g ( 𝜑 → ( 𝐵 ( 𝑆 D 𝐹 ) 𝐶 ↔ ( 𝐵 ∈ ( ( int ‘ 𝑇 ) ‘ 𝐴 ) ∧ 𝐶 ∈ ( 𝐺 lim 𝐵 ) ) ) )