I think the problem here is that enumerating over a disjoint union of an infinite set and a finite set will never reach the elements in the finite set. There is this comment in the documentation of DisjointUnionEnumeratedSets
Possible extensions: the current enumeration order is not suitable > for unions of infinite enumerated sets (except possibly for the > last one). One could add options to specify alternative enumeration > orders (anti-diagonal, round robin, ...) to handle this case. so the workaround is to first enumerate over the finite set and then the infinite set, as the last enumerated set in the union will determine whether the disjoint union is finite or not: sage: DisjointUnionEnumeratedSets([NonNegativeIntegers(), Family('x')]) in FiniteSets() True sage: DisjointUnionEnumeratedSets([Family('x'), NonNegativeIntegers()]) in FiniteSets() False -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/aeb3c3ba-c804-428d-9119-2629950be6cbo%40googlegroups.com.