perf: disable closed term extraction in bv_decide (#11785)

This PR disables closed term extraction in the reflection terms used by
`bv_decide`. These terms do
not profit at all from closed term extraction but can in practice cause
thousands of new closed term
declarations which in turn slows down the compiler.
This commit is contained in:
Henrik Böving 2025-12-24 00:22:12 +01:00 committed by GitHub
parent f2c9fcc0b2
commit c34e4cf0f7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -309,14 +309,15 @@ where
Add an auxiliary declaration. Only used to create constants that appear in our reflection proof.
-/
mkAuxDecl (name : Name) (value type : Expr) : CoreM Unit :=
addAndCompile <| .defnDecl {
name := name,
levelParams := [],
type := type,
value := value,
hints := .abbrev,
safety := .safe
}
withOptions (fun opt => opt.setBool `compiler.extract_closed false) do
addAndCompile <| .defnDecl {
name := name,
levelParams := [],
type := type,
value := value,
hints := .abbrev,
safety := .safe
}
def lratBitblaster (goal : MVarId) (ctx : TacticContext) (reflectionResult : ReflectionResult)
(atomsAssignment : Std.HashMap Nat (Nat × Expr × Bool)) :