I also agree to remove this comment. mpmath's float is not implemented as an interval (there is mpi, but that's separate). Better reasoning would be something like "Even though a Float may be represented internally as a rational number in some sense, they do not follow properties that rational numbers satisfy, which the assumptions system require (e.g., sqrt(float) is always a float, which would lead to the faulty implication sqrt(rational) -> rational). Floating point arithmetic also lacks some of the field properties required by rationals, due to loss of precision (like associativity)."