case hnrel k r v =>
  simp [eval_nrel]; apply iff_of_eq; congr
  funext i
  exact Semiterm.val_eq_of_funEqOn (v i) (fun x hx ↦ h x (by simp [fvarList]; exact ⟨i, hx⟩))
n₂ : ℕ
L : Language
μ : Type v
μ₁ : Type v₁
μ₂ : Type v₂
M : Type w
s : Structure L M
n : ℕ
e₂ : Fin n₂ → M
ε : μ → M
ε₂ : μ₂ → M
ε' : μ → M
n✝ k : ℕ
r : L.Rel k
v : Fin k → Semiterm L μ n✝
e : Fin n✝ → M
h : Function.funEqOn (fun x => x ∈ (nrel r v).fvarList) ε ε'
⊢ (Eval s e ε) (nrel r v) ↔ (Eval s e ε') (nrel r v)
no goals