Reported by Heather Macbeth. Closes #4334 --------- Co-authored-by: Heather Macbeth <25316162+hrmacbeth@users.noreply.github.com>
57 lines
939 B
Text
57 lines
939 B
Text
/-!
|
|
# Fix for issue #4334
|
|
|
|
Non-terminal "partial" `calc` could erroneously fail if there was mdata in the type.
|
|
-/
|
|
|
|
/-!
|
|
Worked before.
|
|
-/
|
|
/--
|
|
error: unsolved goals
|
|
case calc.step
|
|
x y : Nat
|
|
⊢ 8 ≤ 10
|
|
-/
|
|
#guard_msgs in
|
|
example {x y : Nat} : x + y ≤ 10 := by
|
|
calc x + y ≤ 7 := sorry
|
|
_ = 8 := sorry
|
|
done
|
|
|
|
/-!
|
|
Worked after adding a `consumeMData`.
|
|
-/
|
|
/--
|
|
error: unsolved goals
|
|
case calc.step
|
|
x y : Nat
|
|
hk : x + y = 4
|
|
⊢ 8 ≤ 10
|
|
-/
|
|
#guard_msgs in
|
|
example {x y : Nat} : x + y ≤ 10 := by
|
|
have hk : x + y = 4 := sorry
|
|
calc x + y ≤ 7 := sorry
|
|
_ = 8 := sorry
|
|
done
|
|
|
|
/-!
|
|
Worked after adding an `instantiateMVars` for the proof type after elaborating `calc`.
|
|
-/
|
|
/--
|
|
error: unsolved goals
|
|
case calc.step
|
|
x y : Nat
|
|
hk : x + y ≤ 7
|
|
⊢ 8 ≤ 10
|
|
-/
|
|
#guard_msgs in
|
|
example {x y : Nat} : x + y ≤ 10 := by
|
|
have hk : ?a := ?b
|
|
case b =>
|
|
exact (sorry : x + y ≤ 7)
|
|
calc
|
|
x + y ≤ 7 := hk
|
|
_ = 8 := sorry
|
|
done
|