Section MODEL_EXISTENCE.
Variable X : ensemble (frm L).
Let Delta : ensemble (frm L') :=
MaximallyConsistentSet (AddHenkin (E.image embed_frm X)).
Let D : Type :=
trm L'.
Definition interpret_equation (lhs : D) (rhs : D) : Prop :=
Delta ⊢ Eqn_frm lhs rhs.
#[global]
Instance interpret_equation_Equivalence
: Equivalence interpret_equation.
Proof with eauto.
unfold interpret_equation. split.
- intros x. eapply proves_reflexivity...
- intros x y EQ. eapply proves_symmetry...
- intros x y z EQ EQ'. eapply proves_transitivity...
Qed.

Lemma pairwise_equal_symmetry n (vs1 : Vector.t (trm L') n) (vs2 : Vector.t (trm L') n)
(EQUAL : pairwise_equal Delta (vec_to_trms vs1) (vec_to_trms vs2))
: pairwise_equal Delta (vec_to_trms vs2) (vec_to_trms vs1).