Implicit Function Theorem
Statement
Let be continuously differentiable near with . If the partial derivative is an invertible linear map, then there exist open neighborhoods and and a unique function such that
Moreover and the derivative of is given by
Visualization
Example: (unit circle) near .
Here , which at gives (invertible). The IFT guarantees locally. Indeed near :
y
1 | * ← (0,1): varphi(0)=1
| * *
| * * ← implicit curve x²+y²=1
| * *
0 |* *
+-+--+--+--+--+--+-
-1 0 1 x
| 0.0 | 1.000 | 0.000 |
| 0.3 | 0.954 | |
| 0.6 | 0.800 |
The derivative formula: , matching .
Proof Sketch
- Reduce to IFT: Define . Then is block-triangular with blocks and , hence invertible.
- Apply Inverse Function Theorem: is a local diffeomorphism near . Its local inverse takes for the implicit function .
- Uniqueness: If in a small enough neighborhood, the contracting-map argument shows .
- Derivative formula: Differentiating by the Chain Rule gives the formula for .
Connections
- Inverse Function TheoremInverse Function TheoremA smooth map with invertible derivative at a point is locally a diffeomorphismRead more → — the IFT is a direct consequence: apply the IFT to
- Chain RuleChain RuleDifferentiate composite functions by peeling layersRead more → — differentiating implicitly uses the chain rule to derive
- Cauchy's Mean Value TheoremCauchy's Mean Value TheoremA two-function generalization of the Mean Value Theorem relating derivative ratios to function value ratiosRead more → — related MVT machinery underlies the local diffeomorphism step in the proof
Lean4 Proof
import Mathlib.Analysis.Calculus.ImplicitContDiff
-- We state the smooth implicit function theorem using Mathlib's `IsContDiffImplicitAt`.
-- For F : E × F → G with invertible partial derivative in F at (a, b),
-- Mathlib provides `IsContDiffImplicitAt.implicitFunction` satisfying F(x, phi(x)) = 0 locally.
/-- The smooth Implicit Function Theorem: given F(a,b)=0 and invertible partial derivative,
there exists a local smooth implicit function. This aliases Mathlib's framework. -/
theorem implicit_function_theorem
{E F G : Type*}
[NormedAddCommGroup E] [NormedSpace ℝ E]
[NormedAddCommGroup F] [NormedSpace ℝ F] [CompleteSpace F]
[NormedAddCommGroup G] [NormedSpace ℝ G]
{n : ℕ∞} {f : E × F → G} {f' : E × F →L[ℝ] G} {a : E × F}
(h : IsContDiffImplicitAt n f f' a) :
∀ᶠ x in nhds a.1, f (x, h.implicitFunction x) = f a := by
exact h.map_implicitFunction_eqReferenced by
- Inverse Function TheoremCalculus