The future of FLiP Here are some suggestions for projects to extend FLiP. These are largely independent of each other, so the order they appear here does not indicate any priority or project plan. Projects that extend the core of FLiP, and apply to all logics and programs: - Add a parser, so we can input formulas as strings in the same format as they are now printed by nd, with operator symbols, infix synax, and implicity precedence (optional parentheses). In the present version, formulas must be entered as Formula constructor expressions with operator names, prefix syntax, and lots of required parentheses. - Make it easy to store the results of a proof as a derived rule in the database of rules, so it can be used in subsequent proofs in the same session. In the present version, the only way to add a rule is to add code to a logic module and import it. - Make it easier to define functions and relations in a session. In the present verson, the only way to add these is to define classes in a module and import it (as in the grail.villagers module, for example). - Support automated proof search, or semi-automated proof with tactics. Projects that add logics or checkers: - Add more logics: Peano arithmetic including a rule for induction, sets, lists, etc. - Revise nd or add another checker to support backward proof from goals to premises (proceeding in the order suggested by the proof format shown by the present ptree command). - Add another checker eq for equational logic, along with logics that better support this style of reasoning. There are many examples of equational logics in Gries and Schneider, A Logical Approach to Discrete Math, and Eric Hehner, A Practical Theory of Programming.