Module docstring
{"# Big operators on a list in ordered rings
This file contains the results concerning the interaction of list big operators with ordered rings. "}
{"# Big operators on a list in ordered rings
This file contains the results concerning the interaction of list big operators with ordered rings. "}
CanonicallyOrderedAdd.list_prod_pos
      theorem
     {α : Type*} [CommSemiring α] [PartialOrder α] [CanonicallyOrderedAdd α] [NoZeroDivisors α] [Nontrivial α] :
  ∀ {l : List α}, 0 < l.prod ↔ (∀ x ∈ l, (0 : α) < x)
        /-- A variant of `List.prod_pos` for `CanonicallyOrderedAdd`. -/
@[simp] lemma CanonicallyOrderedAdd.list_prod_pos {α : Type*}
    [CommSemiring α] [PartialOrder α] [CanonicallyOrderedAdd α] [NoZeroDivisors α] [Nontrivial α] :
    ∀ {l : List α}, 0 < l.prod ↔ (∀ x ∈ l, (0 : α) < x)
  | [] => by simp
  | (x :: xs) => by simp_rw [List.prod_cons, List.forall_mem_cons, CanonicallyOrderedAdd.mul_pos,
    list_prod_pos]