  Epistemic logic, which in its modern formulation is typically traced to von Wright (1951) and Hintikka (1962), is a formal framework designed to foreground these matters. For an influential introductory text, see Fagin et al. (1995). The formal language of epistemic logic extends that of propositional logic with epistemic operators \({\bf B}_a \phi\) and \({\bf K}_a \phi\), pronounced respectively as ‘agent \(a\) believes that \(\phi\),’ and ‘agent \(a\) knows that \(\phi.\)’ When only one agent is under discussion, the subscripts are omitted. (Readers familiar with modal logic will recognize these as analogues of other “box” operators, such as necessity and obligation.)  Given this extension of the language, it is possible to express epistemic principles such as \[{\bf B}(p\rightarrow q)\rightarrow ({\bf B}p\rightarrow {\bf B}q),\] which says that your beliefs are closed under modus ponens, or \[ {\bf B}p \rightarrow {\bf B}{\bf B}p,\] which says that if you believe \(p\), then you also believe that you believe it. Note that although the first principle has natural analogues in AGM (closure) and non-monotonic logic (right weakening), the second principle cannot be straightforwardly expressed in either formalism. For example, in the AGM framework we might understand \(p \in {\mathbf B}\) as saying the same thing as \( {\bf B}p,\) but it is not at all clear how to express \( {\bf BB} p\). (See however Moore (1985) and the auto-epistemology section of the entry on  non-monotonic logic.) Furthermore, epistemic logic has no difficulty expressing principles governing the interaction of knowledge and belief. For example \( {\bf K}p \rightarrow {\bf B}p\) expresses the thesis that everything that is known is also believed. AGM and non-monotonic logic cannot easily say anything about these matters. 