This project developed a web-based tool designed to showcase
defeasible reasoning processes, specifically focusing on Rational
Closure and Lexicographic Closure. The application allows users to
input knowledge bases and queries, displaying the reasoning steps.
The software, built with
Java (back-end) and
TypeScript/ReactJS
(front-end), implements algorithms for defeasible entailment.
The back-end system employs the Javalin framework to create
RESTful APIs, enabling interaction between the front-end and core
reasoning algorithms, which leverage the
TweetyProject
library. The tool computes Base Rank, Rational Closure, and
Lexicographic Closure algorithms and displays results in a
structured manner, aiding in understanding how conclusions are
derived.
This tool allows users to edit defeasible implication, edit the
knowledge base and upload the knowledge base from a text file. The
user can compute defeasible entailment. The formulas in this tool
are entered as plain text but displayed as Math formulas.
The Summary section shows the entailment results,
initial ranking, final rankings and the time taken to compute
algorithms. The Base Rank sections shows a
step-by-step process on how to construct initial ranking from a
given knowledge base. The
Rational Closure section shows a step-by-step
process starting with initial ranking, to removing ranks and
getting the entailment results. The
Lexicographic Closure section shows a
step-by-step process starting with initial ranking, weaking ranks,
removing ranks, and getting the entailment results.
This web tool demonstrates the defeasible reasoning process and
serves as a debugger for identifying exceptional knowledge base
statements. Future work could focus on extending the software to
handle other forms of defeasible entailment, such as Relevant
Closure, and on adding optimized entailment algorithms to the
tool.