@@ -189,17 +189,23 @@ end Module
189189
190190section PartialOrder
191191
192- variable (α) [∀ i, AddCommMonoid (α i)] [∀ i, PartialOrder (α i)] [∀ i, CanonicallyOrderedAdd (α i)]
192+ variable (α) [∀ i, AddCommMonoid (α i)] [∀ i, PartialOrder (α i)]
193193
194- instance : OrderBot (Π₀ i, α i) where
194+ instance [∀ i, IsBotZeroClass (α i)] : OrderBot (Π₀ i, α i) where
195195 bot := 0
196- bot_le := by simp only [le_def, coe_zero, Pi.zero_apply, imp_true_iff, zero_le]
196+ bot_le := by simp [le_def]
197+
198+ instance [∀ i, IsBotZeroClass (α i)] : IsBotZeroClass (Π₀ i, α i) where
199+ isBot_zero := isBot_bot
197200
198201variable {α}
199202
200- protected theorem bot_eq_zero : (⊥ : Π₀ i, α i) = 0 :=
203+ @ [deprecated _root_.bot_eq_zero (since := "2026-05-07" )]
204+ protected theorem bot_eq_zero [∀ i, IsBotZeroClass (α i)] : (⊥ : Π₀ i, α i) = 0 :=
201205 rfl
202206
207+ variable [∀ i, CanonicallyOrderedAdd (α i)]
208+
203209@[simp]
204210theorem add_eq_zero_iff (f g : Π₀ i, α i) : f + g = 0 ↔ f = 0 ∧ g = 0 := by
205211 simp [DFunLike.ext_iff, forall_and]
@@ -289,25 +295,21 @@ theorem subset_support_tsub : f.support \ g.support ⊆ (f - g).support := by
289295end PartialOrder
290296
291297section LinearOrder
292- variable [∀ i, AddCommMonoid (α i)] [∀ i, LinearOrder (α i)] [∀ i, CanonicallyOrderedAdd (α i)]
298+ variable [∀ i, AddCommMonoid (α i)] [∀ i, LinearOrder (α i)] [∀ i, IsBotZeroClass (α i)]
293299 [DecidableEq ι] {f g : Π₀ i, α i}
294300
295301@[simp]
296302theorem support_inf : (f ⊓ g).support = f.support ∩ g.support := by
297303 ext
298- simp only [inf_apply, mem_support_iff, Ne, Finset.mem_inter]
299- simp only [← nonpos_iff_eq_zero, min_le_iff, not_or]
304+ simp
300305
301306@[simp]
302307theorem support_sup : (f ⊔ g).support = f.support ∪ g.support := by
303308 ext
304- simp only [Finset.mem_union, mem_support_iff, sup_apply, Ne, ← nonpos_iff_eq_zero, sup_le_iff,
305- Classical.not_and_iff_not_or_not]
309+ simp [imp_iff_not_or]
306310
307311nonrec theorem disjoint_iff : Disjoint f g ↔ Disjoint f.support g.support := by
308- rw [disjoint_iff, disjoint_iff, DFinsupp.bot_eq_zero, ← DFinsupp.support_eq_empty,
309- DFinsupp.support_inf]
310- rfl
312+ simp [disjoint_iff, bot_eq_zero, ← DFinsupp.support_eq_empty]
311313
312314end LinearOrder
313315
0 commit comments