{
  apply Holds_coincide_Var
  intro v' a1
  simp only [Function.updateITE]
  split_ifs
  case _ c1 =>
    subst c1
    contradiction
  case _ c1 =>
    rfl
}
case s1
Δ : List Formula
F : Formula
v : VarName
phi : Formula
ih : ¬isFreeIn v phi
D : Type
I : Interpretation D
V : VarAssignment D
E : Env
a✝ : ∀ H ∈ [], Holds D I V E H
a2 : Holds D I V E phi
d : D
⊢ Holds D I (Function.updateITE V v d) E phi ↔ Holds D I V E phi

Δ : List Formula
F : Formula
v : VarName
phi : Formula
ih : ¬isFreeIn v phi
D : Type
I : Interpretation D
V : VarAssignment D
E : Env
a✝ : ∀ H ∈ [], Holds D I V E H
a2 : Holds D I V E phi
d : D
s1 : Holds D I (Function.updateITE V v d) E phi ↔ Holds D I V E phi
⊢ Holds D I (Function.updateITE V v d) E phi
Δ : List Formula
F : Formula
v : VarName
phi : Formula
ih : ¬isFreeIn v phi
D : Type
I : Interpretation D
V : VarAssignment D
E : Env
a✝ : ∀ H ∈ [], Holds D I V E H
a2 : Holds D I V E phi
d : D
s1 : Holds D I (Function.updateITE V v d) E phi ↔ Holds D I V E phi
⊢ Holds D I (Function.updateITE V v d) E phi