Skip to content

[Merged by Bors] - feat: add @[simp] to Multiset.cons_le_cons and Finset.insert_subset_insert#28285

Closed
ShreckYe wants to merge 2 commits intoleanprover-community:masterfrom
ShreckYe:simp-cons_le_cons
Closed

[Merged by Bors] - feat: add @[simp] to Multiset.cons_le_cons and Finset.insert_subset_insert#28285
ShreckYe wants to merge 2 commits intoleanprover-community:masterfrom
ShreckYe:simp-cons_le_cons

Conversation

@ShreckYe
Copy link
Copy Markdown
Contributor

@ShreckYe ShreckYe commented Aug 12, 2025

I see some other similar theorems such as List.cons_sublist_cons and Finset.cons_subset_cons are already marked with @[simp] annotations. Doing this enables the following statements to be proved simpler with a single simp, which in turn makes proofs more easily found by proof search tactics:

example a b c : {a, b} ≤ ({a, b, c} : Multiset ℝ) := by
  simp

example a b : {a, b} ≤ ({a, a, b, b} : Multiset ℝ) := by
  simp

example a b c : {a, b} ⊆ ({a, b, c} : Finset ℝ) := by
  simp

@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 Aug 12, 2025
@github-actions
Copy link
Copy Markdown

github-actions bot commented Aug 12, 2025

PR summary c4f569f9f2

Import changes for modified files

No significant changes to the import graph

Import changes for all files
Files Import difference

Declarations diff

No declarations were harmed in the making of this PR! 🐙

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

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

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


No changes to technical debt.

You can run this locally as

./scripts/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-data Data (lists, quotients, numbers, etc) label Aug 12, 2025
@ShreckYe
Copy link
Copy Markdown
Contributor Author

easy

@github-actions github-actions bot added the easy < 20s of review time. See the lifecycle page for guidelines. label Aug 12, 2025
Copy link
Copy Markdown
Contributor

@Ruben-VandeVelde Ruben-VandeVelde left a comment

Choose a reason for hiding this comment

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

maintainer delegate

@github-actions
Copy link
Copy Markdown

🚀 Pull request has been placed on the maintainer queue by Ruben-VandeVelde.

@ghost ghost added the maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. label Aug 13, 2025
@ShreckYe

This comment was marked as off-topic.

@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Aug 14, 2025

🔒 Permission denied

Existing reviewers: click here to make ShreckYe a reviewer

@ShreckYe

This comment was marked as off-topic.

@ShreckYe

This comment was marked as off-topic.

@bryangingechen
Copy link
Copy Markdown
Contributor

Thanks!
bors r+

@ghost ghost added ready-to-merge This PR has been sent to bors. and removed maintainer-merge A reviewer has approved the changed; awaiting maintainer approval. labels Aug 15, 2025
mathlib-bors bot pushed a commit that referenced this pull request Aug 15, 2025
…set_insert` (#28285)

I see some other similar theorems such as `List.cons_sublist_cons` and `Finset.cons_subset_cons` are already marked with `@[simp]` annotations. Doing this enables the following statements to be proved simpler with a single `simp`, which in turn makes proofs more easily found by proof search tactics:

```lean
example a b c : {a, b} ≤ ({a, b, c} : Multiset ℝ) := by
  simp

example a b : {a, b} ≤ ({a, a, b, b} : Multiset ℝ) := by
  simp

example a b c : {a, b} ⊆ ({a, b, c} : Finset ℝ) := by
  simp
```
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Aug 15, 2025

This PR was included in a batch that successfully built, but then failed to merge into master (it was a non-fast-forward update). It will be automatically retried.

mathlib-bors bot pushed a commit that referenced this pull request Aug 15, 2025
…set_insert` (#28285)

I see some other similar theorems such as `List.cons_sublist_cons` and `Finset.cons_subset_cons` are already marked with `@[simp]` annotations. Doing this enables the following statements to be proved simpler with a single `simp`, which in turn makes proofs more easily found by proof search tactics:

```lean
example a b c : {a, b} ≤ ({a, b, c} : Multiset ℝ) := by
  simp

example a b : {a, b} ≤ ({a, a, b, b} : Multiset ℝ) := by
  simp

example a b c : {a, b} ⊆ ({a, b, c} : Finset ℝ) := by
  simp
```
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Aug 15, 2025

Build failed (retrying...):

mathlib-bors bot pushed a commit that referenced this pull request Aug 15, 2025
…set_insert` (#28285)

I see some other similar theorems such as `List.cons_sublist_cons` and `Finset.cons_subset_cons` are already marked with `@[simp]` annotations. Doing this enables the following statements to be proved simpler with a single `simp`, which in turn makes proofs more easily found by proof search tactics:

```lean
example a b c : {a, b} ≤ ({a, b, c} : Multiset ℝ) := by
  simp

example a b : {a, b} ≤ ({a, a, b, b} : Multiset ℝ) := by
  simp

example a b c : {a, b} ⊆ ({a, b, c} : Finset ℝ) := by
  simp
```
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Aug 15, 2025

This PR was included in a batch that was canceled, it will be automatically retried

mathlib-bors bot pushed a commit that referenced this pull request Aug 16, 2025
…set_insert` (#28285)

I see some other similar theorems such as `List.cons_sublist_cons` and `Finset.cons_subset_cons` are already marked with `@[simp]` annotations. Doing this enables the following statements to be proved simpler with a single `simp`, which in turn makes proofs more easily found by proof search tactics:

```lean
example a b c : {a, b} ≤ ({a, b, c} : Multiset ℝ) := by
  simp

example a b : {a, b} ≤ ({a, a, b, b} : Multiset ℝ) := by
  simp

example a b c : {a, b} ⊆ ({a, b, c} : Finset ℝ) := by
  simp
```
mathlib-bors bot pushed a commit that referenced this pull request Aug 16, 2025
…set_insert` (#28285)

I see some other similar theorems such as `List.cons_sublist_cons` and `Finset.cons_subset_cons` are already marked with `@[simp]` annotations. Doing this enables the following statements to be proved simpler with a single `simp`, which in turn makes proofs more easily found by proof search tactics:

```lean
example a b c : {a, b} ≤ ({a, b, c} : Multiset ℝ) := by
  simp

example a b : {a, b} ≤ ({a, a, b, b} : Multiset ℝ) := by
  simp

example a b c : {a, b} ⊆ ({a, b, c} : Finset ℝ) := by
  simp
```
@mathlib-bors
Copy link
Copy Markdown
Contributor

mathlib-bors bot commented Aug 16, 2025

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: add @[simp] to Multiset.cons_le_cons and Finset.insert_subset_insert [Merged by Bors] - feat: add @[simp] to Multiset.cons_le_cons and Finset.insert_subset_insert Aug 16, 2025
@mathlib-bors mathlib-bors bot closed this Aug 16, 2025
Julian added a commit to Aaron1011/mathlib4 that referenced this pull request Aug 16, 2025
* origin/master: (508 commits)
  feat(Logic/Basic): forall_and_index (leanprover-community#27737)
  feat(Algebra/intNorm): `x` divides `intNorm x` (leanprover-community#28021)
  feat(RingTheory/MvPolynomial/MonomialOrder): some lemmas about degree (leanprover-community#26000)
  chore: more elementary Motzkin polynomial proof (leanprover-community#28482)
  feat: e-seminormed monoid (leanprover-community#27385)
  feat(RingTheory): ` (⊥ : Ideal R) ^ n = ⊥` (leanprover-community#28171)
  fix(LinearAlgebra/Dimension/ErdosKaplansky): authorship (leanprover-community#28513)
  chore: golf entire `X_pow_eq_monomial` (leanprover-community#28504)
  feat(RingTheory): invertible modules and Picard group (leanprover-community#25337)
  chore: use delta `deriving` for leanprover-community#380 (leanprover-community#28498)
  feat: add bilinear maps for vector/matrix products (leanprover-community#28130)
  feat(Counterexamples): topologists' sine curve (leanprover-community#25833)
  feat(Analysis/Convex): doubly stochastic matrices have operator norm at most one (leanprover-community#28453)
  chore(Topology/Compactification): deprecate duplicate `ultrafilter_pure_injective` (leanprover-community#28436)
  feat: add `@[simp]` to `Multiset.cons_le_cons` and `Finset.insert_subset_insert` (leanprover-community#28285)
  feat: make `ring` work for semifields (leanprover-community#28494)
  feat: filtering lists and bounded quantifiers are primitive recursive (leanprover-community#26295)
  chore(Analysis/Analytic): split `Analytic.Basic` (leanprover-community#26270)
  refactor: tidy `mulVec` and `vecMul` lemmas about `•` (leanprover-community#28450)
  feat(Order/WellFounded): Acc and infinite descending chain (leanprover-community#28120)
  feat(NumberTheory/Padics): {Int,Rat}.padicValuation (leanprover-community#27667)
  chore(*): address a few timeout-related porting notes (leanprover-community#28483)
  feat(Algebra): toAlgebra_algebraMap (leanprover-community#28238)
  feat(Shrink): `IsCancelMul` instance (leanprover-community#28407)
  chore(Geometry): golf entire `chart_eq'` and `orthogonalProjection_orthogonalProjection` (leanprover-community#28485)
  feat: shifted geometric series and a `ProbabilityMeasure` version of `measure_iUnion_le` (leanprover-community#28087)
  chore(LinearAlgebra/PiTensorProduct): `rw` away use of `erw` in `lifts_zero` (leanprover-community#27554)
  feat(RingTheory): faithfully flat ring maps (leanprover-community#24530)
  chore(Geometry/RingedSpace): remove use of `erw` in `stalkSpecializes_stalkMap` (leanprover-community#27656)
  chore: add the Brownian motion project to downstream_repos.yml (leanprover-community#28459)
  feat(CategoryTheory/Sites/SheafOfTypes): composition of a sheaf with uliftFunctor is still a sheaf (leanprover-community#27816)
  feat(Valuation/DiscreteValuationRel): val relations with compatible valuations to Zm0 are IsDiscrete (leanprover-community#27213)
  chore(*): process a bunch of `aesop`-related porting notes (leanprover-community#28402)
  feat(CategoryTheory): abstract argument for the stability under transfinite compositions (leanprover-community#26030)
  chore: bump toolchain to v4.23.0-rc2 (leanprover-community#28454)
  chore(FieldTheory/Finite): fermat's little theorem in Nat form (leanprover-community#27962)
  feat(Combinatorics/SimpleGraph/Paths): add theorem `SimpleGraph.Walk.IsPath.concat` (leanprover-community#27582)
  feat(Slope): slope_pos_iff_of_le and related lemmas (leanprover-community#28039)
  feat: tactic analysis framework (leanprover-community#26683)
  chore(Data/EReal): deprecate `add_pos_of_nonneg_of_pos` and `add_ne_top_iff_of_ne_bot` (duplicates) (leanprover-community#28424)
  feat(MathlibTest/FieldSimp): add a few more tests (leanprover-community#28413)
  chore(RingTheory/HahnSeries): deprecate duplicate `orderTop_add_orderTop_le_orderTop_mul` (leanprover-community#28231)
  chore(AlgebraicGeometry/IdealSheaf): deprecate duplicate `AlgebraicGeometry.Scheme.IdealSheafData.Scheme.zeroLocus_radical` (leanprover-community#28202)
  feat(Algebra/Order): ArchimedeanClass ball (leanprover-community#27885)
  chore(Geometry/RingedSpace): remove use of `erw` in `isUnit_of_isUnit_germ` (leanprover-community#27660)
  feat(SkewMonoidAlgebra): coeff_mul lemmas (leanprover-community#27255)
  chore(LinearAlgebra): golf entire `isUnit_det` (leanprover-community#28438)
  chore(FieldTheory/IntermediateField): golf entire `coe_sum` and `coe_prod` (leanprover-community#28431)
  feat: separate linter error message for empty doc-strings (leanprover-community#27895)
  feat(RingTheory/PowerSeries/Binomial): add basic lemmas, golf (leanprover-community#27497)
  ...
Paul-Lez pushed a commit to Paul-Lez/mathlib4 that referenced this pull request Aug 23, 2025
…set_insert` (leanprover-community#28285)

I see some other similar theorems such as `List.cons_sublist_cons` and `Finset.cons_subset_cons` are already marked with `@[simp]` annotations. Doing this enables the following statements to be proved simpler with a single `simp`, which in turn makes proofs more easily found by proof search tactics:

```lean
example a b c : {a, b} ≤ ({a, b, c} : Multiset ℝ) := by
  simp

example a b : {a, b} ≤ ({a, a, b, b} : Multiset ℝ) := by
  simp

example a b c : {a, b} ⊆ ({a, b, c} : Finset ℝ) := by
  simp
```
pechersky pushed a commit to pechersky/mathlib4 that referenced this pull request Aug 25, 2025
…set_insert` (leanprover-community#28285)

I see some other similar theorems such as `List.cons_sublist_cons` and `Finset.cons_subset_cons` are already marked with `@[simp]` annotations. Doing this enables the following statements to be proved simpler with a single `simp`, which in turn makes proofs more easily found by proof search tactics:

```lean
example a b c : {a, b} ≤ ({a, b, c} : Multiset ℝ) := by
  simp

example a b : {a, b} ≤ ({a, a, b, b} : Multiset ℝ) := by
  simp

example a b c : {a, b} ⊆ ({a, b, c} : Finset ℝ) := by
  simp
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

easy < 20s of review time. See the lifecycle page for guidelines. new-contributor This PR was made by a contributor with at most 5 merged PRs. Welcome to the community! ready-to-merge This PR has been sent to bors. t-data Data (lists, quotients, numbers, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants