Can you imagine a world where no contradictions are allowed? Or maybe just a world where penguins don't exist?

Propositional Reasoning

is monotonic, this means that elements of knowledge are absolute and previously drawn conclusions cannot be retracted given new information.

Defeasible Reasoning

is non-monotonic, this allows for a more "common-sense” approach to reasoning in which elements of knowledge are typically true and not always definite.

Do penguins fly or not?
Propositional reasoning would determine that birds can fly, penguins are birds, therefore penguins fly, as well as penguins don’t fly, thus concluding penguins don’t exist. Defeasible reasoning would determine that penguins don’t fly and would retract the statement that birds fly from the knowledge base.
In 1992, Daniel Lehmann (i.e., on the left) and Menachem Magidor (i.e., on the right) proposed the rational method of defeasible entailment, namely the Rational Closure. In 1995, it was Lehmann who proposed the less conservative approach called the Lexicographic Closure.
Project Goals

Optimised reasoner console-application

To develop an optimised reasoner console-application that integrates an existing propositional reasoner and is based on some defeasible knowledge base, that implements the Rational Closure and Lexicographic Closure.



To refine the optimisation approaches, used to increase the scalability of the Rational Closure and Lexicographic Closure implementations, compared to the previous year's SCADR project.


Empirical Results

To acquire empirical results that show the effective performance of our optimization techniques, considering the size of knowledge bases and the number of queries.

Rational Closure
Rational closure follows prototypical reasoning which focuses on the most prominent features of the model which are the first features that come to mind when a category is analysed.
Lexicographic Closure
Lexicographic closure follows presumptive reasoning which means that statements within the knowledge base are only provisionally acceptable even when they are correct.
Why is this important?
Knowledge representation and reasoning formally represents and enables reasoning of information about the world. Understanding these underlying approaches and its usefulness is imperative to AI. An implementation of automated defeasible reasoning would signify a large contribution to the logic-based AI community (especially in robotics and medical decision-making systems). Currently, there exists no standalone implementation of defeasible reasoning apart from the previous year’s SCADR project. While there are many implementations of classical reasoners, this style of reasoning is very limited due to their inability to maintain the property of monotonicity in the presence of contradictory information.
Evashna Pillay

“This project has encouraged me to step out of my comfort zone, and learn something new and interesting. It tested my existing knowledge of algorithms and allowed me to extend my skillset.” To get in touch, email me at

Dhiresh Thakor Vallabh

“This project has been a thought-provoking endeavour from both a technical and theoretical standpoint. I am proud to have worked on such an interesting project with my brilliant colleagues.” To get in touch, email me at

Thomas Meyer

To get in touch, email at .

This research was completed as part of the Computer Science Honours programme at the University of Cape Town.

Address: Computer Science Building, 18 University Avenue North, Rondebosch, Cape Town, 7700



Telephone: +27 (0)21 650 2663