Vanishing outside the open box forces both boundary component zeros
AutoSamplingTheory.TechnicalLemmas.Analysis.Calculus.Divergence.update_boundary_component_eq_zero_of_eq_zero_off_univ_pi_Ioo · theorem · Teaching coverage
Statement
For arbitrary endpoints a,b and F:P→P, assume F(x)=0 at every x∉O. Then for every i and every x∈P, replacing x_i by either b_i or a_i makes the i-th component of F vanish.
All objects and hypotheses
- n∈ℕ, d=n+1≥1, P=(Fin d→ℝ) with its usual supremum norm, V=EuclideanSpace ℝ (Fin d) with its ℓ² norm. T:P→V is WithLp.toLp 2, a continuous linear equivalence, and e=T⁻¹=WithLp.ofLp.
- a,b∈P; K=[a,b]={x:∀i,a_i≤x_i≤b_i} is the closed box and O=∏_i(a_i,b_i) is the open box. All unspecified integrals and a.e. assertions use Lebesgue volume on P, restricted to K when indicated.
- F:P→P; ∀x∉O, F(x)=0. No endpoint-order or regularity hypothesis.
Mathematical proof
1. An endpoint update cannot lie in the open box
Membership in O after an upper update would require b_i<b_i; after a lower update it would require a_i<a_i. Both are impossible, independently of the other coordinates.
Corresponding Lean step
Apply Pi-box membership at coordinate i; lt_irrefl contradicts the resulting strict self-inequality.
2. Apply whole-vector vanishing and project
The off-box assumption gives F equal to the zero vector at each update. Projecting to coordinate i gives both claimed scalar zeros.
Corresponding Lean step
congrArg (fun y => y i) (hoff ... hxnot) in both branches.
Lean statement · update_boundary_component_eq_zero_of_eq_zero_off_univ_pi_Ioo
The output is a conjunction of two universally quantified statements, upper and lower. It does not require differentiability on the boundary.
Braces mark parameters Lean can infer; square brackets request structures such as a measurable space or probability measure. Named hypotheses are mathematical premises, not facts established by this declaration. Section parameters are described in the mathematical hypotheses above; the module link retains their exact source context.
theorem update_boundary_component_eq_zero_of_eq_zero_off_univ_pi_Ioo
{n : ℕ}
(a b : Fin (n + 1) → ℝ)
(F : (Fin (n + 1) → ℝ) → Fin (n + 1) → ℝ)
(hoff : ∀ x ∉ (Set.univ.pi fun i => Set.Ioo (a i) (b i)), F x = 0) :
(∀ (i : Fin (n + 1)) (x : Fin (n + 1) → ℝ),
F (Function.update x i (b i)) i = 0) ∧
(∀ (i : Fin (n + 1)) (x : Fin (n + 1) → ℝ),
F (Function.update x i (a i)) i = 0)Lean proof · update_boundary_component_eq_zero_of_eq_zero_off_univ_pi_Ioo
The source first membership in O after an upper update would require b_i<b_i; after a lower update it would require a_i<a_i. Both are impossible, independently of the other coordinates. It finishes as follows: The off-box assumption gives F equal to the zero vector at each update. Projecting to coordinate i gives both claimed scalar zeros. Intermediate steps below identify the actual helper calls and the conditions each one needs.
Braces mark parameters Lean can infer; square brackets request structures such as a measurable space or probability measure. Named hypotheses are mathematical premises, not facts established by this declaration. Section parameters are described in the mathematical hypotheses above; the module link retains their exact source context.
theorem update_boundary_component_eq_zero_of_eq_zero_off_univ_pi_Ioo
{n : ℕ}
(a b : Fin (n + 1) → ℝ)
(F : (Fin (n + 1) → ℝ) → Fin (n + 1) → ℝ)
(hoff : ∀ x ∉ (Set.univ.pi fun i => Set.Ioo (a i) (b i)), F x = 0) :
(∀ (i : Fin (n + 1)) (x : Fin (n + 1) → ℝ),
F (Function.update x i (b i)) i = 0) ∧
(∀ (i : Fin (n + 1)) (x : Fin (n + 1) → ℝ),
F (Function.update x i (a i)) i = 0) := by
constructor
· intro i x
have hxnot : Function.update x i (b i) ∉
(Set.univ.pi fun j => Set.Ioo (a j) (b j)) := by
intro hx
have hlt : b i < b i := by
simpa using (hx i (Set.mem_univ _)).2
exact (lt_irrefl (b i)) hlt
exact congrArg (fun y => y i) (hoff (Function.update x i (b i)) hxnot)
· intro i x
have hxnot : Function.update x i (a i) ∉
(Set.univ.pi fun j => Set.Ioo (a j) (b j)) := by
intro hx
have hlt : a i < a i := by
simpa using (hx i (Set.mem_univ _)).1
exact (lt_irrefl (a i)) hlt
exact congrArg (fun y => y i) (hoff (Function.update x i (a i)) hxnot)
/-- Off-open-box vanishing implies Mathlib's finite-box signed face-term sum
is zero.
This composes `update_boundary_component_eq_zero_of_eq_zero_off_univ_pi_Ioo`
with the update-shaped face-term producer. It still does not prove how the
off-open-box vanishing hypothesis arises; compact support and tail decay remain
separate leaves. -/Scope and omitted-condition boundaries
- Off-open-box vanishing is assumed, not derived from decay.
Source and reuse
ASTIS parents called
Mathlib API called (external library)
- Function.update
Mathematical sources
- Current ASTIS source — Exact statement and actual proof/construction authority; raw code intentionally omitted from this packet.
- Existing curated module card — Existing declaration-specific attribution entry, read as documentation without a new source-equivalence verdict.
- Existing focused test — Exact named declaration invocation located in an existing example; no test was run.
ASTIS prose is not a quotation or a source-equivalence certificate. Definitions and aliases are explained as constructions, not counted as new mathematical proofs.