@@ -46,20 +46,28 @@ end MonoidWithZero
4646section GroupWithZero
4747variable [GroupWithZero G₀] [SemilatticeSup G₀] {s : Finset ι} {a : G₀}
4848
49- lemma sup'_mul₀ [MulPosReflectLT G₀] (ha : 0 < a) (f : ι → G₀) (s : Finset ι) (hs) :
50- s.sup' hs f * a = s.sup' hs fun i ↦ f i * a := map_finset_sup' (OrderIso.mulRight₀ _ ha) hs f
49+ lemma sup'_mul₀ [MulPosReflectLT G₀] (ha : 0 ≤ a) (f : ι → G₀) (s : Finset ι) (hs) :
50+ s.sup' hs f * a = s.sup' hs fun i ↦ f i * a := by
51+ by_cases! h : 0 = a
52+ · simp [← h]
53+ exact map_finset_sup' (OrderIso.mulRight₀ _ (lt_of_le_of_ne ha h)) hs f
5154
5255set_option linter.docPrime false in
53- lemma mul₀_sup' [PosMulReflectLT G₀] (ha : 0 < a) (f : ι → G₀) (s : Finset ι) (hs) :
54- a * s.sup' hs f = s.sup' hs fun i ↦ a * f i := map_finset_sup' (OrderIso.mulLeft₀ _ ha) hs f
55-
56- lemma sup'_div₀ [MulPosReflectLT G₀] (ha : 0 < a) (f : ι → G₀) (s : Finset ι) (hs) :
57- s.sup' hs f / a = s.sup' hs fun i ↦ f i / a :=
58- map_finset_sup' (OrderIso.divRight₀ _ ha) hs f
56+ lemma mul₀_sup' [PosMulReflectLT G₀] (ha : 0 ≤ a) (f : ι → G₀) (s : Finset ι) (hs) :
57+ a * s.sup' hs f = s.sup' hs fun i ↦ a * f i := by
58+ by_cases! h : 0 = a
59+ · simp [← h]
60+ exact map_finset_sup' (OrderIso.mulLeft₀ _ (lt_of_le_of_ne ha h)) hs f
61+
62+ lemma sup'_div₀ [MulPosReflectLT G₀] (ha : 0 ≤ a) (f : ι → G₀) (s : Finset ι) (hs) :
63+ s.sup' hs f / a = s.sup' hs fun i ↦ f i / a := by
64+ by_cases! h : 0 = a
65+ · simp [← h]
66+ exact map_finset_sup' (OrderIso.divRight₀ _ (lt_of_le_of_ne ha h)) hs f
5967
6068end GroupWithZero
6169
62- lemma sup_div₀ [LinearOrderedCommGroupWithZero G₀] {a : G₀} (ha : 0 < a)
70+ lemma sup_div₀ [LinearOrderedCommGroupWithZero G₀] {a : G₀} (ha : 0 ≤ a)
6371 (s : Finset ι) (f : ι → G₀) : s.sup f / a = s.sup fun i ↦ f i / a := by
6472 obtain rfl | hs := s.eq_empty_or_nonempty
6573 · simp [← show (0 : G₀) = ⊥ from bot_unique zero_le']
0 commit comments