I don't think "eq.subs" is the function that's supposed to do this.  My under is that subs is supposed to preserve mathematical equality, and this doesn't.