This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Fermat's theorem on stationary points. A point U which is a local maximum has derivative equal to zero. (Contributed by Mario Carneiro, 1-Sep-2014)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | dvferm.a | ⊢ ( 𝜑 → 𝐹 : 𝑋 ⟶ ℝ ) | |
| dvferm.b | ⊢ ( 𝜑 → 𝑋 ⊆ ℝ ) | ||
| dvferm.u | ⊢ ( 𝜑 → 𝑈 ∈ ( 𝐴 (,) 𝐵 ) ) | ||
| dvferm.s | ⊢ ( 𝜑 → ( 𝐴 (,) 𝐵 ) ⊆ 𝑋 ) | ||
| dvferm.d | ⊢ ( 𝜑 → 𝑈 ∈ dom ( ℝ D 𝐹 ) ) | ||
| dvferm.r | ⊢ ( 𝜑 → ∀ 𝑦 ∈ ( 𝐴 (,) 𝐵 ) ( 𝐹 ‘ 𝑦 ) ≤ ( 𝐹 ‘ 𝑈 ) ) | ||
| Assertion | dvferm | ⊢ ( 𝜑 → ( ( ℝ D 𝐹 ) ‘ 𝑈 ) = 0 ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | dvferm.a | ⊢ ( 𝜑 → 𝐹 : 𝑋 ⟶ ℝ ) | |
| 2 | dvferm.b | ⊢ ( 𝜑 → 𝑋 ⊆ ℝ ) | |
| 3 | dvferm.u | ⊢ ( 𝜑 → 𝑈 ∈ ( 𝐴 (,) 𝐵 ) ) | |
| 4 | dvferm.s | ⊢ ( 𝜑 → ( 𝐴 (,) 𝐵 ) ⊆ 𝑋 ) | |
| 5 | dvferm.d | ⊢ ( 𝜑 → 𝑈 ∈ dom ( ℝ D 𝐹 ) ) | |
| 6 | dvferm.r | ⊢ ( 𝜑 → ∀ 𝑦 ∈ ( 𝐴 (,) 𝐵 ) ( 𝐹 ‘ 𝑦 ) ≤ ( 𝐹 ‘ 𝑈 ) ) | |
| 7 | ne0i | ⊢ ( 𝑈 ∈ ( 𝐴 (,) 𝐵 ) → ( 𝐴 (,) 𝐵 ) ≠ ∅ ) | |
| 8 | ndmioo | ⊢ ( ¬ ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ) → ( 𝐴 (,) 𝐵 ) = ∅ ) | |
| 9 | 8 | necon1ai | ⊢ ( ( 𝐴 (,) 𝐵 ) ≠ ∅ → ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ) ) |
| 10 | 3 7 9 | 3syl | ⊢ ( 𝜑 → ( 𝐴 ∈ ℝ* ∧ 𝐵 ∈ ℝ* ) ) |
| 11 | 10 | simpld | ⊢ ( 𝜑 → 𝐴 ∈ ℝ* ) |
| 12 | ioossre | ⊢ ( 𝐴 (,) 𝐵 ) ⊆ ℝ | |
| 13 | 12 3 | sselid | ⊢ ( 𝜑 → 𝑈 ∈ ℝ ) |
| 14 | 13 | rexrd | ⊢ ( 𝜑 → 𝑈 ∈ ℝ* ) |
| 15 | eliooord | ⊢ ( 𝑈 ∈ ( 𝐴 (,) 𝐵 ) → ( 𝐴 < 𝑈 ∧ 𝑈 < 𝐵 ) ) | |
| 16 | 3 15 | syl | ⊢ ( 𝜑 → ( 𝐴 < 𝑈 ∧ 𝑈 < 𝐵 ) ) |
| 17 | 16 | simpld | ⊢ ( 𝜑 → 𝐴 < 𝑈 ) |
| 18 | 11 14 17 | xrltled | ⊢ ( 𝜑 → 𝐴 ≤ 𝑈 ) |
| 19 | iooss1 | ⊢ ( ( 𝐴 ∈ ℝ* ∧ 𝐴 ≤ 𝑈 ) → ( 𝑈 (,) 𝐵 ) ⊆ ( 𝐴 (,) 𝐵 ) ) | |
| 20 | 11 18 19 | syl2anc | ⊢ ( 𝜑 → ( 𝑈 (,) 𝐵 ) ⊆ ( 𝐴 (,) 𝐵 ) ) |
| 21 | ssralv | ⊢ ( ( 𝑈 (,) 𝐵 ) ⊆ ( 𝐴 (,) 𝐵 ) → ( ∀ 𝑦 ∈ ( 𝐴 (,) 𝐵 ) ( 𝐹 ‘ 𝑦 ) ≤ ( 𝐹 ‘ 𝑈 ) → ∀ 𝑦 ∈ ( 𝑈 (,) 𝐵 ) ( 𝐹 ‘ 𝑦 ) ≤ ( 𝐹 ‘ 𝑈 ) ) ) | |
| 22 | 20 6 21 | sylc | ⊢ ( 𝜑 → ∀ 𝑦 ∈ ( 𝑈 (,) 𝐵 ) ( 𝐹 ‘ 𝑦 ) ≤ ( 𝐹 ‘ 𝑈 ) ) |
| 23 | 1 2 3 4 5 22 | dvferm1 | ⊢ ( 𝜑 → ( ( ℝ D 𝐹 ) ‘ 𝑈 ) ≤ 0 ) |
| 24 | 10 | simprd | ⊢ ( 𝜑 → 𝐵 ∈ ℝ* ) |
| 25 | 16 | simprd | ⊢ ( 𝜑 → 𝑈 < 𝐵 ) |
| 26 | 14 24 25 | xrltled | ⊢ ( 𝜑 → 𝑈 ≤ 𝐵 ) |
| 27 | iooss2 | ⊢ ( ( 𝐵 ∈ ℝ* ∧ 𝑈 ≤ 𝐵 ) → ( 𝐴 (,) 𝑈 ) ⊆ ( 𝐴 (,) 𝐵 ) ) | |
| 28 | 24 26 27 | syl2anc | ⊢ ( 𝜑 → ( 𝐴 (,) 𝑈 ) ⊆ ( 𝐴 (,) 𝐵 ) ) |
| 29 | ssralv | ⊢ ( ( 𝐴 (,) 𝑈 ) ⊆ ( 𝐴 (,) 𝐵 ) → ( ∀ 𝑦 ∈ ( 𝐴 (,) 𝐵 ) ( 𝐹 ‘ 𝑦 ) ≤ ( 𝐹 ‘ 𝑈 ) → ∀ 𝑦 ∈ ( 𝐴 (,) 𝑈 ) ( 𝐹 ‘ 𝑦 ) ≤ ( 𝐹 ‘ 𝑈 ) ) ) | |
| 30 | 28 6 29 | sylc | ⊢ ( 𝜑 → ∀ 𝑦 ∈ ( 𝐴 (,) 𝑈 ) ( 𝐹 ‘ 𝑦 ) ≤ ( 𝐹 ‘ 𝑈 ) ) |
| 31 | 1 2 3 4 5 30 | dvferm2 | ⊢ ( 𝜑 → 0 ≤ ( ( ℝ D 𝐹 ) ‘ 𝑈 ) ) |
| 32 | dvfre | ⊢ ( ( 𝐹 : 𝑋 ⟶ ℝ ∧ 𝑋 ⊆ ℝ ) → ( ℝ D 𝐹 ) : dom ( ℝ D 𝐹 ) ⟶ ℝ ) | |
| 33 | 1 2 32 | syl2anc | ⊢ ( 𝜑 → ( ℝ D 𝐹 ) : dom ( ℝ D 𝐹 ) ⟶ ℝ ) |
| 34 | 33 5 | ffvelcdmd | ⊢ ( 𝜑 → ( ( ℝ D 𝐹 ) ‘ 𝑈 ) ∈ ℝ ) |
| 35 | 0re | ⊢ 0 ∈ ℝ | |
| 36 | letri3 | ⊢ ( ( ( ( ℝ D 𝐹 ) ‘ 𝑈 ) ∈ ℝ ∧ 0 ∈ ℝ ) → ( ( ( ℝ D 𝐹 ) ‘ 𝑈 ) = 0 ↔ ( ( ( ℝ D 𝐹 ) ‘ 𝑈 ) ≤ 0 ∧ 0 ≤ ( ( ℝ D 𝐹 ) ‘ 𝑈 ) ) ) ) | |
| 37 | 34 35 36 | sylancl | ⊢ ( 𝜑 → ( ( ( ℝ D 𝐹 ) ‘ 𝑈 ) = 0 ↔ ( ( ( ℝ D 𝐹 ) ‘ 𝑈 ) ≤ 0 ∧ 0 ≤ ( ( ℝ D 𝐹 ) ‘ 𝑈 ) ) ) ) |
| 38 | 23 31 37 | mpbir2and | ⊢ ( 𝜑 → ( ( ℝ D 𝐹 ) ‘ 𝑈 ) = 0 ) |