Theorem: LO.FirstOrder.Arith.Model.restr_exists_unique (Arithmetization/ISigmaOne/HFS/Basic.lean)

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
f s : M
⊢ ∃! g, ∀ (x : M), x ∈ g ↔ x ∈ f ∧ π₁ x ∈ s
Tactic:
have : 𝚺₁-Predicate fun x ↦ x ∈ f ∧ π₁ x ∈ s := by definability
State after:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
f s : M
this : 𝚺₁-Predicate fun x => x ∈ f ∧ π₁ x ∈ s
⊢ ∃! g, ∀ (x : M), x ∈ g ↔ x ∈ f ∧ π₁ x ∈ s

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
f s : M
this : 𝚺₁-Predicate fun x => x ∈ f ∧ π₁ x ∈ s
⊢ ∃! g, ∀ (x : M), x ∈ g ↔ x ∈ f ∧ π₁ x ∈ s
Tactic:
exact finite_comprehension₁! this
  ⟨f, fun i ↦ by rintro ⟨hi, _⟩; exact lt_of_mem hi⟩
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 ⊧ₘ* 𝐈𝚺₁
f s : M
⊢ 𝚺₁-Predicate fun x => x ∈ f ∧ π₁ x ∈ s
Tactic:
definability
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 ⊧ₘ* 𝐈𝚺₁
f s : M
this : 𝚺₁-Predicate fun x => x ∈ f ∧ π₁ x ∈ s
i : M
⊢ i ∈ f ∧ π₁ i ∈ s → i < f
Tactic:
rintro ⟨hi, _⟩
State after:
case intro
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
f s : M
this : 𝚺₁-Predicate fun x => x ∈ f ∧ π₁ x ∈ s
i : M
hi : i ∈ f
right✝ : π₁ i ∈ s
⊢ i < f

State before:
case intro
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚺₁
f s : M
this : 𝚺₁-Predicate fun x => x ∈ f ∧ π₁ x ∈ s
i : M
hi : i ∈ f
right✝ : π₁ i ∈ s
⊢ i < f
Tactic:
exact lt_of_mem hi
State after:
no goals