feat: make classical tactic incremental (#6575)

This PR ensures tactics are evaluated incrementally in the body of
`classical`.
This commit is contained in:
Sebastian Ullrich 2025-01-08 13:04:31 +00:00 committed by GitHub
parent 680ede7a89
commit 034bc26740
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -24,11 +24,8 @@ def classical [Monad m] [MonadEnv m] [MonadFinally m] [MonadLiftT MetaM m] (t :
finally
modifyEnv Meta.instanceExtension.popScope
@[builtin_tactic Lean.Parser.Tactic.classical]
def evalClassical : Tactic := fun stx => do
match stx with
| `(tactic| classical $tacs:tacticSeq) =>
classical <| Elab.Tactic.evalTactic tacs
| _ => throwUnsupportedSyntax
@[builtin_tactic Lean.Parser.Tactic.classical, builtin_incremental]
def evalClassical : Tactic := fun stx =>
classical <| Term.withNarrowedArgTacticReuse (argIdx := 1) Elab.Tactic.evalTactic stx
end Lean.Elab.Tactic