Zulip Chat Archive
Stream: general
Topic: norm_num and exponentiation
Reid Barton (Aug 01 2019 at 19:04):
This is very slow without the change
, and fast (~1s) with it. I don't really understand norm_num
so I'm at a loss as to why.
The slow version finishes the tactic quickly, but then it seems that the resulting proof is expensive to check.
example : 2^36 = 68719476736 := begin -- change 1*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2 = _, norm_num, end
Rob Lewis (Aug 01 2019 at 19:10):
It's doing kernel computation when it shouldn't -- it's instant if you do it in an arbitrary ring instead of nat
. Not sure why.
Chris Hughes (Aug 01 2019 at 19:12):
No support for nat.pow
I guess. The pow
instance for nat is not monoid.pow
Rob Lewis (Aug 01 2019 at 19:15):
I don't think that's it. norm_num
finds the same proof for both nat
and the arbitrary ring.
Last updated: Dec 20 2023 at 11:08 UTC