Theorem: LO.FirstOrder.Arith.Model.Pow2.two_dvd' (Arithmetization/ISigmaZero/Exponential/Pow2.lean)

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈open
a : M
h : Pow2 a
lt : a ≠ 1
⊢ 1 < a
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 ⊧ₘ* 𝐈open
a : M
h : Pow2 a
lt : a ≠ 1
A : ¬1 < a
⊢ False

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈open
a : M
h : Pow2 a
lt : a ≠ 1
A : ¬1 < a
⊢ False
Tactic:
simp [le_one_iff_eq_zero_or_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 ⊧ₘ* 𝐈open
a : M
h : Pow2 a
lt : a ≠ 1
A : a = 0 ∨ a = 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 ⊧ₘ* 𝐈open
a : M
h : Pow2 a
lt : a ≠ 1
A : a = 0 ∨ a = 1
⊢ False
Tactic:
rcases A with (rfl | rfl) <;> simp at h lt
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 ⊧ₘ* 𝐈open
a : M
h : Pow2 a
lt : a ≠ 1
⊢ a ∣ a
Tactic:
simp
State after:
no goals