A set is finite if the subtype is a fintype, i.e. there is a list that enumerates its members.
A set is infinite if it is not finite.
Get a finset from a finite set
Membership of a subset of a finite type is decidable.
Using this as an instance leads to potential loops with subtype.fintype under certain decidability assumptions, so it should only be declared a local instance.
There are finitely many subsets of a given finite set