Default logic can express facts like “by default, something is true”; by contrast, standard logic can only express that something is true or that something is false. This is a problem because reasoning often involves facts that are true in the majority of cases but not always. A classical example is: “birds typically fly”. This rule can be expressed in standard logic either by “all birds fly”, which is inconsistent with the fact that penguins do not fly, or by “all birds that are not penguins and not ostriches and ... fly”, which requires all exceptions to the rule to be specified. Default logic aims at formalizing inference rules like this one without explicitly mentioning all their exceptions.
According to this default, if we believe that is true, and each of is consistent with our current beliefs, we are led to believe that is true.
The logical formulae in and all formulae in a default were originally assumed to be first-order logic formulae, but they can potentially be formulae in an arbitrary formal logic. The case in which they are formulae in propositional logic is one of the most studied.
This rule means that, if is a bird, and it can be assumed that it flies, then we can conclude that it flies. A background theory containing some facts about birds is the following one:
According to this default rule, a condor flies because the precondition is true and the justification is not inconsistent with what is currently known. On the contrary, does not allow concluding : even if the precondition of the default is true, the justification is inconsistent with what is known. From this background theory and this default, cannot be concluded because the default rule only allows deriving from , but not vice versa. Deriving the antecedents of an inference rule from the consequences is a form of explanation of the consequences, and is the aim of abductive reasoning.
A common default assumption is that what is not known to be true is believed to be false. This is known as the Closed World Assumption, and is formalized in default logic using a default like the following one for every fact .
For example, the computer language Prolog uses a sort of default assumption when leading with negation: if a negative atom cannot be proved to be true, then it is assumed to be false. Note, however, that Prolog uses the so-called negation as failure: when the interpreter has to evaluate the atom , it tries to prove that is true, and conclude that is true if it fails. In default logic, instead, a default having as a justification can only be applied if is consistent with the current knowledge.
A default is categorical or prerequisite-free if it has no prerequisite (or, equivalently, its prerequisite is tautological). A default is normal if it has a single justification that is equivalent to its conclusion. A default is supernormal if it is both categorical and normal. A default is seminormal if all its justifications entail its conclusion. A default theory is called categorical, normal, supernormal, or seminormal if all defaults it contains are categorical, normal, supernormal, or seminormal, respectively.
A default rule can be applied to a theory if its precondition is entailed by the theory and its justifications are all consistent with the theory. The application of a default rule leads to the addition of its consequence to the theory. Other default rules may then be applied to the resulting theory. When the theory is such that no other default can be applied, the theory is called an extension of the default theory. The default rules may be applied in different order, and this may lead to different extensions. The Nixon diamond example is a default theory with two extensions:
Since Nixon is both a Republican and a Quaker, both defaults can be applied. However, applying the first default leads to the conclusion that Nixon is not a pacifist, which makes the second default not applicable. In the same way, applying the second default we obtain that Nixon is a pacifist, thus making the first default not applicable. This particular default theory has therefore two extensions, one in which is true, and one in which is false.
The original semantics of default logic was based on the fixed point of a function. The following is an equivalent algorithmic definition. If a default contains formulae with free variables, it is considered to represent the set of all defaults obtained by giving a value to all these variables. A default is applicable to a propositional theory if and all theories are consistent. The application of this default to leads to the theory . An extension can be generated by applying the following algorithm:
T=W /* current theory */
A=0 /* set of defaults applied so far */
/* apply a sequence of defaults */
while there is a default d that is not in A and is applicable to T
add the consequence of d to T
add d to A
/* final consistency check */
for every default d in A
T is consistent with all justifications of d
This algorithm is non-deterministic, as several defaults can alternatively be applied to a given theory . In the Nixon diamond example, the application of the first default leads to a theory to which the second default cannot be applied and vice versa. As a result, two extensions are generated: one in which Nixon is a pacifist and one in which Nixon is not a pacifist.
The final check of consistency of the justifications of all defaults that have been applied implies that some theories do not have any extensions. In particular, this happens whenever this check fails for every possible sequence of applicable defaults. The following default theory has no extension:
Since is consistent with the background theory, the default can be applied, thus leading to the conclusion that is false. This result however undermines the assumption that has been made for applying the first default. Consequently, this theory has no extensions.
A normal default theory is guaranteed to have at least one extension. Furthermore, the extensions of a normal default theory are mutually inconsistent, i.e., inconsistent with each other.
A default theory can have zero, one, or more extensions. Entailment of a formula from a default theory can be defined in two ways: Skeptical : a formula is entailed by a default theory if it is entailed by all its extensions; Credulous : a formula is entailed by a default theory if it is entailed by at least one of its extensions.
Thus, the Nixon diamond example theory has two extensions, one in which Nixon is a pacifist and one in which he is not a pacifist. Consequently, neither nor are skeptically entailed, while both of them are credulously entailed. As this example shows, the credulous consequences of a default theory may be inconsistent with each other.
The following alternative semantics of default logic are all based on the same syntax of the original one. Justified: differs from the original one in that a default is not applied if thereby the set becomes inconsistent with a justification of an applied default; Concise: a default is applied only if its consequence is not already entailed by (the exact definition is more complicated than this one; this is only the main idea behind it); Constrained: a default is applied only if the set composed of the background theory, the justifications of all applied defaults, and the consequences of all applied defaults (including this one) is consistent; Rational: similar to constrained default logic, but the consequence of the default to add is not considered in the consistency check; Cautious: defaults that can be applied but are conflicting with each other (like the ones of the Nixon diamond example) are not applied.
The justified and constrained semantics assign at least an extension to every default theory.
The following variants of default logic differ from the original one on both syntax and semantics. Assertional variants : An assertion is a pair composed of a formula and a set of formulae. Such a pair indicates that is true while the formulae have been assumed consistent to prove that is true. An assertional default theory is composed of an assertional theory (a set of assertional formulae) called the background theory and a set of defaults defined as in the original syntax. Whenever a default is applied to an assertional theory, the pair composed of its consequence and its set of justifications is added to the theory. The following semantics use assertional theories:
Default theories can be translated into theories in other logics and vice versa. The following conditions on translations have been considered: Consequence-Preserving : the original and the translated theories have the same (propositional) consequences; Faithful : this condition only makes sense when translating between two variants of default logic or between default logic and a logic in which a concept similar to extension exists, e.g., models in modal logic; a translation is faithful if there exists a mapping (typically, a bijection) between the extensions (or models) of the original and translated theories; Modular : a translation from default logic to another logic is modular if the defaults and the background theory can be translated separately; moreover, the addition of formulae to the background theory only leads to adding the new formulae to the result of the translation; Same-Alphabet : the original and translated theories are built on the same alphabet; Polynomial : the running time of the translation or the size of the generated theory are required to be polynomial in the size of the original theory.
Translations are typically required to be faithful or at least consequence-preserving, while the conditions of modularity and same alphabet are sometimes ignored.
The translatability between propositional default logic and the following logics have been studied:
Translations exist or not depending on which conditions are imposed. Translations from propositional default logic to classical propositional logic cannot always generate a polynomially sized propositional theory, unless the polynomial hierarchy collapses. Translations to autoepistemic logic exists or not depending on whether modularity or the use of the same alphabet is required.
The computational complexity of the following problems about default logic is known: Existence of extensions : deciding whether a propositional default theory has at least one extension is -complete; Skeptical entailment : deciding whether a propositional default theory skeptically entails a propositional formula is -complete; Credulous entailment : deciding whether a propositional default theory credulously entails a propositional formula is -complete; Extension checking : deciding whether a propositional formula is equivalent to an extension of a propositional default theory is -complete; Model checking : deciding whether a propositional interpretation is a model of an extension of a propositional default theory is -complete.