ALC reasoner experiment with syntax generator
This is my ongoing project to develop an ALC tableau reasoner.
Currently the random syntax generator is functional and accessible through the main test class. To create a random KnowledgeBase you can either make a new KnowledgeBase(int,int) with the sizes you want and it will build one for you, or you can make it from an ABox and TBox. There are also functions to manually input axioms if you want, though this is rather tedious and not the intent of the project. KnowledgeBases are by default not in normal form. You can add an NNF copy to a KnowledgeBase via the normalize() method.
The default toString() method displays detailed debugging information, but OWL functional syntax and Description Logic style output can be obtained from the toFSString() and toDLString() methods on a generated Knowledge Base. This is useful primarily when written to a text file. A method is included in in the main class that does file writing for you.
The Javadoc might be helpful if anything is unclear.
Tips:
The Exmple folder contains an executable .jar and sample files generated by the syntax generator. This output was reorganized for upload to GitHub but the files themselves have not been altered.
Settings Used to Produce Sample Output: