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. Heavily influenced by "Artificial Intelligence: A Modern Approach" (Russell & Norvig). Intended first and foremost to assist with learning and experimentation, but does include extension points (and async support) so that it is at least conceivable that it could be (extended to be) useful in a production scenario. Includes:
As mentioned above, the main goal here is for it to be a resource for learning and experimentation. As such, care has also been taken to include good type and member documentation, as well as Source Link to allow for debugging - and explanatory inline comments in the source code where appropriate.
Full documentation can be found via the SCFirstOrderLogic repository readme.