The goal of this project is to implement an Expert system that resolve a variant of Propositional calculus.
This program handle all of the project proposed bonus rules, OR
and XOR
in conclusions and if and only if (<=>
) rules.
USAGE:
expert-system [OPTIONS] <file_paths>...
ARGS:
<file_paths>... Path to the input file(s)
OPTIONS:
-h, --help Print help information
-i, --interactive Update initial facts and queries in the shell
-v, --visualize Visualize the path to resolve a query
An input file path is always required.
In interactive mode there is several commands to update the input or change the visualization:
e, exec Resolve the current queries
s, show Show the current rules, initial facts and queries
r, rule Add a rule
f, facts Set the initial facts
?, queries Set the queries to resolve
n, next Go to the next file
v, visualize Toggle visualization
h, help Print this help
q, quit Quit the program
- https://en.wikipedia.org/wiki/Expert_system
- https://en.wikipedia.org/wiki/Propositional_calculus
- Parser
- Inference Engine