Theorem: LO.FirstOrder.Arith.Model.Nuon.segmentDef_defined (Arithmetization/OmegaOne/Nuon.lean)

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀ + 𝛀₁
⊢ Defined (fun v => Segment (v 0) (v 1) (v 2) (v 3) (v 4) (v 5) (v 6)) segmentDef
Tactic:
intro v
State after:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀ + 𝛀₁
v : Fin 7 → M
⊢ (fun v => Segment (v 0) (v 1) (v 2) (v 3) (v 4) (v 5) (v 6)) v ↔
    (Semiformula.Evalbm M v) (HSemiformula.val segmentDef)

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀ + 𝛀₁
v : Fin 7 → M
⊢ (fun v => Segment (v 0) (v 1) (v 2) (v 3) (v 4) (v 5) (v 6)) v ↔
    (Semiformula.Evalbm M v) (HSemiformula.val segmentDef)
Tactic:
simp [Segment, segmentDef, ext_defined.df.iff, isSegmentDef_defined.df.iff, @Eq.comm _ (v 5), @Eq.comm _ (v 6)]
State after:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀ + 𝛀₁
v : Fin 7 → M
⊢ (∃ S < v 0, IsSegment (v 1) (v 2) (v 3) (v 4) S ∧ S{v 1}[0] = v 5 ∧ S{v 1}[v 4] = v 6) ↔
    ∃ x < v 0, IsSegment (v 1) (v 2) (v (Fin.succ 2)) (v 4) x ∧ x{v 1}[0] = v 5 ∧ x{v 1}[v 4] = v 6

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈𝚫₀ + 𝛀₁
v : Fin 7 → M
⊢ (∃ S < v 0, IsSegment (v 1) (v 2) (v 3) (v 4) S ∧ S{v 1}[0] = v 5 ∧ S{v 1}[v 4] = v 6) ↔
    ∃ x < v 0, IsSegment (v 1) (v 2) (v (Fin.succ 2)) (v 4) x ∧ x{v 1}[0] = v 5 ∧ x{v 1}[v 4] = v 6
Tactic:
rfl
State after:
no goals