proposition: Fact hfs_mem_fin_t t : fin_t (fun s => s ∈ t).
proof: Proof. destruct (btm_finite_t (repr t)) as (l & Hl). exists (map cls l). intros x; simpl; rewrite Hl, in_map_iff; split. + intros (s & H1 & H2). exists s; split; auto. rewrite bt_cls_hfs_repr_iff; auto. + intros (s & H1 & H2). exists s; split; auto. rewrite bt_cls_hfs_repr_iff in H1; auto. Qed.
imports: List Arith Lia Max Wellfounded Setoid Eqdep_dec Bool Undecidability.Shared.Libs.DLW.Utils(utils_tac utils_list finite) Undecidability.Shared.Libs.DLW.Vec(pos vec) Undecidability.Shared.Libs.DLW.Wf(wf_finite wf_chains) Undecidability.FOL.TRAKHTENBROT(notations fol_ops membership btree)