proposition: Fact fol_sem_congruence φ : fol_sem M φ fol_congruence <-> Σ_congruence_wrt ls lr M (fun x y => x ≈ y) /\ equiv _ (fun x y => x ≈ y).
proof: Proof. fol equiv conj. + apply fol_congruent_spec. + apply fol_equiv_spec. Qed.
imports: List Arith Lia Relations Undecidability.Shared.Libs.DLW.Utils(utils_tac utils_list utils_nat finite) Undecidability.Shared.Libs.DLW.Vec(pos vec) Undecidability.FOL.TRAKHTENBROT(notations utils fol_ops fo_sig fo_terms fo_logic) Undecidability.Shared.ListAutomation