Skip to content

Commit 109eba6

Browse files
committed
feat(Analysis/Convex/Combination): centerMass_const, centerMass_congr (#31451)
Add the lemma: ```lean lemma Finset.centerMass_const (hw : ∑ j ∈ t, w j ≠ 0) (c : E) : t.centerMass w (Function.const _ c) = c := by ``` along with various congruence lemmas that help with applying this in cases where the points are constant for the nonzero weights in `t`, but not necessarily everywhere.
1 parent 9686731 commit 109eba6

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

Mathlib/Analysis/Convex/Combination.lean

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,34 @@ end Finset
144144

145145
variable {z}
146146

147+
lemma Finset.centerMass_const (hw : ∑ j ∈ t, w j ≠ 0) (c : E) :
148+
t.centerMass w (Function.const _ c) = c := by
149+
simp [centerMass, ← sum_smul, hw]
150+
151+
lemma Finset.centerMass_congr [DecidableEq ι] {t' : Finset ι} {w' : ι → R} {z' : ι → E}
152+
(h : ∀ i, (i ∈ t ∧ w i ≠ 0 ∨ i ∈ t' ∧ w' i ≠ 0) → i ∈ t ∩ t' ∧ w i = w' i ∧ z i = z' i) :
153+
t.centerMass w z = t'.centerMass w' z' := by
154+
classical
155+
rw [← centerMass_filter_ne_zero, centerMass, ← centerMass_filter_ne_zero, centerMass]
156+
congr 1
157+
· congr 1
158+
exact sum_congr (by grind) (by grind)
159+
· exact sum_congr (by grind) (by grind)
160+
161+
lemma Finset.centerMass_congr_finset [DecidableEq ι] {t' : Finset ι}
162+
(h : ∀ i ∈ t ∪ t', w i ≠ 0 → i ∈ t ∩ t') : t.centerMass w z = t'.centerMass w z :=
163+
centerMass_congr (by grind)
164+
165+
lemma Finset.centerMass_congr_weights {w' : ι → R} (h : ∀ i ∈ t, w i = w' i) :
166+
t.centerMass w z = t.centerMass w' z := by
167+
classical
168+
exact centerMass_congr (by grind)
169+
170+
lemma Finset.centerMass_congr_fun {z' : ι → E} (h : ∀ i ∈ t, w i ≠ 0 → z i = z' i) :
171+
t.centerMass w z = t.centerMass w z' := by
172+
classical
173+
exact centerMass_congr (by grind)
174+
147175
lemma Finset.centerMass_of_sum_add_sum_eq_zero {s t : Finset ι}
148176
(hw : ∑ i ∈ s, w i + ∑ i ∈ t, w i = 0) (hz : ∑ i ∈ s, w i • z i + ∑ i ∈ t, w i • z i = 0) :
149177
s.centerMass w z = t.centerMass w z := by

0 commit comments

Comments
 (0)