Skip to content

feat(Analysis/InnerProductSpace/Reproducing): Lemmata for reproducing kernels#37533

Open
TJHeeringa wants to merge 3 commits intoleanprover-community:masterfrom
TJHeeringa:reproducing_kernel_lemmata
Open

feat(Analysis/InnerProductSpace/Reproducing): Lemmata for reproducing kernels#37533
TJHeeringa wants to merge 3 commits intoleanprover-community:masterfrom
TJHeeringa:reproducing_kernel_lemmata

Conversation

@TJHeeringa
Copy link
Copy Markdown
Contributor

@TJHeeringa TJHeeringa commented Apr 2, 2026


These are several lemmata regarding pointwise properties of reproducing kernels.

norm_le_sq_norm_mul_diag and norm_sq_le_norm_mul_diag follow from Cauchy-Schwartz on kerFun but are expressed in terms of the kernel. The names contain diag because a kernel is an infinite dimension matrix and thus kernel H x x and kernel H y y are diagonal elements.

zero_row_iff_zero_diag and zero_col_iff_zero_diag have the same proof. One implies the other due to the kernel being Hermitian.

AI:
I wrote the proofs myself, and then asked Claude to compact them because they were too long and I could see that they could be shortened. It gave some good suggestions but mostly broke the proofs, so fixed and compacted it myself (taking into account its useful suggestions).

Open in Gitpod

@github-actions github-actions bot added the new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! label Apr 2, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 2, 2026

Welcome new contributor!

Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests.

We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the awaiting-author tag, or another reason described in the Lifecycle of a PR. The review dashboard has a dedicated webpage which shows whether your PR is on the review queue, and (if not), why.

If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR.

Thank you again for joining our community.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 2, 2026

PR summary 18a09f9093

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

+ norm_kerFun_eq_sqrt_norm_kernel
+ norm_kerFun_sq_eq_norm_kernel
+ norm_kernel_eq_zero_iff
+ norm_kernel_eq_zero_iff'
+ norm_kernel_le
+ norm_kernel_sq_le

You can run this locally as follows
## summary with just the declaration names:
./scripts/pr_summary/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/pr_summary/declarations_diff.sh long <optional_commit>

The doc-module for scripts/pr_summary/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/reporting/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@github-actions github-actions bot added the t-analysis Analysis (normed *, calculus) label Apr 2, 2026
⟪kernel H x y v, w⟫_𝕜 = ⟪kerFun H y v, kerFun H x w⟫_𝕜 := by
simp [← adjoint_inner_left, kernel]

lemma norm_kerFun_sq_eq_norm_kernel {x} : ‖kerFun H x‖ ^ 2 = ‖kernel H x x‖ := by
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
lemma norm_kerFun_sq_eq_norm_kernel {x} : ‖kerFun H x‖ ^ 2 = ‖kernel H x x‖ := by
lemma norm_kerFun_sq_eq_norm_kernel (x) : ‖kerFun H x‖ ^ 2 = ‖kernel H x x‖ := by

lemma norm_kerFun_sq_eq_norm_kernel {x} : ‖kerFun H x‖ ^ 2 = ‖kernel H x x‖ := by
rw [sq, ← ContinuousLinearMap.norm_adjoint_comp_self, kernel_apply]

lemma norm_kerFun_eq_sqrt_norm_kernel {x} : ‖kerFun H x‖ = √‖kernel H x x‖ := by
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
lemma norm_kerFun_eq_sqrt_norm_kernel {x} : ‖kerFun H x‖ = √‖kernel H x x‖ := by
lemma norm_kerFun_eq_sqrt_norm_kernel (x) : ‖kerFun H x‖ = √‖kernel H x x‖ := by

lemma norm_kerFun_eq_sqrt_norm_kernel {x} : ‖kerFun H x‖ = √‖kernel H x x‖ := by
rw [← norm_kerFun_sq_eq_norm_kernel, Real.sqrt_sq (norm_nonneg _)]

lemma norm_kernel_le {x y} : ‖kernel H x y‖ ≤ √‖kernel H x x‖ * √‖kernel H y y‖ :=
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
lemma norm_kernel_le {x y} : ‖kernel H x y‖ ≤ √‖kernel H x x‖ * √‖kernel H y y‖ :=
lemma norm_kernel_le (x y) : ‖kernel H x y‖ ≤ √‖kernel H x x‖ * √‖kernel H y y‖ :=

(opNorm_comp_le _ _).trans_eq <| by simp_rw [LinearIsometryEquiv.norm_map,
norm_kerFun_eq_sqrt_norm_kernel]

lemma norm_kernel_sq_le {x y} : ‖kernel H x y‖ ^ 2 ≤ ‖kernel H x x‖ * ‖kernel H y y‖ := by
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
lemma norm_kernel_sq_le {x y} : ‖kernel H x y‖ ^ 2 ≤ ‖kernel H x x‖ * ‖kernel H y y‖ := by
lemma norm_kernel_sq_le (x y) : ‖kernel H x y‖ ^ 2 ≤ ‖kernel H x x‖ * ‖kernel H y y‖ := by

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! t-analysis Analysis (normed *, calculus)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants