apply forall_congr'
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✝ : ℕ
p : Semiformula L μ (n✝ + 1)
ih : ∀ {e : Fin (n✝ + 1) → M}, Function.funEqOn (fun x => x ∈ p.fvarList) ε ε' → ((Eval s e ε) p ↔ (Eval s e ε') p)
e : Fin n✝ → M
h : Function.funEqOn (fun x => x ∈ (∀' p).fvarList) ε ε'
⊢ (∀ (x : M), (Eval s (x :> e) ε) p) ↔ ∀ (x : M), (Eval s (x :> e) ε') p
case h
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✝ : ℕ
p : Semiformula L μ (n✝ + 1)
ih : ∀ {e : Fin (n✝ + 1) → M}, Function.funEqOn (fun x => x ∈ p.fvarList) ε ε' → ((Eval s e ε) p ↔ (Eval s e ε') p)
e : Fin n✝ → M
h : Function.funEqOn (fun x => x ∈ (∀' p).fvarList) ε ε'
⊢ ∀ (a : M), (Eval s (a :> e) ε) p ↔ (Eval s (a :> e) ε') p