This PR eliminates uses of `intros x y z` (with arguments) and updates the `intros` docstring to suggest that `intro x y z` should be used instead. The `intros` tactic is historical, and can be traced all the way back to Lean 2, when `intro` could only introduce a single hypothesis. Since 2020, the `intro` tactic has superceded it. The `intros` tactic (without arguments) is currently still useful.
25 lines
536 B
Text
25 lines
536 B
Text
open Lean
|
|
|
|
syntax (name := myintro) "intro" sepBy(ident, ",") : tactic
|
|
|
|
macro_rules (kind := myintro)
|
|
| `(tactic| intro $x,*) => pure $ mkNode `Lean.Parser.Tactic.intro #[mkAtom "intro", mkNullNode x]
|
|
|
|
theorem tst1 {p q : Prop} : p → q → p :=
|
|
by {
|
|
intro h1, h2;
|
|
assumption
|
|
}
|
|
|
|
theorem tst2 {p q : Prop} : p → q → p :=
|
|
by {
|
|
intro h1; -- the builtin and myintro overlap here.
|
|
intro h2; -- the builtin and myintro overlap here.
|
|
assumption
|
|
}
|
|
|
|
theorem tst3 {p q : Prop} : p → q → p :=
|
|
by {
|
|
intro h1 h2;
|
|
assumption
|
|
}
|