Skip to content

Commit 730f55b

Browse files
committed
feat(Algebra/GroupWithZero/Action/Pointwise/Finset): add ₀ variants (leanprover-community#38103)
These lemmas all have `Group` versions, and so we add `GroupWithZero` variants.
1 parent 1bb4553 commit 730f55b

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

  • Mathlib/Algebra/GroupWithZero/Action/Pointwise

Mathlib/Algebra/GroupWithZero/Action/Pointwise/Finset.lean

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,10 @@ lemma smul_finset_symmDiff₀ (ha : a ≠ 0) : a • s ∆ t = (a • s) ∆ (a
131131
lemma smul_finset_univ₀ [Fintype β] (ha : a ≠ 0) : a • (univ : Finset β) = univ :=
132132
coe_injective <| by push_cast; exact Set.smul_set_univ₀ ha
133133

134+
@[simp]
135+
lemma smul_finset_eq_univ₀ [Fintype β] (ha : a ≠ 0) : a • s = univ ↔ s = univ := by
136+
exact_mod_cast smul_finset_eq_univ (α := Units α) (a := Units.mk0 a ha)
137+
134138
lemma smul_univ₀ [Fintype β] {s : Finset α} (hs : ¬s ⊆ 0) : s • (univ : Finset β) = univ :=
135139
coe_injective <| by
136140
rw [← coe_subset] at hs
@@ -140,6 +144,16 @@ lemma smul_univ₀ [Fintype β] {s : Finset α} (hs : ¬s ⊆ 0) : s • (univ :
140144
lemma smul_univ₀' [Fintype β] {s : Finset α} (hs : s.Nontrivial) : s • (univ : Finset β) = univ :=
141145
coe_injective <| by push_cast; exact Set.smul_univ₀' hs
142146

147+
@[simp]
148+
lemma card_smul_finset₀ (ha : a ≠ 0) (s : Finset β) : (a • s).card = s.card :=
149+
card_image_of_injective _ (MulAction.injective₀ ha)
150+
151+
/-- If the left cosets of `t` by elements of `s` are disjoint (but not necessarily distinct!), then
152+
the size of `t` divides the size of `s • t`. -/
153+
lemma card_dvd_card_smul_right₀ {s : Finset α} (hs : ∀ a ∈ s, a ≠ 0) :
154+
((· • t) '' (s : Set α)).PairwiseDisjoint id → t.card ∣ (s • t).card :=
155+
card_dvd_card_image₂_right fun a ha => MulAction.injective₀ (hs a ha)
156+
143157
end MulAction
144158

145159
variable [DecidableEq α] {s : Finset α}

0 commit comments

Comments
 (0)