[Merged by Bors] - feat: sets of doubling strictly less than 3/2#20572
[Merged by Bors] - feat: sets of doubling strictly less than 3/2#20572YaelDillies wants to merge 5 commits intomasterfrom
Conversation
From GrowthInGroups (LeanCamCombi) Co-authored-by: Bhavik Mehta <bhavik.mehta8@gmail.com
PR summary c90ab485fbImport changes exceeding 2%
|
| File | Base Count | Head Count | Change |
|---|---|---|---|
| Mathlib.Combinatorics.Additive.VerySmallDoubling | 687 | 827 | +140 (+20.38%) |
Import changes for all files
| Files | Import difference |
|---|---|
Mathlib.Combinatorics.Additive.VerySmallDoubling |
140 |
Declarations diff
+ card_inv_mul_of_doubling_lt_three_halves
+ doubling_lt_three_halves
+ instance (A : Finset G) (h) : Fintype (invMulSubgroup A h) := by
+ invMulSubgroup
+ invMulSubgroup_eq_inv_mul
+ invMulSubgroup_eq_mul_inv
+ mul_inv_eq_inv_mul_of_doubling_lt_two
+ smul_inv_mul_eq_inv_mul_opSMul
+ smul_inv_mul_opSMul_eq_mul_of_doubling_lt_three_halves
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
relativevalue is the weighted sum of the differences with weight given by the inverse of the current value of the statistic. - The
absolutevalue is therelativevalue divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).
|
I used Tointon's notes as a reference for this proof, and those reference Tao's blog. Let's mention both of them here. I wrote almost all of the original code here, so I don't feel comfortable maintainer merging it. But I'm happy with it otherwise. |
Ruben-VandeVelde
left a comment
There was a problem hiding this comment.
Not super confident, but no obvious issues.
maintainer merge
| Note that this is sharp: `A = {0, 1}` in `ℤ` has doubling `3 / 2` and can't be covered by a subgroup | ||
| of size at most `2`. |
There was a problem hiding this comment.
Seems like a nice thing to formalize :)
There was a problem hiding this comment.
I'm intentionally leaving future work for some master students to take up ;)
|
🚀 Pull request has been placed on the maintainer queue by Ruben-VandeVelde. |
From GrowthInGroups (LeanCamCombi) Co-authored-by: Bhavik Mehta <bhavik.mehta8@gmail.com
|
Pull request successfully merged into master. Build succeeded: |
From GrowthInGroups (LeanCamCombi) Co-authored-by: Bhavik Mehta <bhavik.mehta8@gmail.com
* origin/master: (88 commits) chore(scripts): update nolints.json (#20672) chore: de-simp `map_eq_zero_iff_eq_one` (#20662) feat(Combinatorics/SimpleGraph): add independent sets (#18608) chore(CategoryTheory/Limits/Cones): functoriality of `mapCone` (#20641) feat(Algebra/Category/ModuleCat): pullback of presheaves of modules (#17366) feat(AlgebraicTopology): model categories (#19158) chore(CategoryTheory): make NormalEpi/MonoCategory and RegularEpi/MonoCategory props (#19548) feat(Data/List/ReduceOption): add replicate theorems (#20644) feat: approximate subgroups (#20050) feat: use scoped trace nodes in linarith (#19855) feat: disjoint union of charted spaces (#20619) feat: add some term elaborators for reduction (#15192) feat(Topology/Category): category of delta-generated spaces (#19499) add a variable_alias for Quantale and AddQuantale (#19282) feat(Computability/DFA): implement `isRegular_iff` (#19940) chore: unpin and bump batteries and importgraph (#20651) chore: split `Mathlib/Algebra/Group/Int` (#20624) feat: three lemmas related to Hausdorff distance (#20585) chore: `initialize_simps_projections` for `Submodule` (#20582) feat(Order): Boolean algebra structure on idempotents (#20618) chore(CategoryTheory): moving/renaming Subpresheaf (#20583) refactor(IntermediateField/Adjoin): Split off relation to `Algebra.adjoin` (#20630) feat: sets of doubling strictly less than 3/2 (#20572) chore(TensorProduct): universe polymorphism in EquationalCriterion (#20452) feat: `s \ t ∩ u = (s ∩ u) \ t` (#20298) feat: product of subalgebras (#20202) feat: `Submodule.restrictScalars` commutes with `pow` (#20581) feat: `a ∈ s ^ n` iff there exists a sequence `f` of `n` elements of `s` such that `∏ i, f i = a` (#20580) chore: make `FooHom.coe_id` a `norm_cast` lemma (#20576) chore: use ofNat more (#20546) feat(CategoryTheory/Shift/Opposite and CategoryTheory/Shift/Pullback): `CommShift` structures on adjunctions are compatible with opposites and pullbacks (#20363) feat(FieldTheory/Differential/Liouville): prove the algebraic case of Liouville's theorem (#16797) refactor: remove the `CompactSpace` field from `Unique{NonUnital}ContinuousFunctionalCalculus` (#20590) feat: Make `PNat.recOn` induction eliminator (#20617) feat(Analysis/SpecialFunctions/Pow/Real): add some lemmas (#20608) feat: If `s ∆ t` is finite, then `s ∆ u` is finite iff `t ∆ u` is (#20574) feat: `⨅ i, f i ≤ ⨆ i, f i` (#20573) chore(Geometry/Manifold): move SmoothManifoldWithCorners.lean to IsManifold.lean (#20611) feat: AbsoluteValue.IsNontrivial (#20588) chore(Data/Finsupp): split off extensionality from `Defs.lean` (#19092) chore(Data/Set): split the `CoeSort` instance to its own file (#19031) feat(Algebra/Order/Archimedean/Basic): powers between two elements (#20612) feature(Algebra/Ring/Idempotents): product of an idempotent and its complement (#20286) chore: cleanup more `erw` (#20601) chore(GroupTheory/CoprodI): shorten proof of lift_word_prod_nontrivial_of_not_empty (#20587) chore: cleanup imports in PrimePow/Divisors (#20626) chore: split Algebra/BigOperators/Group/List (#20625) chore: reduce Topology->Order imports by moving content (#20627) chore(Algebra/Lie/DirectSum): shorten proof of lieAlgebraOf.map_lie' (#20592) refactor: Split `FieldTheory/Adjoin.lean` into `Defs.lean` and `Basic.lean` (#20333) ...
From GrowthInGroups (LeanCamCombi)
Co-authored-by: Bhavik Mehta <bhavik.mehta8@gmail.com