Basic but fully functional and documented first-order logic implementations. Includes models for raw and CNF formulas, as well as extensible logic for creating, manipulating, formatting and indexing them.
$ dotnet add package SCFirstOrderLogicBasic but fully functional and documented first-order logic implementations. Includes:
Created just for fun while reading chapters 8 and 9 of Artificial Intelligence: A Modern Approach (3rd Edition - ISBN 978-1292153964) - so may prove interesting to the C#-inclined reading the same book. The "official" C# repository for the book does of course cover these chapters, but given that what I've found there isn't (IMHO) very useful, here we are. The main goal here is for it to be a learning resource. As such, care has been taken to include decent XML documentation, functionality for explaining the results of queries, and explanatory inline comments in the source code where appropriate. For production scenarios, there are obviously other better inference engines out there - that generally use more powerful logics than first-order.
For usage guidance, please consult the user guide.