Conversation
…s by |V| Prove that every eigenvalue of the Laplacian of a finite simple graph is at most the number of vertices, via complete-graph comparison of the Rayleigh quotient. Also record the underlying quadratic-form bound.
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 If you haven't already done so, please come to Zulip and join the Lean community. |
✅ PR Title Formatted CorrectlyThe title of this PR has been updated to match our commit style conventions. |
PR summary 5945e6f8cdImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
Prove the eigenvalue card bound via HasEigenvalue/Rayleigh using only APIs already imported by LapMatrix, avoiding Analysis.Matrix.Spectrum (+599 transitive imports) and PiL2.
|
Welcome! |
…ld bounds Extract `lapMatrix_toLinearMap₂'_mono` for `G ≤ H`, rewrite the card bound via `le_top`, and state the quadratic-form / eigenvalue inequalities over a linearly ordered field (same style as `posSemidef_lapMatrix`).
…emma Inline the Rayleigh argument into `eigenvalues_lapMatrix_le_card` and delete `eigenvalue_lapMatrix_le_card`, keeping a single HasEigenvalue API. Deletions: - SimpleGraph.eigenvalue_lapMatrix_le_card
…card bound Apply Snir review suggestions: binder/simp/zero_le_two/Fintype.card notation, and replace the mono+complete-graph calc with a one-line grw.
Apply remaining Snir suggestion: `dotProduct_mulVec_lapMatrix_le_card G x`.
… G on hquad G is a section variable, so `dotProduct_mulVec_lapMatrix_le_card G x` mis-applies G as a Type argument. Call with `(R := R) x` instead.
Elaboration expects explicit G after R; Snir's `G x` needs `(R := R)` first so G is not consumed as a Type.
|
-awaiting-author |
|
Could you please comment on LLM-use as I've asked above? Thanks! |
I used an LLM (Grok) to check whether LapMatrix.lean already had a card bound (it did not) and to sketch the complete-graph / Rayleigh argument. I wrote and compiled the Lean in this file myself, including the ordered-field change, the G ≤ H lemma, dropping the extra eigenpair spelling, and the (R := R) G x binder fix. |
R and G are explicit section variables; matches lapMatrix_toLinearMap₂' R G x.
Keep only eigenvalues_lapMatrix_le_card as a new main result; mono and form bound stay as lemmas but drop out of the module header.
Restructure dotProduct_mulVec_lapMatrix_le_card and eigenvalues_lapMatrix_le_card with backwards reasoning so the mono / Rayleigh steps land as goals instead of textbook haves.
Form bound via convert/simp; eigenvalues via term-mode hxpos then rw + exact. Drops nested have/show scaffolding.
Co-authored-by: Snir Broshi <26556598+SnirBroshi@users.noreply.github.com>
Co-authored-by: Snir Broshi <26556598+SnirBroshi@users.noreply.github.com>
Co-authored-by: Snir Broshi <26556598+SnirBroshi@users.noreply.github.com>
Co-authored-by: Snir Broshi <26556598+SnirBroshi@users.noreply.github.com>
Co-authored-by: Snir Broshi <26556598+SnirBroshi@users.noreply.github.com>
Co-authored-by: Snir Broshi <26556598+SnirBroshi@users.noreply.github.com>
Co-authored-by: Snir Broshi <26556598+SnirBroshi@users.noreply.github.com>
Co-authored-by: Snir Broshi <26556598+SnirBroshi@users.noreply.github.com>
|V|
|
@Parcly-Taxel Why LLM-generated? They said
|
|
-awaiting-author |
Prove that every Laplacian eigenvalue of a finite simple graph is at most
the number of vertices, via comparison of the Rayleigh quotient with the
complete graph. Also record the underlying quadratic-form bound
xᵀ L x ≤ |V| · ‖x‖².Adds
dotProduct_mulVec_lapMatrix_le_cardandeigenvalues_lapMatrix_le_cardin
LapMatrix.leanonly. The claim is the uniform boundλ ≤ |V|for everyindexed eigenvalue; it does not assert
|V| ∈ spectrumfor every graph.Searched existing LapMatrix API (PSD,
zero_mem_spectrum_lapMatrix,lapMatrix_top) and did not find a card upper bound under another name.Happy to rename if a preferred lemma already exists.