27 lines
566 B
Text
27 lines
566 B
Text
new_frontend
|
|
|
|
open Lean
|
|
|
|
syntax [myintro] "intros" (sepBy ident ",") : tactic
|
|
|
|
macro_rules [myintro]
|
|
| `(tactic| intros $x*) => pure $ Syntax.node `Lean.Parser.Tactic.intros #[Syntax.atom {} "intros", mkNullNode x.getSepElems]
|
|
|
|
theorem tst1 {p q : Prop} : p → q → p :=
|
|
by {
|
|
intros h1, h2;
|
|
assumption
|
|
}
|
|
|
|
theorem tst2 {p q : Prop} : p → q → p :=
|
|
by {
|
|
intros h1; -- the builtin and myintro overlap here.
|
|
intros h2; -- the builtin and myintro overlap here.
|
|
assumption
|
|
}
|
|
|
|
theorem tst3 {p q : Prop} : p → q → p :=
|
|
by {
|
|
intros h1 h2;
|
|
assumption
|
|
}
|