First: it should be `(1/x).subs(x, 0.0) == Float('inf')`, but yes.
Second: I don't understand this. The arguments of a `Piecewise` are `(expr, cond)` pairs where `expr` should be a subclass of `Expr` and `cond` should be a `bool` or a subclass of `Boolean`. On the other hand the arguments of a `And` or `Or` should be a `bool` or a subclass of `Boolean`. I don't see how you could equate the two.