case pred_2_ v t phi =>
  intro D I V E _
  obtain s1 := FOL.NV.Sub.Var.All.Rec.Fresh.substitution_theorem D I V E (Function.updateITE id v t) freshChar phi
  simp only [Holds]
  intro a2
  simp only [s1]
  simp only [Function.updateITE_comp_left]
  simp
  exact a2 (V t)
Δ : List Formula
F : Formula
v t : VarName
phi : Formula
⊢ ∀ (D : Type) (I : Interpretation D) (V : VarAssignment D) (E : Env),
    (∀ H ∈ [], Holds D I V E H) →
      Holds D I V E ((forall_ v phi).imp_ (Sub.Var.All.Rec.Fresh.sub (Function.updateITE id v t) freshChar phi))
no goals