Module docstring
{"# Order of numerals in an AddMonoidWithOne.
"}
{"# Order of numerals in an AddMonoidWithOne.
"}
lt_add_one
theorem
[One α] [AddZeroClass α] [PartialOrder α] [ZeroLEOneClass α] [NeZero (1 : α)] [AddLeftStrictMono α] (a : α) : a < a + 1
lemma lt_add_one [One α] [AddZeroClass α] [PartialOrder α] [ZeroLEOneClass α]
[NeZero (1 : α)] [AddLeftStrictMono α] (a : α) : a < a + 1 :=
lt_add_of_pos_right _ zero_lt_one
lt_one_add
theorem
[One α] [AddZeroClass α] [PartialOrder α] [ZeroLEOneClass α] [NeZero (1 : α)] [AddRightStrictMono α] (a : α) :
a < 1 + a
lemma lt_one_add [One α] [AddZeroClass α] [PartialOrder α] [ZeroLEOneClass α]
[NeZero (1 : α)] [AddRightStrictMono α] (a : α) : a < 1 + a :=
lt_add_of_pos_left _ zero_lt_one
zero_le_two
theorem
[Preorder α] [ZeroLEOneClass α] [AddLeftMono α] : (0 : α) ≤ 2
lemma zero_le_two [Preorder α] [ZeroLEOneClass α] [AddLeftMono α] :
(0 : α) ≤ 2 := by
rw [← one_add_one_eq_two]
exact add_nonneg zero_le_one zero_le_one
zero_le_three
theorem
[Preorder α] [ZeroLEOneClass α] [AddLeftMono α] : (0 : α) ≤ 3
lemma zero_le_three [Preorder α] [ZeroLEOneClass α] [AddLeftMono α] :
(0 : α) ≤ 3 := by
rw [← two_add_one_eq_three]
exact add_nonneg zero_le_two zero_le_one
zero_le_four
theorem
[Preorder α] [ZeroLEOneClass α] [AddLeftMono α] : (0 : α) ≤ 4
lemma zero_le_four [Preorder α] [ZeroLEOneClass α] [AddLeftMono α] :
(0 : α) ≤ 4 := by
rw [← three_add_one_eq_four]
exact add_nonneg zero_le_three zero_le_one
one_le_two
theorem
[LE α] [ZeroLEOneClass α] [AddLeftMono α] : (1 : α) ≤ 2
lemma one_le_two [LE α] [ZeroLEOneClass α] [AddLeftMono α] :
(1 : α) ≤ 2 :=
calc (1 : α) = 1 + 0 := (add_zero 1).symm
_ ≤ 1 + 1 := add_le_add_left zero_le_one _
_ = 2 := one_add_one_eq_two
one_le_two'
theorem
[LE α] [ZeroLEOneClass α] [AddRightMono α] : (1 : α) ≤ 2
lemma one_le_two' [LE α] [ZeroLEOneClass α] [AddRightMono α] :
(1 : α) ≤ 2 :=
calc (1 : α) = 0 + 1 := (zero_add 1).symm
_ ≤ 1 + 1 := add_le_add_right zero_le_one _
_ = 2 := one_add_one_eq_two
zero_lt_two
theorem
: (0 : α) < 2
/-- See `zero_lt_two'` for a version with the type explicit. -/
@[simp] lemma zero_lt_two : (0 : α) < 2 := zero_lt_one.trans_le one_le_two
zero_lt_three
theorem
: (0 : α) < 3
/-- See `zero_lt_three'` for a version with the type explicit. -/
@[simp] lemma zero_lt_three : (0 : α) < 3 := by
rw [← two_add_one_eq_three]
exact lt_add_of_lt_of_nonneg zero_lt_two zero_le_one
zero_lt_four
theorem
: (0 : α) < 4
/-- See `zero_lt_four'` for a version with the type explicit. -/
@[simp] lemma zero_lt_four : (0 : α) < 4 := by
rw [← three_add_one_eq_four]
exact lt_add_of_lt_of_nonneg zero_lt_three zero_le_one
zero_lt_two'
theorem
: (0 : α) < 2
/-- See `zero_lt_two` for a version with the type implicit. -/
lemma zero_lt_two' : (0 : α) < 2 := zero_lt_two
zero_lt_three'
theorem
: (0 : α) < 3
/-- See `zero_lt_three` for a version with the type implicit. -/
lemma zero_lt_three' : (0 : α) < 3 := zero_lt_three
zero_lt_four'
theorem
: (0 : α) < 4
/-- See `zero_lt_four` for a version with the type implicit. -/
lemma zero_lt_four' : (0 : α) < 4 := zero_lt_four
ZeroLEOneClass.neZero.two
instance
: NeZero (2 : α)
instance ZeroLEOneClass.neZero.two : NeZero (2 : α) := ⟨zero_lt_two.ne'⟩
ZeroLEOneClass.neZero.three
instance
: NeZero (3 : α)
instance ZeroLEOneClass.neZero.three : NeZero (3 : α) := ⟨zero_lt_three.ne'⟩
ZeroLEOneClass.neZero.four
instance
: NeZero (4 : α)
instance ZeroLEOneClass.neZero.four : NeZero (4 : α) := ⟨zero_lt_four.ne'⟩
one_lt_two
theorem
[AddLeftStrictMono α] : (1 : α) < 2
lemma one_lt_two [AddLeftStrictMono α] : (1 : α) < 2 := by
rw [← one_add_one_eq_two]
exact lt_add_one _