Theorem: LO.FirstOrder.Arith.Model.nonempty_iff (Arithmetization/ISigmaOne/Bit.lean)

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
s : M
⊢ s ≠ ∅ ↔ ∃ x, x ∈ s
Tactic:
rcases eq_empty_or_nonempty s with ⟨rfl, hy⟩ <;> simp
State after:
case inr
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
s : M
h✝ : ∃ i, i ∈ s
⊢ ¬s = ∅ ↔ ∃ x, x ∈ s

State before:
case inr
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
s : M
h✝ : ∃ i, i ∈ s
⊢ ¬s = ∅ ↔ ∃ x, x ∈ s
Tactic:
simp [show s ≠ ∅ from by rintro rfl; simp_all]
State after:
case inr
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
s : M
h✝ : ∃ i, i ∈ s
⊢ ∃ x, x ∈ s

State before:
case inr
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
s : M
h✝ : ∃ i, i ∈ s
⊢ ∃ x, x ∈ s
Tactic:
assumption
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 ⊧ₘ* 𝐈𝚺₁
s : M
h✝ : ∃ i, i ∈ s
⊢ s ≠ ∅
Tactic:
rintro rfl
State after:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
h✝ : ∃ i, 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 ⊧ₘ* 𝐈𝚺₁
h✝ : ∃ i, i ∈ ∅
⊢ False
Tactic:
simp_all
State after:
no goals