Theorem: LO.FirstOrder.Arith.Model.PPow2.two_lt (Arithmetization/ISigmaZero/Exponential/PPow2.lean)

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
i : M
hi : PPow2 i
ne : i ≠ 2
⊢ 2 < i
Tactic:
by_contra A
State after:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
i : M
hi : PPow2 i
ne : i ≠ 2
A : ¬2 < i
⊢ False

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
i : M
hi : PPow2 i
ne : i ≠ 2
A : ¬2 < i
⊢ False
Tactic:
simp [ne, le_iff_lt_or_eq, lt_two_iff_le_one] at A
State after:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
i : M
hi : PPow2 i
ne : i ≠ 2
A : i = 0 ∨ i = 1
⊢ False

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
i : M
hi : PPow2 i
ne : i ≠ 2
A : i = 0 ∨ i = 1
⊢ False
Tactic:
rcases A with (rfl | rfl) <;> simp at hi
State after:
no goals