We propose to use the logic of *only knowing* (OL) by Levesque [6] as a unified framework that encompasses various non-monotonic formalisms and logic programming. OL is a modal logic which can be used to formalize an agent's introspective reasoning and to answer epistemic queries to databases. The OL logic allows one to formally express the statement “*α* is *all* I know” (in symbols, O*α*) and to perform inferencing based on only-knowing, which is very useful for commonsense reasoning. Another nice thing about the OL logic is that it has a clear model-theoretic semantics and a simple proof theory, which is sound for the quantificational case, and both sound and complete for the prepositional case.

We establish the relations between OL and various non-monotonic logics (such as default logic, circumscription) and logic programming, thus extending the existing works relating the OL logic with other non-monotonic reasoning formalisms (e.g., Levesque showed [6] that autoepistemic logic can be embeded in OL). This is accomplished by finding the connection between OL and MBNF, the logic of *Minimal Belief and Negation as Failure* proposed by Lifschitz [8, 9], which is known to have close relationship with logic programming and other non-monotonic logics. Our results show that OL can be used as a unified framework to compare different non-monotonic formalisms based on the same domain.