Theorem: LO.FirstOrder.Arith.Model.div_eq_of (Arithmetization/Basic/IOpen.lean)

State before:
M : Type u_1
inst✝⁶ : Zero M
inst✝⁵ : One M
inst✝⁴ : Add M
inst✝³ : Mul M
inst✝² : LT M
inst✝¹ : M ⊧ₘ* 𝐏𝐀⁻
inst✝ : M ⊧ₘ* 𝐈open
c a b : M
hb : b * c ≤ a
ha : a < b * (c + 1)
⊢ a / b = c
Tactic:
have pos : 0 < b := pos_of_mul_pos_left (pos_of_gt ha) (by simp)
State after:
M : Type u_1
inst✝⁶ : Zero M
inst✝⁵ : One M
inst✝⁴ : Add M
inst✝³ : Mul M
inst✝² : LT M
inst✝¹ : M ⊧ₘ* 𝐏𝐀⁻
inst✝ : M ⊧ₘ* 𝐈open
c a b : M
hb : b * c ≤ a
ha : a < b * (c + 1)
pos : 0 < b
⊢ a / b = c

State before:
M : Type u_1
inst✝⁶ : Zero M
inst✝⁵ : One M
inst✝⁴ : Add M
inst✝³ : Mul M
inst✝² : LT M
inst✝¹ : M ⊧ₘ* 𝐏𝐀⁻
inst✝ : M ⊧ₘ* 𝐈open
c a b : M
hb : b * c ≤ a
ha : a < b * (c + 1)
pos : 0 < b
⊢ a / b = c
Tactic:
exact (div_exists_unique_pos a pos).unique ⟨mul_div_le_pos a pos, lt_mul_div_succ a pos⟩ ⟨hb, ha⟩
State after:
no goals

State before:
M : Type u_1
inst✝⁶ : Zero M
inst✝⁵ : One M
inst✝⁴ : Add M
inst✝³ : Mul M
inst✝² : LT M
inst✝¹ : M ⊧ₘ* 𝐏𝐀⁻
inst✝ : M ⊧ₘ* 𝐈open
c a b : M
hb : b * c ≤ a
ha : a < b * (c + 1)
⊢ 0 ≤ c + 1
Tactic:
simp
State after:
no goals