- refl : ∀ (a : ℕ), a.less_than_or_equal a
- step : ∀ (a : ℕ) {b : ℕ}, a.less_than_or_equal b → a.less_than_or_equal b.succ
@[protected, instance]
Equations
@[protected, instance]
Equations
- nat.decidable_eq x.succ y.succ = nat.decidable_eq._match_1 x y (nat.decidable_eq x y)
- nat.decidable_eq x.succ 0 = is_false _
- nat.decidable_eq 0 y.succ = is_false _
- nat.decidable_eq 0 0 = is_true rfl
- nat.decidable_eq._match_1 x y (is_true xeqy) = is_true _
- nat.decidable_eq._match_1 x y (is_false xney) = is_false _
Equations
- nat.repeat f n.succ a = f n (nat.repeat f n a)
- nat.repeat f 0 a = a
@[protected, instance]
Equations
- nat.inhabited = {default := 0}
@[protected, instance]
Equations
- (a + 1).decidable_le (b + 1) = nat.decidable_le._match_1 a b (a.decidable_le b)
- (a + 1).decidable_le 0 = is_false _
- 0.decidable_le b = is_true _
- nat.decidable_le._match_1 a b (is_true h) = is_true _
- nat.decidable_le._match_1 a b (is_false h) = is_false _
@[protected, instance]
Equations
- nat.decidable_lt = λ (a b : ℕ), a.succ.decidable_le b