lean4-htt/tests/server_interactive/plainGoal.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

161 lines
3.6 KiB
Text
Raw 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.

example : αα := by
--^ $/lean/plainGoal
--^ $/lean/plainGoal
intro a
--^ $/lean/plainGoal
--^ $/lean/plainGoal
--v $/lean/plainGoal
focus
apply a
example : αα := by
--^ $/lean/plainGoal
example : 0 + n = n := by
induction n with
| zero => simp; simp
--^ $/lean/plainGoal
| succ
--^ $/lean/plainGoal
example : αα := by
intro a; apply a
--^ $/lean/plainGoal
--^ $/lean/plainGoal
--^ $/lean/plainGoal
example (h1 : n = m) (h2 : m = 0) : 0 = n := by
rw [h1, h2]
--^ $/lean/plainGoal
--^ $/lean/plainGoal
--^ $/lean/plainGoal
example : 0 + n = n := by
induction n
focus
--^ $/lean/plainGoal
rfl
-- TODO: goal state after dedent
example : 0 + n = n := by
induction n
--^ $/lean/plainGoal
example : 0 + n = n := by
cases n
--^ $/lean/plainGoal
example : ∀ a b : Nat, a = b := by
intro a b
--^ $/lean/plainGoal
--^ $/lean/plainGoal
example : αα := (by
--^ $/lean/plainGoal
example (p : α → Prop) (a b : α) [DecidablePred p] (h : ∀ {p} [DecidablePred p], p a → p b) : p b := by
apply h _
--^ $/lean/plainGoal
-- should not display solved goal `⊢ DecidablePred p`
example : True ∧ False := by
constructor
{ constructor }
--^ $/lean/plainGoal
{ }
--^ $/lean/plainGoal
example : True ∧ False := by
constructor
· constructor
--^ $/lean/plainGoal
·
--^ $/lean/plainGoal
theorem left_distrib (t a b : Nat) : t * (a + b) = t * a + t * b := by
induction b
next => simp
next =>
rw [Nat.add_succ]
repeat (rw [Nat.mul_succ])
--^ $/lean/plainGoal
example (as bs cs : List α) : (as ++ bs) ++ cs = as ++ (bs ++ cs) := by
induction as <;> skip <;> (try rename_i h; simp[h]) <;> rfl
--^ $/lean/plainGoal
--^ $/lean/plainGoal
example : True := (by exact True.intro)
--^ $/lean/plainGoal
example : True := (by exact True.intro )
--^ $/lean/plainGoal
example : True ∧ False := by
· constructor; constructor
--^ $/lean/plainGoal
example : True = True := by
conv =>
--^ $/lean/plainGoal
whnf
--^ $/lean/plainGoal
--
--^ $/lean/plainGoal
example : True := by
have : True := by
-- type here
--^ $/lean/plainGoal
-- no `this` here either, but seems okay
--^ $/lean/plainGoal
example : True := by
have : True := by
-- type here
--^ $/lean/plainGoal
apply this
--^ $/lean/plainGoal
-- note: no output here at all because of parse error
example : False := by
-- EOF test
--^ $/lean/plainGoal
example (hp : p) (hq : q) : p ∧ q := by
suffices q ∧ p by
--^ $/lean/plainGoal
example (hp : p) (hq : q) : p ∧ q :=
show id (p ∧ q) by
--^ $/lean/plainGoal
example : True ∧ False := by
constructor
· --
--^ $/lean/plainGoal
--^ $/lean/plainGoal
section
example : True := by induction 1 with
--^ $/lean/plainGoal
example : True := by induction 1 with |
--^ $/lean/plainGoal
example : True := by induction 1 with done
--^ $/lean/plainGoal
end
section
example (f : Nat → Nat) (n : Nat) (hf : ∀ x, f x = x + 0 + 1) : f n + 0 = 1 + n := by
simpa [Nat.add_zero, Nat.add_comm] using hf n
--^ $/lean/plainGoal
--^ $/lean/plainGoal
--^ $/lean/plainGoal
--^ $/lean/plainGoal
end