Closed mezpusz closed 8 months ago
This also contains two new induction schedules: struct_induction_tip
and intind_oeis
optimized for the tip benchmarks Tons of Inductive Problems and for OEIS problems (https://easychair.org/publications/paper/3hgH).
could you please add comments explaining what the new functions do and what they're used for (when it's not obvious from the name)?
@hzzv I added comments where I saw fit (including stuff in Induction.*pp
which was not commented before). Feel free to add something that you feel should be documented (better).
This PR includes various improvements and features on (mostly) inductive reasoning:
define-fun[-rec]
blocks in SMTLIB are handled specially for inductive reasoning via some new options, including using them as rewrite rules (-fnrw on
) and creating induction schemas based on their case distinctions/well-founded orders (-sik recursion
).define-funs-rec
(exists in SMTLIB 2.6), allowing for mutually recursive functions.While creating the above mentioned schedules, the features were extensively tested, so hopefully everything works at least as well as they worked before.