Theorem: LO.FirstOrder.Arith.Model.PPow2.not_one (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 ⊧ₘ* 𝐈𝚫₀
⊢ ¬PPow2 1
Tactic:
rintro ⟨_, m, hm, H, _⟩
State after:
case intro.intro.intro.intro
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
left✝ : Pow2 1
m : M
hm : m < 2 * 1
H : SPPow2 m
right✝ : LenBit 1 m
⊢ False

State before:
case intro.intro.intro.intro
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
left✝ : Pow2 1
m : M
hm : m < 2 * 1
H : SPPow2 m
right✝ : LenBit 1 m
⊢ False
Tactic:
have : m ≤ 1 := lt_two_iff_le_one.mp (by simpa using hm)
State after:
case intro.intro.intro.intro
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
left✝ : Pow2 1
m : M
hm : m < 2 * 1
H : SPPow2 m
right✝ : LenBit 1 m
this : m ≤ 1
⊢ False

State before:
case intro.intro.intro.intro
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀
left✝ : Pow2 1
m : M
hm : m < 2 * 1
H : SPPow2 m
right✝ : LenBit 1 m
this : m ≤ 1
⊢ False
Tactic:
rcases le_one_iff_eq_zero_or_one.mp this with (rfl | rfl) <;> simp at H
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 ⊧ₘ* 𝐈𝚫₀
left✝ : Pow2 1
m : M
hm : m < 2 * 1
H : SPPow2 m
right✝ : LenBit 1 m
⊢ m < 2
Tactic:
simpa using hm
State after:
no goals