cases ys
Δ : List Formula
F : Formula
X : PredName
D : Type
I : Interpretation D
V : VarAssignment D
E : Env
a✝ : ∀ H ∈ [], Holds D I V E H
ys : List VarName
ih_1 : [].length = ys.length
a1 : Holds D I V E (List.foldr and_ true_ (List.zipWith eq_ [] ys))
⊢ List.map V [] = List.map V ys
case nil
Δ : List Formula
F : Formula
X : PredName
D : Type
I : Interpretation D
V : VarAssignment D
E : Env
a✝ : ∀ H ∈ [], Holds D I V E H
ih_1 : [].length = [].length
a1 : Holds D I V E (List.foldr and_ true_ (List.zipWith eq_ [] []))
⊢ List.map V [] = List.map V []

case cons
Δ : List Formula
F : Formula
X : PredName
D : Type
I : Interpretation D
V : VarAssignment D
E : Env
a✝ : ∀ H ∈ [], Holds D I V E H
head✝ : VarName
tail✝ : List VarName
ih_1 : [].length = (head✝ :: tail✝).length
a1 : Holds D I V E (List.foldr and_ true_ (List.zipWith eq_ [] (head✝ :: tail✝)))
⊢ List.map V [] = List.map V (head✝ :: tail✝)