proposition: Fact fol_sem_lconj_app l m φ : ⟪fol_lconj (l++m)⟫ φ <-> ⟪fol_lconj l⟫ φ /\ ⟪fol_lconj m⟫ φ.
proof: Proof. rewrite !fol_sem_lconj; split. + intros H; split; intros; apply H, in_app_iff; firstorder. + intros (H1 & H2) f; rewrite in_app_iff; firstorder. Qed.
imports: List Arith Lia 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) Undecidability.Shared.ListAutomation