Theorem: LO.FirstOrder.Arith.Model.pow2_defined (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
⊢ 𝚺₀-Predicate Pow2 via pow2Def
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 ⊧ₘ* 𝐈open
v : Fin 1 → M
⊢ (fun v => Pow2 (v 0)) v ↔ (Semiformula.Evalbm M v) (HSemiformula.val pow2Def)

State before:
M : Type u_1
inst✝⁵ : Zero M
inst✝⁴ : One M
inst✝³ : Add M
inst✝² : Mul M
inst✝¹ : LT M
inst✝ : M ⊧ₘ* 𝐈open
v : Fin 1 → M
⊢ (fun v => Pow2 (v 0)) v ↔ (Semiformula.Evalbm M v) (HSemiformula.val pow2Def)
Tactic:
simp [Semiformula.eval_substs, Matrix.comp_vecCons', Matrix.vecHead, Matrix.constant_eq_singleton,
  Pow2, pow2Def, le_iff_lt_succ, dvd_defined.df.iff, numeral_eq_natCast]
State after:
no goals