Open jdfm opened 3 months ago
I had the same expectation too, and the proof mentioned above failed for me with this error, which I find rather baffling:
application type mismatch
pow_eq_zero h3
argument
h3
has type
x ^ 2 = 2 ^ 2 : Prop
but is expected to have type
x ^ 2 = 0 : Prop
I'm interested in this too.
I have a related problem:
example {x : ℝ} (hx: x^2 = 0) : x = 0 := by
cancel x at hx
gives the error
cancel failed, could not verify the following side condition:
x : ℝ
hx : x ^ 2 = 0
⊢ 0 < x
Section 2.4.4 says
The tactic cancel will be helpful to deduce that quantities are zero when their squares are known to be zero.
Given the ways that we see
cancel
being used in the book, and given some discussions in the Zulip lean community, I think maybe there is a bug in thecancel
tactic.Would the following not have allowed us to arrive at the goal
x = y
?The original context where I ran into this was when trying to do the following: