Both direct utility function and Frisch cost function representations of demand system rank are derived. The results are used to construct a revealed preference (GARP) type test of rank. They are also used to derive results involving block separability, additive separability, and the class of all arbitrary direct utility functions (including Machina and other non-expected utility preferences) that are necessary and sufficient for portfolio separation and money separation. Some implications of these results are provided, including a generalization of the CAPM.