Equations
@[instance]
Equations
- nat.linear_order = {le := nat.less_than_or_equal, lt := nat.lt, le_refl := nat.le_refl, le_trans := nat.le_trans, lt_iff_le_not_le := nat.lt_iff_le_not_le, le_antisymm := nat.le_antisymm, le_total := nat.le_total}
@[instance]
Equations
- nat.decidable_linear_order = {le := nat.le, lt := nat.lt, le_refl := nat.le_refl, le_trans := nat.le_trans, lt_iff_le_not_le := nat.decidable_linear_order._proof_1, le_antisymm := nat.le_antisymm, le_total := nat.le_total, decidable_le := nat.decidable_le, decidable_eq := nat.decidable_eq, decidable_lt := nat.decidable_lt}
Equations
Equations
- nat.lt_ge_by_cases h₁ h₂ = decidable.by_cases h₁ (λ (h : ¬a < b), h₂ _)
Equations
- nat.lt_by_cases h₁ h₂ h₃ = nat.lt_ge_by_cases h₁ (λ (h₁ : a ≥ b), nat.lt_ge_by_cases h₃ (λ (h : b ≥ a), h₂ _))
Equations
- nat.find_x H = _.fix (λ (m : ℕ) (IH : Π (y : ℕ), lbp y m → (λ (k : ℕ), (∀ (n : ℕ), n < k → ¬p n) → {n // p n ∧ ∀ (m : ℕ), m < n → ¬p m}) y) (al : ∀ (n : ℕ), n < m → ¬p n), dite (p m) (λ (pm : p m), ⟨m, _⟩) (λ (pm : ¬p m), have this : ∀ (n : ℕ), n ≤ m → ¬p n, from _, IH (m + 1) _ _)) 0 nat.find_x._proof_5
Equations
- nat.find H = (nat.find_x H).val
@[instance]
Equations
- nat.decidable_dvd = λ (m n : ℕ), decidable_of_decidable_of_iff (nat.decidable_eq (n % m) 0) _