Theorem: LO.FirstOrder.Arith.Model.IsMapping.of_subset (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 ⊧ₘ* 𝐈𝚺₁
m m' : M
h : IsMapping m
ss : m' ⊆ m
x : M
hx : x ∈ domain m'
⊢ ∃! y, ⟪x, y⟫ ∈ m'
Tactic:
rcases mem_domain_iff.mp hx with ⟨y, hy⟩
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 ⊧ₘ* 𝐈𝚺₁
m m' : M
h : IsMapping m
ss : m' ⊆ m
x : M
hx : x ∈ domain m'
y : M
hy : ⟪x, y⟫ ∈ m'
⊢ ∃! y, ⟪x, y⟫ ∈ m'

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 ⊧ₘ* 𝐈𝚺₁
m m' : M
h : IsMapping m
ss : m' ⊆ m
x : M
hx : x ∈ domain m'
y : M
hy : ⟪x, y⟫ ∈ m'
⊢ ∃! y, ⟪x, y⟫ ∈ m'
Tactic:
have : ∃! y, ⟪x, y⟫ ∈ m := h x (domain_subset_domain_of_subset ss hx)
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 ⊧ₘ* 𝐈𝚺₁
m m' : M
h : IsMapping m
ss : m' ⊆ m
x : M
hx : x ∈ domain m'
y : M
hy : ⟪x, y⟫ ∈ m'
this : ∃! y, ⟪x, y⟫ ∈ m
⊢ ∃! y, ⟪x, y⟫ ∈ m'

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 ⊧ₘ* 𝐈𝚺₁
m m' : M
h : IsMapping m
ss : m' ⊆ m
x : M
hx : x ∈ domain m'
y : M
hy : ⟪x, y⟫ ∈ m'
this : ∃! y, ⟪x, y⟫ ∈ m
⊢ ∃! y, ⟪x, y⟫ ∈ m'
Tactic:
exact ExistsUnique.intro y hy (fun y' hy' ↦ this.unique (ss hy') (ss hy))
State after:
no goals