Why does assume() mess with equality checks?
I ran into this interesting behaviour just now:
sage: bool(10 == log(282475249)/log(7))
True
sage: assume(282475249 == 7^x)
sage: bool(10 == log(282475249)/log(7))
False
Is this a bug? assume(7^x == 282475249)
doesn't trigger the weird behaviour, but I'd expect those two assumptions to be equivalent.
I'm running SageMath version 8.0, Release Date: 2017-07-21
Well, try
assume
the other way around:to add a new question inside the question. I love such questions on a system written to highly serve higher mathematics. (And there is skew proportion of them w.r.t. questions involving e.g. elliptic curves...) Probably that the
assume
tries to replace the LHS every time it can do it, then thebool
has to check for10 == log(7^x)/log(7)
, and even if gets the simplified versionbool( 10 == x )
it may stop here, delivering a false. ThisFalse
meanssage
can not prove (without (further) help) that the assertion is true. It delivers aTrue
iff it can.Note:
assume
does not get all the best of the assumption in most cases. How could it?