proposition: Fact fin_t_map X Y (f : X -> Y) (P Q : _ -> Prop) : (forall y, Q y <-> exists x, f x = y /\ P x) -> @fin_t X P -> @fin_t Y Q.
proof: Proof. intros H (lP & HP). exists (map f lP). intros x; rewrite in_map_iff, H. firstorder. Qed.
imports: List Arith Lia Eqdep_dec Bool Undecidability.Shared.Libs.DLW.Utils(utils_tac utils_list utils_nat) Undecidability.Shared.Libs.DLW.Vec(pos vec)