Exactly, that's the point of asserts: checking things that have no reason for not being true. A long read on why this is reasonable can be found [here](https://mail.python.org/pipermail/python-list/2013-November/660401.html). Anecdotally, this [answer](http://stackoverflow.com/a/945135/1191119) begins with "Asserts should be used to test conditions that *should never happen*."

At any rate, I didn't expect this detail to spark a lively discussion ;) Thanks everybody!

The gist of these checks is that in a world without floating point inaccuracies, they would never fail. In real life, they shouldn't because ranks are found in a numerically sound way. If we want to keep the checks (they're cheap, potentially useful, and helpful if someone had to go through the theory again), I thought an assertion was precisely the right error to raise (but incorporating currently-missing error messages!). After thinking about making them runtime warnings, they doesn't seem strong enough (it'd be so odd if it ever happened that it would be worth investigating). Thoughts?