This repository was archived by the owner on Jul 24, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +8
-6
lines changed Expand file tree Collapse file tree 1 file changed +8
-6
lines changed Original file line number Diff line number Diff line change @@ -1561,20 +1561,22 @@ begin
1561
1561
{ exact mul_is_limit l.pos lb }
1562
1562
end
1563
1563
1564
+ protected lemma div_aux (a b : ordinal.{u}) (h : b ≠ 0 ) : set.nonempty {o | a < b * succ o} :=
1565
+ ⟨a, succ_le.1 $
1566
+ by simpa only [succ_zero, one_mul]
1567
+ using mul_le_mul_right (succ a) (succ_le.2 (pos_iff_ne_zero.2 h))⟩
1568
+
1564
1569
/-- `a / b` is the unique ordinal `o` satisfying
1565
1570
`a = b * o + o'` with `o' < b`. -/
1566
1571
protected def div (a b : ordinal.{u}) : ordinal.{u} :=
1567
- if h : b = 0 then 0 else
1568
- omin {o | a < b * succ o} ⟨a, succ_le.1 $
1569
- by simpa only [succ_zero, one_mul] using mul_le_mul_right (succ a) (succ_le.2 (pos_iff_ne_zero.2 h))⟩
1572
+ if h : b = 0 then 0 else omin {o | a < b * succ o} (ordinal.div_aux a b h)
1570
1573
1571
1574
instance : has_div ordinal := ⟨ordinal.div⟩
1572
1575
1573
1576
@[simp] theorem div_zero (a : ordinal) : a / 0 = 0 := dif_pos rfl
1574
1577
1575
- @[nolint def_lemma doc_blame] -- TODO: This should be a theorem but Lean fails to synthesize the placeholder
1576
- def div_def (a) {b : ordinal} (h : b ≠ 0 ) :
1577
- a / b = omin {o | a < b * succ o} _ := dif_neg h
1578
+ lemma div_def (a) {b : ordinal} (h : b ≠ 0 ) :
1579
+ a / b = omin {o | a < b * succ o} (ordinal.div_aux a b h) := dif_neg h
1578
1580
1579
1581
theorem lt_mul_succ_div (a) {b : ordinal} (h : b ≠ 0 ) : a < b * succ (a / b) :=
1580
1582
by rw div_def a h; exact omin_mem {o | a < b * succ o} _
You can’t perform that action at this time.
0 commit comments