intro x a1
case h.h1
D : Type
I : Interpretation D
E : Env
v t : VarName
F F' : Formula
h1_x : VarName
h1_phi : Formula
h1_v h1_t : VarName
V : VarAssignment D
h1_1 : ¬h1_v = h1_x → ¬isFreeIn h1_v h1_phi
d : D
⊢ ∀ (v : VarName),
    isFreeIn v h1_phi → Function.updateITE (Function.updateITE V h1_v (V h1_t)) h1_x d v = Function.updateITE V h1_x d v
case h.h1
D : Type
I : Interpretation D
E : Env
v t : VarName
F F' : Formula
h1_x : VarName
h1_phi : Formula
h1_v h1_t : VarName
V : VarAssignment D
h1_1 : ¬h1_v = h1_x → ¬isFreeIn h1_v h1_phi
d : D
x : VarName
a1 : isFreeIn x h1_phi
⊢ Function.updateITE (Function.updateITE V h1_v (V h1_t)) h1_x d x = Function.updateITE V h1_x d x