simp at h2
D : Type
I I' : Interpretation D
h1 : I.pred_const_ = I'.pred_const_
head✝ : Definition
tail✝ : List Definition
tail_ih✝ :
  ∀ (V : VarAssignment D) (F : Formula),
    (∀ (P : PredName) (ds : List D), predVarOccursIn P ds.length F → (I.pred_var_ P ds ↔ I'.pred_var_ P ds)) →
      (Holds D I V tail✝ F ↔ Holds D I' V tail✝ F)
X : PredName
xs : List VarName
V : VarAssignment D
h2 : X = X → (List.map V xs).length = xs.length → (I.pred_var_ X (List.map V xs) ↔ I'.pred_var_ X (List.map V xs))
⊢ I.pred_var_ X (List.map V xs) ↔ I'.pred_var_ X (List.map V xs)
D : Type
I I' : Interpretation D
h1 : I.pred_const_ = I'.pred_const_
head✝ : Definition
tail✝ : List Definition
tail_ih✝ :
  ∀ (V : VarAssignment D) (F : Formula),
    (∀ (P : PredName) (ds : List D), predVarOccursIn P ds.length F → (I.pred_var_ P ds ↔ I'.pred_var_ P ds)) →
      (Holds D I V tail✝ F ↔ Holds D I' V tail✝ F)
X : PredName
xs : List VarName
V : VarAssignment D
h2 : I.pred_var_ X (List.map V xs) ↔ I'.pred_var_ X (List.map V xs)
⊢ I.pred_var_ X (List.map V xs) ↔ I'.pred_var_ X (List.map V xs)