Theorem: LO.FirstOrder.Arith.Model.Nuon.SeriesSegment.le (Arithmetization/OmegaOne/Nuon.lean)

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀ + 𝛀₁
L✝ A✝ U I L A k n : M
H : SeriesSegment U I L A k n
⊢ n ≤ k
Tactic:
rcases H with ⟨nₖ, _, hT, hS⟩
State after:
case intro.intro.intro
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀ + 𝛀₁
L✝ A✝ U I L A k n nₖ : M
left✝ : nₖ ≤ n
hT : Series U I L A (k / ‖I‖) nₖ
hS : Segment U L A (‖I‖ * (k / ‖I‖)) (k % ‖I‖) nₖ n
⊢ n ≤ k

State before:
case intro.intro.intro
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀ + 𝛀₁
L✝ A✝ U I L A k n nₖ : M
left✝ : nₖ ≤ n
hT : Series U I L A (k / ‖I‖) nₖ
hS : Segment U L A (‖I‖ * (k / ‖I‖)) (k % ‖I‖) nₖ n
⊢ n ≤ k
Tactic:
calc
  n ≤ nₖ + k % ‖I‖              := hS.le_add
  _ ≤ ‖I‖ * (k / ‖I‖) + k % ‖I‖ := by simpa [mul_comm] using hT.le_add
  _ = k                         := div_add_mod k ‖I‖
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 ⊧ₘ* 𝐈𝚫₀ + 𝛀₁
L✝ A✝ U I L A k n nₖ : M
left✝ : nₖ ≤ n
hT : Series U I L A (k / ‖I‖) nₖ
hS : Segment U L A (‖I‖ * (k / ‖I‖)) (k % ‖I‖) nₖ n
⊢ nₖ + k % ‖I‖ ≤ ‖I‖ * (k / ‖I‖) + k % ‖I‖
Tactic:
simpa [mul_comm] using hT.le_add
State after:
no goals