Section correctness.
Variable (X : Type) (M2 : fo_model Σ2 X) (Mn : fo_model Σn X).
Notation "⟪ A ⟫" := (fun ψ => fol_sem M2 ψ A).
Notation "⟪ A ⟫'" := (fun φ => fol_sem Mn φ A) (at level 1, format "⟪ A ⟫'").
Let P2 a b := fom_rels M2 tt (a##b##ø).
Let Pn a b := fom_rels Mn tt (a##vec_set_pos (fun _ => b)).
Hypothesis HP : forall x y, P2 x y <-> Pn x y.

Lemma Σ2_Σn_correct (A : fol_form Σ2) φ : ⟪ A ⟫ φ <-> ⟪Σ2_Σn A⟫' φ.