You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
import tactic.ring tactic.zify
open tactic
example (a b c : ℕ) (h : b + a < c + a) : b < c :=
begin
zify at h,
rw ← sub_lt_sub_iff_right (a : ℤ) at h,
ring at h, -- this line succeeds, but doesn't cancel the `a`s
ring at h, -- this also succeeds and cancels the `a`send
I assumed at first this was another uninstantiated mvar bug, but surprisingly, it doesn't seem to be. The first ring changes some type class instances but doesn't go any further.
I couldn't replicate it without zify and the rw. In particular, manually inserting casts at the beginning makes the problem go away.
@digama0 any instinct here? Maybe zify is bringing in some non-canonical type class instances somehow, but I'm still not sure how/where this interferes with ring.
The text was updated successfully, but these errors were encountered:
import tactic.ring tactic.zify
open tactic
example (a b c : ℕ) (h : b + a < c + a) : b < c :=
begin
zify at h,
rw ← sub_lt_sub_iff_right (a : ℤ) at h,
ring_nf at h,
end
I assumed at first this was another uninstantiated mvar bug, but surprisingly, it doesn't seem to be. The first
ring
changes some type class instances but doesn't go any further.I couldn't replicate it without
zify
and therw
. In particular, manually inserting casts at the beginning makes the problem go away.@digama0 any instinct here? Maybe
zify
is bringing in some non-canonical type class instances somehow, but I'm still not sure how/where this interferes withring
.The text was updated successfully, but these errors were encountered: