Documentation

PDE.Basics.Heat.HeatMaximumPrinciple

The Maximum Principle for the Heat Equation on a Finite Interval #

Main Result #

References #

This formalizes Theorem 7.7.

Equations
Instances For
    Equations
    Instances For
      Equations
      Instances For
        theorem HeatEquation.local_max_implies_second_deriv_nonpos {f : } {x₀ : } (h_smooth : ContDiffAt 2 f x₀) (h_max : IsLocalMax f x₀) :
        deriv f x₀ = 0 deriv (deriv f) x₀ 0
        theorem HeatEquation.isLocalMin_of_iteratedFDeriv {f : } {x₀ : } (hf : ((iteratedFDeriv 2 f x₀) fun (x : Fin 2) => 1) > 0) (hd : deriv f x₀ = 0) (hc : ContinuousAt f x₀) :
        IsLocalMin f x₀
        theorem HeatEquation. {l T : } (hl : 0 < l) (hT : 0 < T) :
        theorem HeatEquation.h_int_nhds {l T : } (p : × ) :
        p Interior l TΩ_T l T nhds p
        theorem HeatEquation.perturb_dt {l T ε : } {u v : } (hv_def : v = fun (x t : ) => u x t + ε * x ^ 2) (x t : ) :
        (x, t) Interior l Tderiv (fun (t' : ) => v x t') t = deriv (fun (t' : ) => u x t') t
        theorem HeatEquation.perturb_dxx {l T ε : } {u v : } (hv_def : v = fun (x t : ) => u x t + ε * x ^ 2) (h_smooth : ContDiffOn 2 (fun (p : × ) => u p.1 p.2) (Ω_T l T)) (x t : ) :
        (x, t) Interior l Tderiv (fun (x' : ) => deriv (fun (x'' : ) => v x'' t) x') x = deriv (fun (x' : ) => deriv (fun (x'' : ) => u x'' t) x') x + 2 * ε
        theorem HeatEquation.heat_equation_perturbation_ineq {l T α ε : } {u v : } ( : 0 < α) ( : 0 < ε) (hv_def : v = fun (x t : ) => u x t + ε * x ^ 2) (h_smooth : ContDiffOn 2 (fun (p : × ) => u p.1 p.2) (Ω_T l T)) (h_pde : ∀ (x t : ), (x, t) Interior l Tderiv (fun (t' : ) => u x t') t = α * deriv (fun (x' : ) => deriv (fun (x'' : ) => u x'' t) x') x) (x t : ) :
        (x, t) Interior l Tderiv (fun (t' : ) => v x t') t - α * deriv (fun (x' : ) => deriv (fun (x'' : ) => v x'' t) x') x < 0
        theorem HeatEquation.iteratedFDeriv_two_eval_xx_eq_iteratedDeriv_slice {u : } {x₀ t : } (hF : ContDiff 2 fun (p : × ) => u p.1 p.2) :
        (iteratedFDeriv 2 (fun (p : × ) => u p.1 p.2) (x₀, t)) ![(1, 0), (1, 0)] = iteratedDeriv 2 (fun (x' : ) => u x' t) x₀
        theorem HeatEquation.u_xx_conti_Ω_T (l T : ) {u : } (hT : 0 < T) (hl : 0 < l) (h_smooth : ContDiffOn 2 (fun (p : × ) => u p.1 p.2) (Ω_T l T)) :
        ContinuousOn (fun (p : × ) => (iteratedFDerivWithin 2 (fun (p : × ) => u p.1 p.2) (Ω_T l T) p) ![(1, 0), (1, 0)]) (Ω_T l T)
        theorem HeatEquation.u_xx_continuous {l T x₀ : } {u : } (hT : 0 < T) (hl : 0 < l) (hx_pos : 0 < x₀) (hx_lt : x₀ < l) (h_smooth : ContDiffOn 2 (fun (p : × ) => u p.1 p.2) (Ω_T l T)) :
        ContinuousWithinAt (fun (t : ) => deriv (fun (x' : ) => deriv (fun (x'' : ) => u x'' t) x') x₀) (Set.Iic T) T
        theorem HeatEquation.u_t_continuous {l T x₀ : } {u : } (hT : 0 < T) (hx_pos : 0 < x₀) (hx_lt : x₀ < l) (h_smooth : ContDiffOn 2 (fun (p : × ) => u p.1 p.2) (Ω_T l T)) :
        ContinuousWithinAt (fun (t : ) => derivWithin (fun (s : ) => u x₀ s) (Set.Iic T) t) (Set.Iic T) T
        theorem HeatEquation.pde_boundary_val {l T α ε x₀ : } {u : } (hT : 0 < T) (hl : 0 < l) (hx_pos : 0 < x₀) (hx_lt : x₀ < l) (h_smooth : ContDiffOn 2 (fun (p : × ) => u p.1 p.2) (Ω_T l T)) (h_pde : ∀ (x t : ), (x, t) Interior l Tderiv (fun (t' : ) => u x t') t = α * deriv (fun (x' : ) => deriv (fun (x'' : ) => u x'' t) x') x) :
        have v := fun (x t : ) => u x t + ε * x ^ 2; derivWithin (fun (t : ) => v x₀ t) (Set.Iic T) T - α * deriv (fun (x : ) => deriv (fun (y : ) => v y T) x) x₀ = -2 * α * ε
        theorem HeatEquation.heat_equation_no_interior_max {l T α ε : } {u v : } ( : 0 < α) (hv_def : v = fun (x t : ) => u x t + ε * x ^ 2) (h_smooth : ContDiffOn 2 (fun (p : × ) => u p.1 p.2) (Ω_T l T)) (h_int_nhds : pInterior l T, Ω_T l T nhds p) (h_v_pde_ineq : ∀ (x t : ), (x, t) Interior l Tderiv (fun (t' : ) => v x t') t - α * deriv (fun (x' : ) => deriv (fun (x'' : ) => v x'' t) x') x < 0) (x₀ t₀ : ) :
        (x₀, t₀) Interior l T¬IsMaxOn (fun (p : × ) => v p.1 p.2) (Ω_T l T) (x₀, t₀)
        theorem HeatEquation.deriv_nonneg_of_isLocalMaxOn_Icc_right {f : } {T : } (hT : 0 < T) (hC1 : ContDiffOn 1 f (Set.Icc 0 T)) (hmax : IsLocalMaxOn f (Set.Icc 0 T) T) :
        0 derivWithin f (Set.Icc 0 T) T
        theorem HeatEquation.Omega_T_decompose {l T : } {p : × } (hp : p Ω_T l T) :
        theorem HeatEquation.heat_equation_no_top_edge_max {l T α ε : } {u v : } (hT : 0 < T) (hl : 0 < l) ( : 0 < α) ( : 0 < ε) (hv_def : v = fun (x t : ) => u x t + ε * x ^ 2) (h_smooth : ContDiffOn 2 (fun (p : × ) => u p.1 p.2) (Ω_T l T)) (h_pde : ∀ (x t : ), (x, t) Interior l Tderiv (fun (t' : ) => u x t') t = α * deriv (fun (x' : ) => deriv (fun (x'' : ) => u x'' t) x') x) (x₀ : ) :
        0 < x₀x₀ < l¬IsMaxOn (fun (p : × ) => v p.1 p.2) (Ω_T l T) (x₀, T)
        theorem HeatEquation.max_v_on_S_boundary {l T : } {v : } (hT : 0 < T) (h_compact : IsCompact (Ω_T l T)) (h_nonempty : (Ω_T l T).Nonempty) (h_v_cont : ContinuousOn (fun (p : × ) => v p.1 p.2) (Ω_T l T)) (h_no_int : ∀ (x₀ t₀ : ), (x₀, t₀) Interior l T¬IsMaxOn (fun (p : × ) => v p.1 p.2) (Ω_T l T) (x₀, t₀)) (h_no_top : ∀ (x₀ : ), 0 < x₀x₀ < l¬IsMaxOn (fun (p : × ) => v p.1 p.2) (Ω_T l T) (x₀, T)) :
        s_maxS_boundary l T, pΩ_T l T, v p.1 p.2 v s_max.1 s_max.2
        theorem HeatEquation.heat_equation_max_principle (l T α : ) (u : ) (hl : 0 < l) (hT : 0 < T) ( : 0 < α) (h_smooth : ContDiffOn 2 (fun (p : × ) => u p.1 p.2) (Ω_T l T)) (h_pde : ∀ (x t : ), (x, t) Interior l Tderiv (fun (t' : ) => u x t') t = α * deriv (fun (x' : ) => deriv (fun (x'' : ) => u x'' t) x') x) :
        sSup ((fun (p : × ) => u p.1 p.2) '' Ω_T l T) = sSup ((fun (p : × ) => u p.1 p.2) '' S_boundary l T)