Sine Qua Non premise selection #
This is an implementation of the "Sine Qua Non" premise selection algorithm, from "Sine Qua Non for Large Theory Reasoning" by Hodor and Voronkov.
It needs to be tuned and evaluated for Lean.
Equations
- Lean.LibrarySuggestions.SineQuaNon.sineQuaNonTheorems trigger = do let map ← Lean.LibrarySuggestions.SineQuaNon.sineQuaNonTriggerMap✝ pure (Std.TreeMap.getD map trigger [])
Instances For
def
Lean.LibrarySuggestions.SineQuaNon.sineQuaNon
(names : NameSet)
(maxSuggestions : Nat)
(depthFactor : Float := 1.5)
(frequencyWeight : Float := 1e-2)
:
This isn't exactly what's described in the paper.
We select theorems in a priority order, where the priority is 1.5 ^ (trigger depth) * Π (tolerances).
The 1.5 factor could be tuned.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.