lean4-htt/tests/server_interactive/incrementalCombinator.lean
Garmelon a3cb39eac9
chore: migrate more tests to new test suite (#12809)
This PR migrates most remaining tests to the new test suite. It also
completes the migration of directories like `tests/lean/run`, meaning
that PRs trying to add tests to those old directories will now fail.
2026-03-06 16:52:01 +00:00

101 lines
1.9 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/-! Incremental reuse in combinator -/
def case (h : a b c) : True := by
cases h
case inr h =>
cases h
case inl =>
dbg_trace "c 0"
dbg_trace "c 1"
dbg_trace "c 2"
--^ sync
--^ insert: ".5"
/-!
`case` with multiple tags should *not* be accidentally incremental, leading to e.g. kernel errors.
-/
-- RESET
def case2 (h : a b c) : True := by
cases h
case inl | inr =>
skip
sorry
--^ sync
--^ insert: " "
--^ collectDiagnostics
-- RESET
def cdot (h : a b) : True := by
cases h
. dbg_trace "d 0"
dbg_trace "d 1"
dbg_trace "d 2"
--^ sync
--^ insert: ".5"
dbg_trace "d 3"
-- RESET
def have : True := by
dbg_trace "h 0"
have : True := by
dbg_trace "h 1"
dbg_trace "h 2"
--^ sync
--^ insert: ".5"
dbg_trace "h 3"
/-!
Updating the `have` header should update the unsolved goals position (and currently re-run the body)
-/
-- RESET
def spaceHave : True := by
have : True := by
--^ collectDiagnostics
--^ insert: " "
--^ collectDiagnostics
dbg_trace "sh"
-- RESET
def next : True := by
next =>
dbg_trace "n 0"
dbg_trace "n 1"
--^ sync
--^ insert: ".5"
-- RESET
def if : True := by
if h : True then
dbg_trace "i 0"
dbg_trace "i 1"
--^ sync
--^ insert: ".5"
else
skip
/-!
Removing an extraneous case should not stick around.
-/
-- RESET
example (n : Nat) : n = n := by
induction n with
| zero => simp
--v sync
--v delete: "| one => sorry"
| one => simp
| succ => simp
--^ collectDiagnostics
/-!
"Missing alternative name" should not stick around.
-/
-- RESET
example (n : Nat) : n = n := by
induction n with
| zero => simp
| -- insert here
--^ sync
--^ insert: "succ => sorry"
--^ collectDiagnostics