Is there one for Cartesian product?
No. The Set object implements a finite set of reals; it is not a general set. It is there in order to allow operations on Intervals, which can result in singleton sets, as in [1,2] - (1,2]
or sets of isolated reals, as in [1,2] - (1,2)
, and so on. It was never meant to be an arbitrary set. The various set operations are implemented in a way that depends on them being sets of reals, so it would not be easy to extend this to sets of points, for example, as needed for a Cartesian product. One would also need to have a more general object to deal with products of continuous objects, like an interval cross an interval, for which there is no current MathObejct class. All of that could be done, of course, but it is a non-trivial project.
where can one find the list of existing operation on Sets?
The
MathObject Wiki page is the main documentation for MathObjects (of which Set is one), and the
Set page lists the operations and methods that can be called on a Set. There are similar pages for Interval and Union, and the other MathObject classes.