[Merged by Bors] - feat(Combinatorics/SimpleGraph/Walk): add penultimate and snd#16769
[Merged by Bors] - feat(Combinatorics/SimpleGraph/Walk): add penultimate and snd#16769Command-Master wants to merge 10 commits intomasterfrom
penultimate and snd#16769Conversation
PR summary bd757c1549Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
penultimate and snd penultimate and snd
pimotte
left a comment
There was a problem hiding this comment.
There's still a getVert 1 in WalkCounting.lean, other than that, looks good to me:)
penultimate and sndpenultimate and snd
YaelDillies
left a comment
There was a problem hiding this comment.
List.snd doesn' exist. How do you justify Walk.snd?
|
Here are a few reasons for it:
|
YaelDillies
left a comment
There was a problem hiding this comment.
Okay great! Can you make this comment be your PR description?
maintainer delegate
|
Updated |
|
maintainer merge |
|
@YaelDillies it doesn't seem to be active yet - could you |
|
Hmm, interesting maintainer merge |
|
🚀 Pull request has been placed on the maintainer queue by YaelDillies. |
|
To be honest I remain a little skeptical even about adding this level of synonyms. It seems the simplifications that are achieved in this PR come from dropping some unused proof obligations, which it seems could be done separately without introducing Another suggestion would be to set up a (One might even experiment with adding a |
|
The simplifications here aren't the point — my main reason for this is use in #16382 and further work I haven't PRd yet. A |
|
I think these look somewhat reasonable - |
I use it to root a |
|
Thanks! bors merge |
…6769) Here are some reasons for it: - We want to add `penultimate`, as `p.getVert (p.length - 1)` duplicates `p`, and `snd` should exist for symmetry. - In some cases it makes sense to consider the vertices of a walk without the first/last one, and then this is the walk version of `List.head`/`List.last`, not `l[1]`/`l[l.size-2]` - In walks the first/last node and adjacency are a lot more important than they usually are in lists, so it makes more sense to have a special term for the node adjacent to the first/last node. - Walks always have a sensible default, so there's no need for the "take a proof/default value/panic/return an option" duplication which lists have and so this doesn't require much API. Co-authored-by: Daniel Weber <55664973+Command-Master@users.noreply.github.com>
|
Pull request successfully merged into master. Build succeeded: |
penultimate and sndpenultimate and snd
* origin/master: (189 commits) chore(Algebra): make more names consistent (#20449) feat: Polynomial FLT (#18882) feat: A disjoint union is finite iff all sets are finite, and all but finitely many are empty (#20457) fix: linkfix in 100.yaml (#20517) feat(1000): fill in more entries (#20470) feat(Combinatorics/SimpleGraph/Walk): add `penultimate` and `snd` (#16769) feat(ContinuousMultilinearMap): add lemmas about `.prod` (#20462) feat(RingTheory): classification of etale algebras over fields (#20324) fix: Allow multiple builds on staging branch (#20515) feat(CategoryTheory/Shift/Adjunction): properties of `Adjunction.CommShift` (#20337) chore(Data/Multiset/Basic): move the `sub`, `union`, `inter` sections lower (#19863) chore(Topology/UniformSpace/Completion): make coe' argument implicit (#20514) refactor(Algebra/Category/Grp/Colimits): change the construction of colimits in `AddCommGrp` (#20474) feat(Topology/Algebra/InfiniteSum/NatInt): Add pnat lems (#16544) chore(RingTheory/Finiteness): rename Module.Finite.out (#20506) refactor(CategoryTheory/Limits/Preserves/Ulift): simplify the proof that the universe lifting functor for types preserves all colimits (#20508) feat(CategoryTheory): products in the category of Ind-objects (#20507) chore: remove >9 month old deprecations (#20505) chore(FieldTheory/Galois): small cleanup (#20217) chore(LinearIndependent): generalize to semirings (#20480) chore(NumberTheory/NumberField/AdeleRing): refactor adele rings (#20500) chore: replace `aesop` with `simp` where possible (#20483) chore(1000): remove nonexistent fields (#20493) chore(CategoryTheory/Adjunction.Basic, CategoryTheory/Equivalence): change definition of `Adjunction.comp` and `Equivalence.trans` (#20490) feat(Asymptotics): add `Asymptotics.*.*Prod` lemmas (#20458) feat: a conditional kernel is almost everywhere a probability measure (#20430) feat: if `f` is a measurable group hom, then every point has a neighborhood `s` such that `f '' s` is bounded (#20304) feat: `Ico`, `Ioc`, and `Ioo` are not closed or compact (#20479) chore: drop redundant hypothesis in `Module.Dual.eq_of_preReflection_mapsTo` (#20492) feat(FaaDiBruno): derive `DecidableEq` (#20482) chore(SetTheory/Ordinal/Basic): `{x // x < y}` → `Iio y` (#20413) chore: generalize `FormalMultilinearSeries.ofScalars_norm` to `Seminormed` (#20351) chore(MvPolynomial/Localization): golf using TensorProduct (#20309) chore(Combinatorics/Enumerative/Partition): auto-derive DecidableEq (#20277) chore(CategoryTheory): make relevant parameters explicit in `Arrow.homMk`. (#20259) feat: add `IsStarNormal (↑x⁻¹ : R)` instance for `x : Rˣ` (#20091) fix: Stop cancelling builds of master (#20435) chore: update Mathlib dependencies 2025-01-05 (#20485) feat(SetTheory/Cardinal/Arithmetic): miscellaneous cardinality lemmas (#18933) chore: bump toolchain to v4.16.0-rc1, and merge bump/v4.16.0 (#20464) chore: bot validates lean-toolchain on bump/v4.X.0 branches (#20478) feat: shorthand lemmas for the L1 norm (#20383) chore: remove unnecessary adaptation notes (#20467) chore(Algebra/Category/MonCat/Colimits): remove smallness condition (#20473) chore(SetTheory/Ordinal/Arithmetic): `IsLeftCancelAdd Ordinal` (#19888) feat(Algebra): more on `OrthogonalIdempotents` (#18195) feat(Radical): `(radical a).natDegree ≤ a.natDegree` (#20468) feat(Polynomial): `(a^n)' = 0` iff `a' = 0` when `n` doesn't divide the characteristic (#20190) feat(Algebra/Lie): add Lie's theorem (#13480) chore(RingTheory/Generators): make algebra instance a def (#14265) ...
Here are some reasons for it:
penultimate, asp.getVert (p.length - 1)duplicatesp, andsndshould exist for symmetry.List.head/List.last, notl[1]/l[l.size-2]