File: Mathlib/GroupTheory/Order/Min.lean

full_name: AddMonoid.minOrder
code: /-- The minimum order of a non-identity element. Also the minimum size of a nontrivial subgroup, see
`Monoid.le_minOrder_iff_forall_subgroup`. Returns `∞` if the monoid is torsion-free. -/
@[to_additive "The minimum order of a non-identity element. Also the minimum size of a nontrivial
subgroup, see `AddMonoid.le_minOrder_iff_forall_addSubgroup`. Returns `∞` if the monoid is
torsion-free."]
noncomputable def minOrder : ℕ∞ 
goal: ℕ∞

full_name: Monoid.minOrder
code: /-- The minimum order of a non-identity element. Also the minimum size of a nontrivial subgroup, see
`Monoid.le_minOrder_iff_forall_subgroup`. Returns `∞` if the monoid is torsion-free. -/
@[to_additive "The minimum order of a non-identity element. Also the minimum size of a nontrivial
subgroup, see `AddMonoid.le_minOrder_iff_forall_addSubgroup`. Returns `∞` if the monoid is
torsion-free."]
noncomputable def minOrder : ℕ∞ 
goal: ℕ∞

full_name: AddMonoid.minOrder_eq_top
code: @[to_additive (attr := simp)]
lemma minOrder_eq_top : minOrder α = ⊤ ↔ IsTorsionFree α 
goal: AddMonoid.minOrder α = ⊤ ↔ AddMonoid.IsTorsionFree α

full_name: Monoid.minOrder_eq_top
code: @[to_additive (attr := simp)]
lemma minOrder_eq_top : minOrder α = ⊤ ↔ IsTorsionFree α 
goal: Monoid.minOrder α = ⊤ ↔ Monoid.IsTorsionFree α

full_name: AddMonoid.le_minOrder
code: @[to_additive (attr := simp)]
lemma le_minOrder {n : ℕ∞} :
    n ≤ minOrder α ↔ ∀ ⦃a : α⦄, a ≠ 1 → IsOfFinOrder a → n ≤ orderOf a 
goal: n ≤ AddMonoid.minOrder α ↔ ∀ ⦃a : α⦄, a ≠ 0 → IsOfFinAddOrder a → n ≤ ↑(addOrderOf a)

full_name: Monoid.le_minOrder
code: @[to_additive (attr := simp)]
lemma le_minOrder {n : ℕ∞} :
    n ≤ minOrder α ↔ ∀ ⦃a : α⦄, a ≠ 1 → IsOfFinOrder a → n ≤ orderOf a 
goal: n ≤ Monoid.minOrder α ↔ ∀ ⦃a : α⦄, a ≠ 1 → IsOfFinOrder a → n ≤ ↑(orderOf a)

full_name: AddMonoid.minOrder_le_addOrderOf
code: @[to_additive]
lemma minOrder_le_orderOf (ha : a ≠ 1) (ha' : IsOfFinOrder a) : minOrder α ≤ orderOf a 
goal: AddMonoid.minOrder α ≤ ↑(addOrderOf a)

full_name: Monoid.minOrder_le_orderOf
code: @[to_additive]
lemma minOrder_le_orderOf (ha : a ≠ 1) (ha' : IsOfFinOrder a) : minOrder α ≤ orderOf a 
goal: Monoid.minOrder α ≤ ↑(orderOf a)

full_name: Monoid.le_minOrder_iff_forall_subgroup
code: @[to_additive]
lemma le_minOrder_iff_forall_subgroup {n : ℕ∞} :
    n ≤ minOrder α ↔ ∀ ⦃s : Subgroup α⦄, s ≠ ⊥ → (s : Set α).Finite → n ≤ Nat.card s 
goal: n ≤ Monoid.minOrder α ↔ ∀ ⦃s : Subgroup α⦄, s ≠ ⊥ → (↑s).Finite → n ≤ ↑(Nat.card ↥s)

full_name: AddMonoid.le_minOrder_iff_forall_addSubgroup
code: @[to_additive]
lemma le_minOrder_iff_forall_subgroup {n : ℕ∞} :
    n ≤ minOrder α ↔ ∀ ⦃s : Subgroup α⦄, s ≠ ⊥ → (s : Set α).Finite → n ≤ Nat.card s 
goal: n ≤ AddMonoid.minOrder α ↔ ∀ ⦃s : AddSubgroup α⦄, s ≠ ⊥ → (↑s).Finite → n ≤ ↑(Nat.card ↥s)

full_name: Monoid.minOrder_le_natCard
code: @[to_additive]
lemma minOrder_le_natCard (hs : s ≠ ⊥) (hs' : (s : Set α).Finite) : minOrder α ≤ Nat.card s 
goal: Monoid.minOrder α ≤ ↑(Nat.card ↥s)

full_name: AddMonoid.minOrder_le_natCard
code: @[to_additive]
lemma minOrder_le_natCard (hs : s ≠ ⊥) (hs' : (s : Set α).Finite) : minOrder α ≤ Nat.card s 
goal: AddMonoid.minOrder α ≤ ↑(Nat.card ↥s)

full_name: ZMod.minOrder
code: @[simp]
protected lemma minOrder {n : ℕ} (hn : n ≠ 0) (hn₁ : n ≠ 1) : minOrder (ZMod n) = n.minFac 
goal: AddMonoid.minOrder (ZMod n) = ↑n.minFac

full_name: ZMod.minOrder_of_prime
code: @[simp]
lemma minOrder_of_prime {p : ℕ} (hp : p.Prime) : minOrder (ZMod p) = p 
goal: AddMonoid.minOrder (ZMod p) = ↑p