The first argument is not the/a PowerSet (which is the set of all sets), it's just a ListOfList or a ListOfOrdSet.
The intersection of the Power Set is of course always the empty set...
And it must be a ListOfOrdSet!
?- ord_intersection([[a],[a,b],[c,b,a]],X). X = .
?- ord_intersection([[a],[a,b],[a,b,c]],X). X = [a].