Imports
/-
Copyright (c) 2025 Tomas Skrivan. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Tomas Skrivan, Joseph Tooby-Smith
-/
module
public import Physlib.SpaceAndTime.Space.Derivatives.Div
public import Physlib.Mathematics.Calculus.AdjFDerivLocalized function transforms
In this module we define a locality property for function transforms, F : (X → U) → (Y → V).
The locality property IsLocalizedFunctionTransform, says that for every compact
set K in Y there exists a compact set L of X, such that if φ and φ' are equal on L,
then F φ and F φ' are equal on K.
@[expose] public section
Function transformation F is localizable if the values of the transformed function F φ on
some compact set K can depend only on the values of φ on some another compact set L.
def IsLocalizedFunctionTransform (F : (X → U) → (Y → V)) : Prop :=
∀ (K : Set Y) (_ : IsCompact K), ∃ L : Set X,
IsCompact L ∧ ∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xlemma comp {F : (Y → V) → (Z → W)} {G : (X → U) → (Y → V)}
(hF : IsLocalizedFunctionTransform F) (hG : IsLocalizedFunctionTransform G) :
IsLocalizedFunctionTransform (F ∘ G) := X:Type u_5inst✝²:NormedAddCommGroup XY:Type u_1inst✝¹:NormedAddCommGroup YZ:Type u_2inst✝:NormedAddCommGroup ZU:Sort u_6V:Sort u_3W:Sort u_4F:(Y → V) → Z → WG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform G⊢ IsLocalizedFunctionTransform (F ∘ G)
X:Type u_5inst✝²:NormedAddCommGroup XY:Type u_1inst✝¹:NormedAddCommGroup YZ:Type u_2inst✝:NormedAddCommGroup ZU:Sort u_6V:Sort u_3W:Sort u_4F:(Y → V) → Z → WG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set ZcK:IsCompact K⊢ ∃ L, IsCompact L ∧ ∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (F ∘ G) φ x = (F ∘ G) φ' x
X:Type u_5inst✝²:NormedAddCommGroup XY:Type u_1inst✝¹:NormedAddCommGroup YZ:Type u_2inst✝:NormedAddCommGroup ZU:Sort u_6V:Sort u_3W:Sort u_4F:(Y → V) → Z → WG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set ZcK:IsCompact KK':Set YcK':IsCompact K'h':∀ (φ φ' : Y → V), (∀ x ∈ K', φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' x⊢ ∃ L, IsCompact L ∧ ∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (F ∘ G) φ x = (F ∘ G) φ' x
X:Type u_5inst✝²:NormedAddCommGroup XY:Type u_1inst✝¹:NormedAddCommGroup YZ:Type u_2inst✝:NormedAddCommGroup ZU:Sort u_6V:Sort u_3W:Sort u_4F:(Y → V) → Z → WG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set ZcK:IsCompact KK':Set YcK':IsCompact K'h':∀ (φ φ' : Y → V), (∀ x ∈ K', φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xK'':Set XcK'':IsCompact K''h'':∀ (φ φ' : X → U), (∀ x ∈ K'', φ x = φ' x) → ∀ x ∈ K', G φ x = G φ' x⊢ ∃ L, IsCompact L ∧ ∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (F ∘ G) φ x = (F ∘ G) φ' x
X:Type u_5inst✝²:NormedAddCommGroup XY:Type u_1inst✝¹:NormedAddCommGroup YZ:Type u_2inst✝:NormedAddCommGroup ZU:Sort u_6V:Sort u_3W:Sort u_4F:(Y → V) → Z → WG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set ZcK:IsCompact KK':Set YcK':IsCompact K'h':∀ (φ φ' : Y → V), (∀ x ∈ K', φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xK'':Set XcK'':IsCompact K''h'':∀ (φ φ' : X → U), (∀ x ∈ K'', φ x = φ' x) → ∀ x ∈ K', G φ x = G φ' x⊢ IsCompact K'' ∧ ∀ (φ φ' : X → U), (∀ x ∈ K'', φ x = φ' x) → ∀ x ∈ K, (F ∘ G) φ x = (F ∘ G) φ' x
X:Type u_5inst✝²:NormedAddCommGroup XY:Type u_1inst✝¹:NormedAddCommGroup YZ:Type u_2inst✝:NormedAddCommGroup ZU:Sort u_6V:Sort u_3W:Sort u_4F:(Y → V) → Z → WG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set ZcK:IsCompact KK':Set YcK':IsCompact K'h':∀ (φ φ' : Y → V), (∀ x ∈ K', φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xK'':Set XcK'':IsCompact K''h'':∀ (φ φ' : X → U), (∀ x ∈ K'', φ x = φ' x) → ∀ x ∈ K', G φ x = G φ' x⊢ IsCompact K''X:Type u_5inst✝²:NormedAddCommGroup XY:Type u_1inst✝¹:NormedAddCommGroup YZ:Type u_2inst✝:NormedAddCommGroup ZU:Sort u_6V:Sort u_3W:Sort u_4F:(Y → V) → Z → WG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set ZcK:IsCompact KK':Set YcK':IsCompact K'h':∀ (φ φ' : Y → V), (∀ x ∈ K', φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xK'':Set XcK'':IsCompact K''h'':∀ (φ φ' : X → U), (∀ x ∈ K'', φ x = φ' x) → ∀ x ∈ K', G φ x = G φ' x⊢ ∀ (φ φ' : X → U), (∀ x ∈ K'', φ x = φ' x) → ∀ x ∈ K, (F ∘ G) φ x = (F ∘ G) φ' x
X:Type u_5inst✝²:NormedAddCommGroup XY:Type u_1inst✝¹:NormedAddCommGroup YZ:Type u_2inst✝:NormedAddCommGroup ZU:Sort u_6V:Sort u_3W:Sort u_4F:(Y → V) → Z → WG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set ZcK:IsCompact KK':Set YcK':IsCompact K'h':∀ (φ φ' : Y → V), (∀ x ∈ K', φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xK'':Set XcK'':IsCompact K''h'':∀ (φ φ' : X → U), (∀ x ∈ K'', φ x = φ' x) → ∀ x ∈ K', G φ x = G φ' x⊢ IsCompact K'' All goals completed! 🐙
X:Type u_5inst✝²:NormedAddCommGroup XY:Type u_1inst✝¹:NormedAddCommGroup YZ:Type u_2inst✝:NormedAddCommGroup ZU:Sort u_6V:Sort u_3W:Sort u_4F:(Y → V) → Z → WG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set ZcK:IsCompact KK':Set YcK':IsCompact K'h':∀ (φ φ' : Y → V), (∀ x ∈ K', φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xK'':Set XcK'':IsCompact K''h'':∀ (φ φ' : X → U), (∀ x ∈ K'', φ x = φ' x) → ∀ x ∈ K', G φ x = G φ' x⊢ ∀ (φ φ' : X → U), (∀ x ∈ K'', φ x = φ' x) → ∀ x ∈ K, (F ∘ G) φ x = (F ∘ G) φ' x X:Type u_5inst✝²:NormedAddCommGroup XY:Type u_1inst✝¹:NormedAddCommGroup YZ:Type u_2inst✝:NormedAddCommGroup ZU:Sort u_6V:Sort u_3W:Sort u_4F:(Y → V) → Z → WG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set ZcK:IsCompact KK':Set YcK':IsCompact K'h':∀ (φ φ' : Y → V), (∀ x ∈ K', φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xK'':Set XcK'':IsCompact K''h'':∀ (φ φ' : X → U), (∀ x ∈ K'', φ x = φ' x) → ∀ x ∈ K', G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ K'', φ x = φ' x⊢ ∀ x ∈ K, (F ∘ G) φ x = (F ∘ G) φ' x
All goals completed! 🐙lemma fun_comp {F : (Y → V) → (Z → W)} {G : (X → U) → (Y → V)}
(hF : IsLocalizedFunctionTransform F) (hG : IsLocalizedFunctionTransform G) :
IsLocalizedFunctionTransform (fun x => F (G x)) := X:Type u_5inst✝²:NormedAddCommGroup XY:Type u_1inst✝¹:NormedAddCommGroup YZ:Type u_2inst✝:NormedAddCommGroup ZU:Sort u_6V:Sort u_3W:Sort u_4F:(Y → V) → Z → WG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform G⊢ IsLocalizedFunctionTransform fun x => F (G x)
All goals completed! 🐙All goals completed! 🐙lemma neg {V} [NormedAddCommGroup V]
{F : (X → U) → (Y → V)} (hF : IsLocalizedFunctionTransform F) :
IsLocalizedFunctionTransform (fun φ => - F φ) := by X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VhF:IsLocalizedFunctionTransform F⊢ IsLocalizedFunctionTransform fun φ => -F φ
intro K cK X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VhF:IsLocalizedFunctionTransform FK:Set YcK:IsCompact K⊢ ∃ L, IsCompact L ∧ ∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ => -F φ) φ x = (fun φ => -F φ) φ' x
obtain ⟨L,cL,h⟩ := hF K cK X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VhF:IsLocalizedFunctionTransform FK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' x⊢ ∃ L, IsCompact L ∧ ∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ => -F φ) φ x = (fun φ => -F φ) φ' x
exact ⟨L,cL,by X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VhF:IsLocalizedFunctionTransform FK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' x⊢ ∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ => -F φ) φ x = (fun φ => -F φ) φ' x intro _ _ _ _ _ X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VhF:IsLocalizedFunctionTransform FK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ✝:X → Uφ'✝:X → Ua✝¹:∀ x ∈ L, φ✝ x = φ'✝ xx✝:Ya✝:x✝ ∈ K⊢ (fun φ => -F φ) φ✝ x✝ = (fun φ => -F φ) φ'✝ x✝; dsimp X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VhF:IsLocalizedFunctionTransform FK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ✝:X → Uφ'✝:X → Ua✝¹:∀ x ∈ L, φ✝ x = φ'✝ xx✝:Ya✝:x✝ ∈ K⊢ -F φ✝ x✝ = -F φ'✝ x✝; congr 1 X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VhF:IsLocalizedFunctionTransform FK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ✝:X → Uφ'✝:X → Ua✝¹:∀ x ∈ L, φ✝ x = φ'✝ xx✝:Ya✝:x✝ ∈ K⊢ F φ✝ x✝ = F φ'✝ x✝; apply h a X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VhF:IsLocalizedFunctionTransform FK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ✝:X → Uφ'✝:X → Ua✝¹:∀ x ∈ L, φ✝ x = φ'✝ xx✝:Ya✝:x✝ ∈ K⊢ ∀ x ∈ L, φ✝ x = φ'✝ xa X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VhF:IsLocalizedFunctionTransform FK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ✝:X → Uφ'✝:X → Ua✝¹:∀ x ∈ L, φ✝ x = φ'✝ xx✝:Ya✝:x✝ ∈ K⊢ x✝ ∈ K <;> a X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VhF:IsLocalizedFunctionTransform FK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ✝:X → Uφ'✝:X → Ua✝¹:∀ x ∈ L, φ✝ x = φ'✝ xx✝:Ya✝:x✝ ∈ K⊢ ∀ x ∈ L, φ✝ x = φ'✝ xa X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VhF:IsLocalizedFunctionTransform FK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ✝:X → Uφ'✝:X → Ua✝¹:∀ x ∈ L, φ✝ x = φ'✝ xx✝:Ya✝:x✝ ∈ K⊢ x✝ ∈ K simp_all All goals completed! 🐙⟩
lemma add {V} [NormedAddCommGroup V] {F G : (X → U) → (Y → V)}
(hF : IsLocalizedFunctionTransform F) (hG : IsLocalizedFunctionTransform G) :
IsLocalizedFunctionTransform (fun φ => F φ + G φ) := by X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform G⊢ IsLocalizedFunctionTransform fun φ => F φ + G φ
intro K cK X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact K⊢ ∃ L,
IsCompact L ∧ ∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x
obtain ⟨L,cL,h⟩ := hF K cK X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' x⊢ ∃ L,
IsCompact L ∧ ∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x
obtain ⟨L',cL',h'⟩ := hG K cK X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' x⊢ ∃ L,
IsCompact L ∧ ∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x
use L ∪ L' h X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' x⊢ IsCompact (L ∪ L') ∧
∀ (φ φ' : X → U), (∀ x ∈ L ∪ L', φ x = φ' x) → ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x
constructor h.left X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' x⊢ IsCompact (L ∪ L')h.right X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' x⊢ ∀ (φ φ' : X → U), (∀ x ∈ L ∪ L', φ x = φ' x) → ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x
· h.left X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' x⊢ IsCompact (L ∪ L') exact cL.union cL' All goals completed! 🐙
· h.right X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' x⊢ ∀ (φ φ' : X → U), (∀ x ∈ L ∪ L', φ x = φ' x) → ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x intro φ φ' hφ h.right X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' x⊢ ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x
have hL : ∀ x ∈ L, φ x = φ' x := by X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform G⊢ IsLocalizedFunctionTransform fun φ => F φ + G φ h.right X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' xhL:∀ x ∈ L, φ x = φ' x⊢ ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x
intro x hx X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' xx:Xhx:x ∈ L⊢ φ x = φ' x h.right X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' xhL:∀ x ∈ L, φ x = φ' x⊢ ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x; apply hφ X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' xx:Xhx:x ∈ L⊢ x ∈ L ∪ L'h.right X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' xhL:∀ x ∈ L, φ x = φ' x⊢ ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x; simp_allh.right X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' xhL:∀ x ∈ L, φ x = φ' x⊢ ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' xh.right X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' xhL:∀ x ∈ L, φ x = φ' x⊢ ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x
have hL' : ∀ x ∈ L', φ x = φ' x := by X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform G⊢ IsLocalizedFunctionTransform fun φ => F φ + G φ h.right X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' xhL:∀ x ∈ L, φ x = φ' xhL':∀ x ∈ L', φ x = φ' x⊢ ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x
intro x hx X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' xhL:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ L'⊢ φ x = φ' xh.right X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' xhL:∀ x ∈ L, φ x = φ' xhL':∀ x ∈ L', φ x = φ' x⊢ ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x; apply hφ X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' xhL:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ L'⊢ x ∈ L ∪ L'h.right X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' xhL:∀ x ∈ L, φ x = φ' xhL':∀ x ∈ L', φ x = φ' x⊢ ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x; simp_allh.right X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' xhL:∀ x ∈ L, φ x = φ' xhL':∀ x ∈ L', φ x = φ' x⊢ ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' xh.right X:Type u_2inst✝²:NormedAddCommGroup XY:Type u_3inst✝¹:NormedAddCommGroup YU:Sort u_4V:Type u_1inst✝:NormedAddCommGroup VF:(X → U) → Y → VG:(X → U) → Y → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set YcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xL':Set XcL':IsCompact L'h':∀ (φ φ' : X → U), (∀ x ∈ L', φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L ∪ L', φ x = φ' xhL:∀ x ∈ L, φ x = φ' xhL':∀ x ∈ L', φ x = φ' x⊢ ∀ x ∈ K, (fun φ => F φ + G φ) φ x = (fun φ => F φ + G φ) φ' x
simp +contextual (disch:=assumption) [h φ φ', h' φ φ'] All goals completed! 🐙
lemma mul_left {F : (X → ℝ) → (X → ℝ)} {ψ : X → ℝ} (hF : IsLocalizedFunctionTransform F) :
IsLocalizedFunctionTransform (fun φ x => ψ x * F φ x) := by X:Type u_1inst✝:NormedAddCommGroup XF:(X → ℝ) → X → ℝψ:X → ℝhF:IsLocalizedFunctionTransform F⊢ IsLocalizedFunctionTransform fun φ x => ψ x * F φ x
intro K cK X:Type u_1inst✝:NormedAddCommGroup XF:(X → ℝ) → X → ℝψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact K⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → ℝ), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => ψ x * F φ x) φ x = (fun φ x => ψ x * F φ x) φ' x
obtain ⟨L, cL, h⟩ := hF K cK X:Type u_1inst✝:NormedAddCommGroup XF:(X → ℝ) → X → ℝψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → ℝ), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' x⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → ℝ), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => ψ x * F φ x) φ x = (fun φ x => ψ x * F φ x) φ' x
exact ⟨L, cL, fun φ φ' hφ x hx => by X:Type u_1inst✝:NormedAddCommGroup XF:(X → ℝ) → X → ℝψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → ℝ), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → ℝφ':X → ℝhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ (fun φ x => ψ x * F φ x) φ x = (fun φ x => ψ x * F φ x) φ' x dsimp only X:Type u_1inst✝:NormedAddCommGroup XF:(X → ℝ) → X → ℝψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → ℝ), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → ℝφ':X → ℝhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ ψ x * F φ x = ψ x * F φ' x; rw [h φ φ' hφ x hx X:Type u_1inst✝:NormedAddCommGroup XF:(X → ℝ) → X → ℝψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → ℝ), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → ℝφ':X → ℝhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ ψ x * F φ' x = ψ x * F φ' x All goals completed! 🐙] All goals completed! 🐙⟩
lemma mul_right {F : (X → ℝ) → (X → ℝ)} {ψ : X → ℝ} (hF : IsLocalizedFunctionTransform F) :
IsLocalizedFunctionTransform (fun φ x => F φ x * ψ x) := by X:Type u_1inst✝:NormedAddCommGroup XF:(X → ℝ) → X → ℝψ:X → ℝhF:IsLocalizedFunctionTransform F⊢ IsLocalizedFunctionTransform fun φ x => F φ x * ψ x
intro K cK X:Type u_1inst✝:NormedAddCommGroup XF:(X → ℝ) → X → ℝψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact K⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → ℝ), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => F φ x * ψ x) φ x = (fun φ x => F φ x * ψ x) φ' x
obtain ⟨L, cL, h⟩ := hF K cK X:Type u_1inst✝:NormedAddCommGroup XF:(X → ℝ) → X → ℝψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → ℝ), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' x⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → ℝ), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => F φ x * ψ x) φ x = (fun φ x => F φ x * ψ x) φ' x
exact ⟨L, cL, fun φ φ' hφ x hx => by X:Type u_1inst✝:NormedAddCommGroup XF:(X → ℝ) → X → ℝψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → ℝ), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → ℝφ':X → ℝhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ (fun φ x => F φ x * ψ x) φ x = (fun φ x => F φ x * ψ x) φ' x dsimp only X:Type u_1inst✝:NormedAddCommGroup XF:(X → ℝ) → X → ℝψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → ℝ), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → ℝφ':X → ℝhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ F φ x * ψ x = F φ' x * ψ x; rw [h φ φ' hφ x hx X:Type u_1inst✝:NormedAddCommGroup XF:(X → ℝ) → X → ℝψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → ℝ), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → ℝφ':X → ℝhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ F φ' x * ψ x = F φ' x * ψ x All goals completed! 🐙] All goals completed! 🐙⟩
lemma smul_left [NormedAddCommGroup V] [NormedSpace ℝ V] {F : (X → U) → (X → V)} {ψ : X → ℝ}
(hF : IsLocalizedFunctionTransform F) :
IsLocalizedFunctionTransform (fun φ x => ψ x • F φ x) := by X:Type u_2inst✝²:NormedAddCommGroup XU:Sort u_3V:Type u_1inst✝¹:NormedAddCommGroup Vinst✝:NormedSpace ℝ VF:(X → U) → X → Vψ:X → ℝhF:IsLocalizedFunctionTransform F⊢ IsLocalizedFunctionTransform fun φ x => ψ x • F φ x
intro K cK X:Type u_2inst✝²:NormedAddCommGroup XU:Sort u_3V:Type u_1inst✝¹:NormedAddCommGroup Vinst✝:NormedSpace ℝ VF:(X → U) → X → Vψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact K⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => ψ x • F φ x) φ x = (fun φ x => ψ x • F φ x) φ' x
obtain ⟨L, cL, h⟩ := hF K cK X:Type u_2inst✝²:NormedAddCommGroup XU:Sort u_3V:Type u_1inst✝¹:NormedAddCommGroup Vinst✝:NormedSpace ℝ VF:(X → U) → X → Vψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' x⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => ψ x • F φ x) φ x = (fun φ x => ψ x • F φ x) φ' x
exact ⟨L, cL, fun φ φ' hφ x hx => by X:Type u_2inst✝²:NormedAddCommGroup XU:Sort u_3V:Type u_1inst✝¹:NormedAddCommGroup Vinst✝:NormedSpace ℝ VF:(X → U) → X → Vψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ (fun φ x => ψ x • F φ x) φ x = (fun φ x => ψ x • F φ x) φ' x dsimp only X:Type u_2inst✝²:NormedAddCommGroup XU:Sort u_3V:Type u_1inst✝¹:NormedAddCommGroup Vinst✝:NormedSpace ℝ VF:(X → U) → X → Vψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ ψ x • F φ x = ψ x • F φ' x; rw [h φ φ' hφ x hx X:Type u_2inst✝²:NormedAddCommGroup XU:Sort u_3V:Type u_1inst✝¹:NormedAddCommGroup Vinst✝:NormedSpace ℝ VF:(X → U) → X → Vψ:X → ℝhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ ψ x • F φ' x = ψ x • F φ' x All goals completed! 🐙] All goals completed! 🐙⟩
lemma div {d} : IsLocalizedFunctionTransform fun (φ : Space d → EuclideanSpace ℝ (Fin d)) x =>
Space.div φ x := by d:ℕ⊢ IsLocalizedFunctionTransform fun φ x => Space.div φ x
intro K cK d:ℕK:Set (Space d)cK:IsCompact K⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : Space d → EuclideanSpace ℝ (Fin d)),
(∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x
use (Metric.cthickening 1 K) h d:ℕK:Set (Space d)cK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K) ∧
∀ (φ φ' : Space d → EuclideanSpace ℝ (Fin d)),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x
constructor h.left d:ℕK:Set (Space d)cK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K)h.right d:ℕK:Set (Space d)cK:IsCompact K⊢ ∀ (φ φ' : Space d → EuclideanSpace ℝ (Fin d)),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) → ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x
· h.left d:ℕK:Set (Space d)cK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K) exact IsCompact.cthickening cK All goals completed! 🐙
· h.right d:ℕK:Set (Space d)cK:IsCompact K⊢ ∀ (φ φ' : Space d → EuclideanSpace ℝ (Fin d)),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) → ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x intro φ φ' hφ h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' x⊢ ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x
have h : ∀ (i : Fin d), ∀ x ∈ K,
(fun x => (φ x) i) =ᶠ[nhds x] fun x => (φ' x) i := by d:ℕ⊢ IsLocalizedFunctionTransform fun φ x => Space.div φ x h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp i⊢ ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x
intro i x hx d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ K⊢ (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp i h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp i⊢ ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x
apply Filter.eventuallyEq_of_mem (s := Metric.thickening 1 K) hs d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ K⊢ Metric.thickening 1 K ∈ nhds xh d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ K⊢ Set.EqOn (fun x => (φ x).ofLp i) (fun x => (φ' x).ofLp i) (Metric.thickening 1 K)h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp i⊢ ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x
· hs d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ K⊢ Metric.thickening 1 K ∈ nhds xh.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp i⊢ ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x apply Metric.isOpen_thickening.mem_nhds hs d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ K⊢ x ∈ Metric.thickening 1 Kh.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp i⊢ ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x
exact Metric.self_subset_thickening one_pos K hx All goals completed! 🐙h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp i⊢ ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x
· h d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ K⊢ Set.EqOn (fun x => (φ x).ofLp i) (fun x => (φ' x).ofLp i) (Metric.thickening 1 K)h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp i⊢ ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x intro y hy h d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ Ky:Space dhy:y ∈ Metric.thickening 1 K⊢ (fun x => (φ x).ofLp i) y = (fun x => (φ' x).ofLp i) yh.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp i⊢ ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x
dsimp only h d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ Ky:Space dhy:y ∈ Metric.thickening 1 K⊢ (φ y).ofLp i = (φ' y).ofLp ih.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp i⊢ ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x
rw [hφ y (Metric.thickening_subset_cthickening 1 K hy) h d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ Ky:Space dhy:y ∈ Metric.thickening 1 K⊢ (φ' y).ofLp i = (φ' y).ofLp ih.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp i⊢ ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x]h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp i⊢ ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' xh.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp i⊢ ∀ x ∈ K, (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x
intro x hx h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp ix:Space dhx:x ∈ K⊢ (fun φ x => Space.div φ x) φ x = (fun φ x => Space.div φ x) φ' x; dsimp h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp ix:Space dhx:x ∈ K⊢ Space.div φ x = Space.div φ' x;
simp [Space.div,Space.deriv] h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp ix:Space dhx:x ∈ K⊢ ∑ x_1, (fderiv ℝ (fun x => (φ x).ofLp x_1) x) (Space.basis x_1) =
∑ x_1, (fderiv ℝ (fun x => (φ' x).ofLp x_1) x) (Space.basis x_1)
congr h.right.e_f d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp ix:Space dhx:x ∈ K⊢ (fun x_1 => (fderiv ℝ (fun x => (φ x).ofLp x_1) x) (Space.basis x_1)) = fun x_1 =>
(fderiv ℝ (fun x => (φ' x).ofLp x_1) x) (Space.basis x_1); funext i h.right.e_f d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp ix:Space dhx:x ∈ Ki:Fin d⊢ (fderiv ℝ (fun x => (φ x).ofLp i) x) (Space.basis i) = (fderiv ℝ (fun x => (φ' x).ofLp i) x) (Space.basis i); congr 1 h.right.e_f d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → EuclideanSpace ℝ (Fin d)φ':Space d → EuclideanSpace ℝ (Fin d)hφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).ofLp i) =ᶠ[nhds x] fun x => (φ' x).ofLp ix:Space dhx:x ∈ Ki:Fin d⊢ fderiv ℝ (fun x => (φ x).ofLp i) x = fderiv ℝ (fun x => (φ' x).ofLp i) x
exact Filter.EventuallyEq.fderiv_eq (h _ _ hx) All goals completed! 🐙
lemma div_comp_repr {d} : IsLocalizedFunctionTransform fun (φ : Space d → Space d) x =>
Space.div (Space.basis.repr ∘ φ) x := by d:ℕ⊢ IsLocalizedFunctionTransform fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x
intro K cK d:ℕK:Set (Space d)cK:IsCompact K⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : Space d → Space d),
(∀ x ∈ L, φ x = φ' x) →
∀ x ∈ K,
(fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x
use (Metric.cthickening 1 K) h d:ℕK:Set (Space d)cK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K) ∧
∀ (φ φ' : Space d → Space d),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K,
(fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x
constructor h.left d:ℕK:Set (Space d)cK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K)h.right d:ℕK:Set (Space d)cK:IsCompact K⊢ ∀ (φ φ' : Space d → Space d),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K,
(fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x
· h.left d:ℕK:Set (Space d)cK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K) exact IsCompact.cthickening cK All goals completed! 🐙
· h.right d:ℕK:Set (Space d)cK:IsCompact K⊢ ∀ (φ φ' : Space d → Space d),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K,
(fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x intro φ φ' hφ h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' x⊢ ∀ x ∈ K, (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x
have h : ∀ (i : Fin d), ∀ x ∈ K,
(fun x => (φ x) i) =ᶠ[nhds x] fun x => (φ' x) i := by d:ℕ⊢ IsLocalizedFunctionTransform fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val i⊢ ∀ x ∈ K, (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x
intro i x hx d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ K⊢ (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val i h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val i⊢ ∀ x ∈ K, (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x
apply Filter.eventuallyEq_of_mem (s := Metric.thickening 1 K) hs d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ K⊢ Metric.thickening 1 K ∈ nhds xh d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ K⊢ Set.EqOn (fun x => (φ x).val i) (fun x => (φ' x).val i) (Metric.thickening 1 K)h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val i⊢ ∀ x ∈ K, (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x
· hs d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ K⊢ Metric.thickening 1 K ∈ nhds xh.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val i⊢ ∀ x ∈ K, (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x apply Metric.isOpen_thickening.mem_nhds hs d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ K⊢ x ∈ Metric.thickening 1 Kh.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val i⊢ ∀ x ∈ K, (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x
exact Metric.self_subset_thickening one_pos K hx All goals completed! 🐙h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val i⊢ ∀ x ∈ K, (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x
· h d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ K⊢ Set.EqOn (fun x => (φ x).val i) (fun x => (φ' x).val i) (Metric.thickening 1 K)h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val i⊢ ∀ x ∈ K, (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x intro y hy h d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ Ky:Space dhy:y ∈ Metric.thickening 1 K⊢ (fun x => (φ x).val i) y = (fun x => (φ' x).val i) yh.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val i⊢ ∀ x ∈ K, (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x
dsimp only h d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ Ky:Space dhy:y ∈ Metric.thickening 1 K⊢ (φ y).val i = (φ' y).val ih.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val i⊢ ∀ x ∈ K, (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x
rw [hφ y (Metric.thickening_subset_cthickening 1 K hy) h d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xi:Fin dx:Space dhx:x ∈ Ky:Space dhy:y ∈ Metric.thickening 1 K⊢ (φ' y).val i = (φ' y).val ih.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val i⊢ ∀ x ∈ K, (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x]h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val i⊢ ∀ x ∈ K, (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' xh.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val i⊢ ∀ x ∈ K, (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x
intro x hx h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val ix:Space dhx:x ∈ K⊢ (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ x = (fun φ x => Space.div (⇑Space.basis.repr ∘ φ) x) φ' x; dsimp h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val ix:Space dhx:x ∈ K⊢ Space.div (⇑Space.basis.repr ∘ φ) x = Space.div (⇑Space.basis.repr ∘ φ') x;
simp [Space.div,Space.deriv] h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val ix:Space dhx:x ∈ K⊢ ∑ x_1, (fderiv ℝ (fun x => (φ x).val x_1) x) (Space.basis x_1) =
∑ x_1, (fderiv ℝ (fun x => (φ' x).val x_1) x) (Space.basis x_1)
congr h.right.e_f d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val ix:Space dhx:x ∈ K⊢ (fun x_1 => (fderiv ℝ (fun x => (φ x).val x_1) x) (Space.basis x_1)) = fun x_1 =>
(fderiv ℝ (fun x => (φ' x).val x_1) x) (Space.basis x_1); funext i h.right.e_f d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val ix:Space dhx:x ∈ Ki:Fin d⊢ (fderiv ℝ (fun x => (φ x).val i) x) (Space.basis i) = (fderiv ℝ (fun x => (φ' x).val i) x) (Space.basis i); congr 1 h.right.e_f d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → Space dφ':Space d → Space dhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xh:∀ (i : Fin d), ∀ x ∈ K, (fun x => (φ x).val i) =ᶠ[nhds x] fun x => (φ' x).val ix:Space dhx:x ∈ Ki:Fin d⊢ fderiv ℝ (fun x => (φ x).val i) x = fderiv ℝ (fun x => (φ' x).val i) x
exact Filter.EventuallyEq.fderiv_eq (h _ _ hx) All goals completed! 🐙
lemma grad : IsLocalizedFunctionTransform fun (ψ : Space d → ℝ) x => Space.grad ψ x := by d:ℕ⊢ IsLocalizedFunctionTransform fun ψ x => Space.grad ψ x
intro K cK d:ℕK:Set (Space d)cK:IsCompact K⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : Space d → ℝ),
(∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun ψ x => Space.grad ψ x) φ x = (fun ψ x => Space.grad ψ x) φ' x
use (Metric.cthickening 1 K) h d:ℕK:Set (Space d)cK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K) ∧
∀ (φ φ' : Space d → ℝ),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K, (fun ψ x => Space.grad ψ x) φ x = (fun ψ x => Space.grad ψ x) φ' x
constructor h.left d:ℕK:Set (Space d)cK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K)h.right d:ℕK:Set (Space d)cK:IsCompact K⊢ ∀ (φ φ' : Space d → ℝ),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K, (fun ψ x => Space.grad ψ x) φ x = (fun ψ x => Space.grad ψ x) φ' x
· h.left d:ℕK:Set (Space d)cK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K) exact IsCompact.cthickening cK All goals completed! 🐙
· h.right d:ℕK:Set (Space d)cK:IsCompact K⊢ ∀ (φ φ' : Space d → ℝ),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K, (fun ψ x => Space.grad ψ x) φ x = (fun ψ x => Space.grad ψ x) φ' x intro φ φ' hφ x hx h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ K⊢ (fun ψ x => Space.grad ψ x) φ x = (fun ψ x => Space.grad ψ x) φ' x
dsimp h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ K⊢ Space.grad φ x = Space.grad φ' x
simp [Space.grad_eq_sum, Space.deriv] h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ K⊢ ∑ x_1, (fderiv ℝ φ x) (Space.basis x_1) • EuclideanSpace.single x_1 1 =
∑ x_1, (fderiv ℝ φ' x) (Space.basis x_1) • EuclideanSpace.single x_1 1
congr h.right.e_f d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ K⊢ (fun x_1 => (fderiv ℝ φ x) (Space.basis x_1) • EuclideanSpace.single x_1 1) = fun x_1 =>
(fderiv ℝ φ' x) (Space.basis x_1) • EuclideanSpace.single x_1 1
funext i h.right.e_f d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin d⊢ (fderiv ℝ φ x) (Space.basis i) • EuclideanSpace.single i 1 = (fderiv ℝ φ' x) (Space.basis i) • EuclideanSpace.single i 1
congr 2 h.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin d⊢ fderiv ℝ φ x = fderiv ℝ φ' x
have h : φ =ᶠ[nhds x] φ' := by d:ℕ⊢ IsLocalizedFunctionTransform fun ψ x => Space.grad ψ x h.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x
apply Filter.eventuallyEq_of_mem (s := Metric.thickening 1 K) hs d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin d⊢ Metric.thickening 1 K ∈ nhds xh d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin d⊢ Set.EqOn φ φ' (Metric.thickening 1 K) h.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x
· hs d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin d⊢ Metric.thickening 1 K ∈ nhds xh.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x apply Metric.isOpen_thickening.mem_nhds hs d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin d⊢ x ∈ Metric.thickening 1 Kh.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x
exact Metric.self_subset_thickening one_pos K hx All goals completed! 🐙h.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x
· h d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin d⊢ Set.EqOn φ φ' (Metric.thickening 1 K)h.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x intro y hy h d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dy:Space dhy:y ∈ Metric.thickening 1 K⊢ φ y = φ' yh.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x
exact hφ y (Metric.thickening_subset_cthickening 1 K hy)h.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' xh.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x
exact Filter.EventuallyEq.fderiv_eq h All goals completed! 🐙
lemma gradient : IsLocalizedFunctionTransform fun (ψ : Space d → ℝ) x => gradient ψ x := by d:ℕ⊢ IsLocalizedFunctionTransform fun ψ x => _root_.gradient ψ x
intro K cK d:ℕK:Set (Space d)cK:IsCompact K⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : Space d → ℝ),
(∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun ψ x => _root_.gradient ψ x) φ x = (fun ψ x => _root_.gradient ψ x) φ' x
use (Metric.cthickening 1 K) h d:ℕK:Set (Space d)cK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K) ∧
∀ (φ φ' : Space d → ℝ),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K, (fun ψ x => _root_.gradient ψ x) φ x = (fun ψ x => _root_.gradient ψ x) φ' x
constructor h.left d:ℕK:Set (Space d)cK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K)h.right d:ℕK:Set (Space d)cK:IsCompact K⊢ ∀ (φ φ' : Space d → ℝ),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K, (fun ψ x => _root_.gradient ψ x) φ x = (fun ψ x => _root_.gradient ψ x) φ' x
· h.left d:ℕK:Set (Space d)cK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K) exact IsCompact.cthickening cK All goals completed! 🐙
· h.right d:ℕK:Set (Space d)cK:IsCompact K⊢ ∀ (φ φ' : Space d → ℝ),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K, (fun ψ x => _root_.gradient ψ x) φ x = (fun ψ x => _root_.gradient ψ x) φ' x intro φ φ' hφ x hx h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ K⊢ (fun ψ x => _root_.gradient ψ x) φ x = (fun ψ x => _root_.gradient ψ x) φ' x
dsimp h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ K⊢ _root_.gradient φ x = _root_.gradient φ' x
simp [Space.gradient_eq_sum,Space.deriv] h.right d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ K⊢ ∑ x_1, (fderiv ℝ φ x) (Space.basis x_1) • Space.basis x_1 = ∑ x_1, (fderiv ℝ φ' x) (Space.basis x_1) • Space.basis x_1
congr h.right.e_f d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ K⊢ (fun x_1 => (fderiv ℝ φ x) (Space.basis x_1) • Space.basis x_1) = fun x_1 =>
(fderiv ℝ φ' x) (Space.basis x_1) • Space.basis x_1
funext i h.right.e_f d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin d⊢ (fderiv ℝ φ x) (Space.basis i) • Space.basis i = (fderiv ℝ φ' x) (Space.basis i) • Space.basis i
congr 2 h.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin d⊢ fderiv ℝ φ x = fderiv ℝ φ' x
have h : φ =ᶠ[nhds x] φ' := by d:ℕ⊢ IsLocalizedFunctionTransform fun ψ x => _root_.gradient ψ x h.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x
apply Filter.eventuallyEq_of_mem (s := Metric.thickening 1 K) hs d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin d⊢ Metric.thickening 1 K ∈ nhds xh d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin d⊢ Set.EqOn φ φ' (Metric.thickening 1 K) h.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x
· hs d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin d⊢ Metric.thickening 1 K ∈ nhds xh.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x apply Metric.isOpen_thickening.mem_nhds hs d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin d⊢ x ∈ Metric.thickening 1 Kh.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x
exact Metric.self_subset_thickening one_pos K hx All goals completed! 🐙h.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x
· h d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin d⊢ Set.EqOn φ φ' (Metric.thickening 1 K)h.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x intro y hy h d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dy:Space dhy:y ∈ Metric.thickening 1 K⊢ φ y = φ' yh.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x
exact hφ y (Metric.thickening_subset_cthickening 1 K hy)h.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' xh.right.e_f.e_a d:ℕK:Set (Space d)cK:IsCompact Kφ:Space d → ℝφ':Space d → ℝhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Space dhx:x ∈ Ki:Fin dh:φ =ᶠ[nhds x] φ'⊢ fderiv ℝ φ x = fderiv ℝ φ' x
exact Filter.EventuallyEq.fderiv_eq h All goals completed! 🐙lemma clm_apply [NormedAddCommGroup V] [NormedSpace ℝ V] [NormedAddCommGroup U] [NormedSpace ℝ U]
(f : X → (U →L[ℝ] V)) : IsLocalizedFunctionTransform fun φ x => (f x) (φ x) := by X:Type u_3inst✝⁴:NormedAddCommGroup XU:Type u_2V:Type u_1inst✝³:NormedAddCommGroup Vinst✝²:NormedSpace ℝ Vinst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ Uf:X → U →L[ℝ] V⊢ IsLocalizedFunctionTransform fun φ x => (f x) (φ x)
intro K cK X:Type u_3inst✝⁴:NormedAddCommGroup XU:Type u_2V:Type u_1inst✝³:NormedAddCommGroup Vinst✝²:NormedSpace ℝ Vinst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ Uf:X → U →L[ℝ] VK:Set XcK:IsCompact K⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => (f x) (φ x)) φ x = (fun φ x => (f x) (φ x)) φ' x
exact ⟨K, cK, by X:Type u_3inst✝⁴:NormedAddCommGroup XU:Type u_2V:Type u_1inst✝³:NormedAddCommGroup Vinst✝²:NormedSpace ℝ Vinst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ Uf:X → U →L[ℝ] VK:Set XcK:IsCompact K⊢ ∀ (φ φ' : X → U), (∀ x ∈ K, φ x = φ' x) → ∀ x ∈ K, (fun φ x => (f x) (φ x)) φ x = (fun φ x => (f x) (φ x)) φ' x intro _ _ hφ _ _ X:Type u_3inst✝⁴:NormedAddCommGroup XU:Type u_2V:Type u_1inst✝³:NormedAddCommGroup Vinst✝²:NormedSpace ℝ Vinst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ Uf:X → U →L[ℝ] VK:Set XcK:IsCompact Kφ✝:X → Uφ'✝:X → Uhφ:∀ x ∈ K, φ✝ x = φ'✝ xx✝:Xa✝:x✝ ∈ K⊢ (fun φ x => (f x) (φ x)) φ✝ x✝ = (fun φ x => (f x) (φ x)) φ'✝ x✝; simp_all All goals completed! 🐙⟩
lemma deriv [NormedAddCommGroup U] [NormedSpace ℝ U] :
IsLocalizedFunctionTransform (fun φ : ℝ → U => deriv φ) := by U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ U⊢ IsLocalizedFunctionTransform fun φ => _root_.deriv φ
intro K cK U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact K⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : ℝ → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ => _root_.deriv φ) φ x = (fun φ => _root_.deriv φ) φ' x
use (Metric.cthickening 1 K) h U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K) ∧
∀ (φ φ' : ℝ → U),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) → ∀ x ∈ K, (fun φ => _root_.deriv φ) φ x = (fun φ => _root_.deriv φ) φ' x
constructor h.left U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K)h.right U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact K⊢ ∀ (φ φ' : ℝ → U),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) → ∀ x ∈ K, (fun φ => _root_.deriv φ) φ x = (fun φ => _root_.deriv φ) φ' x
· h.left U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K) exact IsCompact.cthickening cK All goals completed! 🐙
· h.right U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact K⊢ ∀ (φ φ' : ℝ → U),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) → ∀ x ∈ K, (fun φ => _root_.deriv φ) φ x = (fun φ => _root_.deriv φ) φ' x intro φ φ' hφ x hx h.right U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ K⊢ (fun φ => _root_.deriv φ) φ x = (fun φ => _root_.deriv φ) φ' x
dsimp h.right U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ K⊢ _root_.deriv φ x = _root_.deriv φ' x
have h : φ =ᶠ[nhds x] φ' := by U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ U⊢ IsLocalizedFunctionTransform fun φ => _root_.deriv φ h.right U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.deriv φ x = _root_.deriv φ' x
apply Filter.eventuallyEq_of_mem (s := Metric.thickening 1 K) hs U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ K⊢ Metric.thickening 1 K ∈ nhds xh U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ K⊢ Set.EqOn φ φ' (Metric.thickening 1 K) h.right U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.deriv φ x = _root_.deriv φ' x
· hs U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ K⊢ Metric.thickening 1 K ∈ nhds xh.right U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.deriv φ x = _root_.deriv φ' x apply Metric.isOpen_thickening.mem_nhds hs U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ K⊢ x ∈ Metric.thickening 1 Kh.right U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.deriv φ x = _root_.deriv φ' x
exact Metric.self_subset_thickening one_pos K hx All goals completed! 🐙h.right U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.deriv φ x = _root_.deriv φ' x
· h U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ K⊢ Set.EqOn φ φ' (Metric.thickening 1 K)h.right U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.deriv φ x = _root_.deriv φ' x intro y hy h U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ Ky:ℝhy:y ∈ Metric.thickening 1 K⊢ φ y = φ' yh.right U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.deriv φ x = _root_.deriv φ' x
exact hφ y (Metric.thickening_subset_cthickening 1 K hy)h.right U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.deriv φ x = _root_.deriv φ' xh.right U:Type u_1inst✝¹:NormedAddCommGroup Uinst✝:NormedSpace ℝ UK:Set ℝcK:IsCompact Kφ:ℝ → Uφ':ℝ → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:ℝhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.deriv φ x = _root_.deriv φ' x
exact h.deriv_eq All goals completed! 🐙
lemma fderiv [NormedAddCommGroup U] [NormedSpace ℝ U]
[NormedSpace ℝ X] [ProperSpace X] {dx : X} :
IsLocalizedFunctionTransform fun (φ : X → U) x => (fderiv ℝ φ x) dx := by X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:X⊢ IsLocalizedFunctionTransform fun φ x => (_root_.fderiv ℝ φ x) dx
intro K cK X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact K⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → U),
(∀ x ∈ L, φ x = φ' x) →
∀ x ∈ K, (fun φ x => (_root_.fderiv ℝ φ x) dx) φ x = (fun φ x => (_root_.fderiv ℝ φ x) dx) φ' x
use (Metric.cthickening 1 K) h X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K) ∧
∀ (φ φ' : X → U),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K, (fun φ x => (_root_.fderiv ℝ φ x) dx) φ x = (fun φ x => (_root_.fderiv ℝ φ x) dx) φ' x
constructor h.left X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K)h.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact K⊢ ∀ (φ φ' : X → U),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K, (fun φ x => (_root_.fderiv ℝ φ x) dx) φ x = (fun φ x => (_root_.fderiv ℝ φ x) dx) φ' x
· h.left X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K) exact IsCompact.cthickening cK All goals completed! 🐙
· h.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact K⊢ ∀ (φ φ' : X → U),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K, (fun φ x => (_root_.fderiv ℝ φ x) dx) φ x = (fun φ x => (_root_.fderiv ℝ φ x) dx) φ' x intro φ φ' hφ x hx h.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ (fun φ x => (_root_.fderiv ℝ φ x) dx) φ x = (fun φ x => (_root_.fderiv ℝ φ x) dx) φ' x
dsimp h.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ (_root_.fderiv ℝ φ x) dx = (_root_.fderiv ℝ φ' x) dx; congr 1 h.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x
have h : φ =ᶠ[nhds x] φ' := by X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:X⊢ IsLocalizedFunctionTransform fun φ x => (_root_.fderiv ℝ φ x) dx h.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x
apply Filter.eventuallyEq_of_mem (s := Metric.thickening 1 K) hs X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ Metric.thickening 1 K ∈ nhds xh X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ Set.EqOn φ φ' (Metric.thickening 1 K) h.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x
· hs X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ Metric.thickening 1 K ∈ nhds xh.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x apply Metric.isOpen_thickening.mem_nhds hs X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ x ∈ Metric.thickening 1 Kh.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x
exact Metric.self_subset_thickening one_pos K hx All goals completed! 🐙h.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x
· h X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ Set.EqOn φ φ' (Metric.thickening 1 K)h.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x intro y hy h X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Ky:Xhy:y ∈ Metric.thickening 1 K⊢ φ y = φ' yh.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x
exact hφ y (Metric.thickening_subset_cthickening 1 K hy)h.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' xh.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x
rw [Filter.EventuallyEq.fderiv_eq h h.right X:Type u_2inst✝⁴:NormedAddCommGroup XU:Type u_1inst✝³:NormedAddCommGroup Uinst✝²:NormedSpace ℝ Uinst✝¹:NormedSpace ℝ Xinst✝:ProperSpace Xdx:XK:Set XcK:IsCompact Kφ:X → Uφ':X → Uhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ' x = _root_.fderiv ℝ φ' x All goals completed! 🐙] All goals completed! 🐙
lemma fst {F : (X → U) → X → W × V} (hF : IsLocalizedFunctionTransform F) :
IsLocalizedFunctionTransform (fun φ x => (F φ x).1) := by X:Type u_3inst✝:NormedAddCommGroup XU:Sort u_4V:Type u_2W:Type u_1F:(X → U) → X → W × VhF:IsLocalizedFunctionTransform F⊢ IsLocalizedFunctionTransform fun φ x => (F φ x).1
intro K cK X:Type u_3inst✝:NormedAddCommGroup XU:Sort u_4V:Type u_2W:Type u_1F:(X → U) → X → W × VhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact K⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => (F φ x).1) φ x = (fun φ x => (F φ x).1) φ' x
obtain ⟨L, cL, h⟩ := hF K cK X:Type u_3inst✝:NormedAddCommGroup XU:Sort u_4V:Type u_2W:Type u_1F:(X → U) → X → W × VhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' x⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => (F φ x).1) φ x = (fun φ x => (F φ x).1) φ' x
exact ⟨L, cL, fun φ φ' hφ x hx => by X:Type u_3inst✝:NormedAddCommGroup XU:Sort u_4V:Type u_2W:Type u_1F:(X → U) → X → W × VhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ (fun φ x => (F φ x).1) φ x = (fun φ x => (F φ x).1) φ' x dsimp only X:Type u_3inst✝:NormedAddCommGroup XU:Sort u_4V:Type u_2W:Type u_1F:(X → U) → X → W × VhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ (F φ x).1 = (F φ' x).1; rw [h φ φ' hφ x hx X:Type u_3inst✝:NormedAddCommGroup XU:Sort u_4V:Type u_2W:Type u_1F:(X → U) → X → W × VhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ (F φ' x).1 = (F φ' x).1 All goals completed! 🐙] All goals completed! 🐙⟩
lemma snd {F : (X → U) → X → W × V} (hF : IsLocalizedFunctionTransform F) :
IsLocalizedFunctionTransform (fun φ x => (F φ x).2) := by X:Type u_3inst✝:NormedAddCommGroup XU:Sort u_4V:Type u_2W:Type u_1F:(X → U) → X → W × VhF:IsLocalizedFunctionTransform F⊢ IsLocalizedFunctionTransform fun φ x => (F φ x).2
intro K cK X:Type u_3inst✝:NormedAddCommGroup XU:Sort u_4V:Type u_2W:Type u_1F:(X → U) → X → W × VhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact K⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => (F φ x).2) φ x = (fun φ x => (F φ x).2) φ' x
obtain ⟨L, cL, h⟩ := hF K cK X:Type u_3inst✝:NormedAddCommGroup XU:Sort u_4V:Type u_2W:Type u_1F:(X → U) → X → W × VhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' x⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => (F φ x).2) φ x = (fun φ x => (F φ x).2) φ' x
exact ⟨L, cL, fun φ φ' hφ x hx => by X:Type u_3inst✝:NormedAddCommGroup XU:Sort u_4V:Type u_2W:Type u_1F:(X → U) → X → W × VhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ (fun φ x => (F φ x).2) φ x = (fun φ x => (F φ x).2) φ' x dsimp only X:Type u_3inst✝:NormedAddCommGroup XU:Sort u_4V:Type u_2W:Type u_1F:(X → U) → X → W × VhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ (F φ x).2 = (F φ' x).2; rw [h φ φ' hφ x hx X:Type u_3inst✝:NormedAddCommGroup XU:Sort u_4V:Type u_2W:Type u_1F:(X → U) → X → W × VhF:IsLocalizedFunctionTransform FK:Set XcK:IsCompact KL:Set XcL:IsCompact Lh:∀ (φ φ' : X → U), (∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xφ:X → Uφ':X → Uhφ:∀ x ∈ L, φ x = φ' xx:Xhx:x ∈ K⊢ (F φ' x).2 = (F φ' x).2 All goals completed! 🐙] All goals completed! 🐙⟩
lemma prod {F : (X → U) → X → W}
{G : (X → U) → X → V} (hF : IsLocalizedFunctionTransform F)
(hG : IsLocalizedFunctionTransform G) :
IsLocalizedFunctionTransform (fun φ x => (F φ x, G φ x)) := by X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform G⊢ IsLocalizedFunctionTransform fun φ x => (F φ x, G φ x)
intro K cK X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set XcK:IsCompact K⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → U),
(∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => (F φ x, G φ x)) φ x = (fun φ x => (F φ x, G φ x)) φ' x
obtain ⟨A,cA,hF⟩ := hF K cK X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' x⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → U),
(∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => (F φ x, G φ x)) φ x = (fun φ x => (F φ x, G φ x)) φ' x
obtain ⟨B,cB,hG⟩ := hG K cK X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' x⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → U),
(∀ x ∈ L, φ x = φ' x) → ∀ x ∈ K, (fun φ x => (F φ x, G φ x)) φ x = (fun φ x => (F φ x, G φ x)) φ' x
use A ∪ B h X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' x⊢ IsCompact (A ∪ B) ∧
∀ (φ φ' : X → U),
(∀ x ∈ A ∪ B, φ x = φ' x) → ∀ x ∈ K, (fun φ x => (F φ x, G φ x)) φ x = (fun φ x => (F φ x, G φ x)) φ' x
constructor h.left X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' x⊢ IsCompact (A ∪ B)h.right X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' x⊢ ∀ (φ φ' : X → U),
(∀ x ∈ A ∪ B, φ x = φ' x) → ∀ x ∈ K, (fun φ x => (F φ x, G φ x)) φ x = (fun φ x => (F φ x, G φ x)) φ' x
· h.left X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' x⊢ IsCompact (A ∪ B) exact cA.union cB All goals completed! 🐙
· h.right X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' x⊢ ∀ (φ φ' : X → U),
(∀ x ∈ A ∪ B, φ x = φ' x) → ∀ x ∈ K, (fun φ x => (F φ x, G φ x)) φ x = (fun φ x => (F φ x, G φ x)) φ' x intro φ φ' h x hx h.right X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ (fun φ x => (F φ x, G φ x)) φ x = (fun φ x => (F φ x, G φ x)) φ' x; dsimp h.right X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ (F φ x, G φ x) = (F φ' x, G φ' x)
rw[hF, h.right X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ (F ?h.right.φ' x, G φ x) = (F φ' x, G φ' x)h.right.φ' X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ X → Uh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ ∀ x ∈ A, φ x = ?h.right.φ' xh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ x ∈ K h.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ ∀ x ∈ B, φ x = φ' xh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ x ∈ Kh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ ∀ x ∈ A, φ x = φ' xh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ x ∈ KhG h.right X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ (F ?h.right.φ'✝ x, G ?h.right.φ' x) = (F φ' x, G φ' x)h.right.φ' X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ X → Uh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ ∀ x ∈ B, φ x = ?h.right.φ' xh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ x ∈ Kh.right.φ' X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ X → Uh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ ∀ x ∈ A, φ x = ?h.right.φ' xh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ x ∈ K h.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ ∀ x ∈ B, φ x = φ' xh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ x ∈ Kh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ ∀ x ∈ A, φ x = φ' xh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ x ∈ K]h.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ ∀ x ∈ B, φ x = φ' xh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ x ∈ Kh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ ∀ x ∈ A, φ x = φ' xh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ x ∈ K <;> h.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ ∀ x ∈ B, φ x = φ' xh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ x ∈ Kh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ ∀ x ∈ A, φ x = φ' xh.right.a X:Type u_2inst✝:NormedAddCommGroup XU:Sort u_3V:Type u_4W:Type u_1F:(X → U) → X → WG:(X → U) → X → VhF✝:IsLocalizedFunctionTransform FhG✝:IsLocalizedFunctionTransform GK:Set XcK:IsCompact KA:Set XcA:IsCompact AhF:∀ (φ φ' : X → U), (∀ x ∈ A, φ x = φ' x) → ∀ x ∈ K, F φ x = F φ' xB:Set XcB:IsCompact BhG:∀ (φ φ' : X → U), (∀ x ∈ B, φ x = φ' x) → ∀ x ∈ K, G φ x = G φ' xφ:X → Uφ':X → Uh:∀ x ∈ A ∪ B, φ x = φ' xx:Xhx:x ∈ K⊢ x ∈ K simp_all All goals completed! 🐙
omit [MeasureSpace Y] in
lemma adjFDeriv {dy} [NormedSpace ℝ X] [ProperSpace X]
[InnerProductSpace' ℝ X] [InnerProductSpace' ℝ Y] :
IsLocalizedFunctionTransform fun (φ : X → Y) x => adjFDeriv ℝ φ x dy := by X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ Y⊢ IsLocalizedFunctionTransform fun φ x => _root_.adjFDeriv ℝ φ x dy
intro K cK X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact K⊢ ∃ L,
IsCompact L ∧
∀ (φ φ' : X → Y),
(∀ x ∈ L, φ x = φ' x) →
∀ x ∈ K, (fun φ x => _root_.adjFDeriv ℝ φ x dy) φ x = (fun φ x => _root_.adjFDeriv ℝ φ x dy) φ' x
use (Metric.cthickening 1 K) h X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K) ∧
∀ (φ φ' : X → Y),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K, (fun φ x => _root_.adjFDeriv ℝ φ x dy) φ x = (fun φ x => _root_.adjFDeriv ℝ φ x dy) φ' x
constructor h.left X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K)h.right X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact K⊢ ∀ (φ φ' : X → Y),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K, (fun φ x => _root_.adjFDeriv ℝ φ x dy) φ x = (fun φ x => _root_.adjFDeriv ℝ φ x dy) φ' x
· h.left X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact K⊢ IsCompact (Metric.cthickening 1 K) exact IsCompact.cthickening cK All goals completed! 🐙
· h.right X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact K⊢ ∀ (φ φ' : X → Y),
(∀ x ∈ Metric.cthickening 1 K, φ x = φ' x) →
∀ x ∈ K, (fun φ x => _root_.adjFDeriv ℝ φ x dy) φ x = (fun φ x => _root_.adjFDeriv ℝ φ x dy) φ' x intro φ φ' hφ x hx h.right X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ (fun φ x => _root_.adjFDeriv ℝ φ x dy) φ x = (fun φ x => _root_.adjFDeriv ℝ φ x dy) φ' x
unfold _root_.adjFDeriv h.right X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ (fun φ x => adjoint ℝ (⇑(_root_.fderiv ℝ φ x)) dy) φ x = (fun φ x => adjoint ℝ (⇑(_root_.fderiv ℝ φ x)) dy) φ' x
simp only h.right X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ adjoint ℝ (⇑(_root_.fderiv ℝ φ x)) dy = adjoint ℝ (⇑(_root_.fderiv ℝ φ' x)) dy
congr 1 h.right.e_f X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ ⇑(_root_.fderiv ℝ φ x) = ⇑(_root_.fderiv ℝ φ' x)
simp only [DFunLike.coe_fn_eq] h.right.e_f X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x
have h : φ =ᶠ[nhds x] φ' := by X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ Y⊢ IsLocalizedFunctionTransform fun φ x => _root_.adjFDeriv ℝ φ x dy h.right.e_f X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x
apply Filter.eventuallyEq_of_mem (s := Metric.thickening 1 K) hs X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ Metric.thickening 1 K ∈ nhds xh X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ Set.EqOn φ φ' (Metric.thickening 1 K) h.right.e_f X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x
· hs X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ Metric.thickening 1 K ∈ nhds xh.right.e_f X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x apply Metric.isOpen_thickening.mem_nhds hs X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ x ∈ Metric.thickening 1 Kh.right.e_f X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x
exact Metric.self_subset_thickening one_pos K hx All goals completed! 🐙h.right.e_f X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x
· h X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ K⊢ Set.EqOn φ φ' (Metric.thickening 1 K)h.right.e_f X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x intro y hy h X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Ky:Xhy:y ∈ Metric.thickening 1 K⊢ φ y = φ' yh.right.e_f X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x
exact hφ y (Metric.thickening_subset_cthickening 1 K hy)h.right.e_f X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' xh.right.e_f X:Type u_1inst✝⁶:NormedAddCommGroup XY:Type u_2inst✝⁵:NormedAddCommGroup Yinst✝⁴:NormedSpace ℝ Ydy:Yinst✝³:NormedSpace ℝ Xinst✝²:ProperSpace Xinst✝¹:InnerProductSpace' ℝ Xinst✝:InnerProductSpace' ℝ YK:Set XcK:IsCompact Kφ:X → Yφ':X → Yhφ:∀ x ∈ Metric.cthickening 1 K, φ x = φ' xx:Xhx:x ∈ Kh:φ =ᶠ[nhds x] φ'⊢ _root_.fderiv ℝ φ x = _root_.fderiv ℝ φ' x
exact Filter.EventuallyEq.fderiv_eq h All goals completed! 🐙