Zulip Chat Archive
Stream: new members
Topic: Preferred tactic selection heuristics
Louis Cabarion (Jul 23 2025 at 01:42):
Do the following tactic selection heuristics sound reasonable? Are there any similar rules of thumb that could be added?
- When both
exact …andsimpcan close a goal, it is generally preferable to useexact …. - When both
simpandsimp_allcan close a goal, it is generally preferable to usesimp. - When both
simp_allandgrindcan close a goal, it is generally preferable to usesimp_all. - When both
grindandomegacan close a goal, it is generally preferable to usegrind. - When both
omegaandaesopcan close a goal, it is generally preferable to useomega.
Kenny Lau (Jul 23 2025 at 01:42):
I don't actually know which one is preferred out of rw and simp only
Louis Cabarion (Jul 23 2025 at 01:55):
It would be nice to have tactic selection heuristics also for the pairs:
simpvs.{abel, assumption, congr, contradiction, linarith, norm_num, positivity, ring, tauto, trivial}: do we always want to usesimpin these cases?grindvs.{abel, assumption, congr, contradiction, linarith, norm_num, positivity, ring, tauto, trivial}: when isgrindthe proper choice?
Any ideas/opinions?
Kyle Miller (Jul 23 2025 at 02:58):
1: It depends on what exact is doing. Is it causing lots of definitions to unfold? Is it doing "defeq abuse"? Then no, simp would be preferred.
3: Both simp_all and grind can be better than the other, even if both close the goal. I'd time it. Even so, I might prefer grind.
4: Yes, prefer grind because it's meant to subsume omega, and omega I believe is planned to be deprecated, eventually.
Kyle Miller (Jul 23 2025 at 03:04):
My opinion: the rule of thumb is that you should use the tactic that logically makes sense to use, and if it's slow you may want to consider alternatives. The valuable thing here is knowing what alternatives are available; it's unclear to me what the purpose of further heuristics are. Maintainable proofs? Fast proofs? Easier-to-write proofs? Etc.
Last updated: Dec 20 2025 at 21:32 UTC