lean4-htt/tests/lean/run/4334.lean
Kyle Miller a54fa7cae6
fix: partial calc tactic would fail due to mdata or uninstantiated mvars (#4335)
Reported by Heather Macbeth.

Closes #4334

---------

Co-authored-by: Heather Macbeth <25316162+hrmacbeth@users.noreply.github.com>
2024-06-04 01:23:20 +00:00

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