|logic||category theory||type theory|
|true||terminal object/(-2)-truncated object||h-level 0-type/unit type|
|false||initial object||empty type|
|proposition||(-1)-truncated object||h-proposition, mere proposition|
|cut rule||composition of classifying morphisms / pullback of display maps||substitution|
|cut elimination for implication||counit for hom-tensor adjunction||beta reduction|
|introduction rule for implication||unit for hom-tensor adjunction||eta conversion|
|logical conjunction||product||product type|
|disjunction||coproduct ((-1)-truncation of)||sum type (bracket type of)|
|implication||internal hom||function type|
|negation||internal hom into initial object||function type into empty type|
|universal quantification||dependent product||dependent product type|
|existential quantification||dependent sum ((-1)-truncation of)||dependent sum type (bracket type of)|
|equivalence||path space object||identity type|
|equivalence class||quotient||quotient type|
|induction||colimit||inductive type, W-type, M-type|
|higher induction||higher colimit||higher inductive type|
|completely presented set||discrete object/0-truncated object||h-level 2-type/preset/h-set|
|set||internal 0-groupoid||Bishop set/setoid|
|universe||object classifier||type of types|
|modality||closure operator, (idemponent) monad||modal type theory, monad (in computer science)|
|linear logic||(symmetric, closed) monoidal category||linear type theory/quantum computation|
|proof net||string diagram||quantum circuit|
|(absence of) contraction rule||(absence of) diagonal||no-cloning theorem|
|synthetic mathematics||domain specific embedded programming language|
The term modal logic refers to an enrichment of standard formal logic where the standard operations (and, or, not, implication and perhaps forall, etc.) are accompanied by certain extra operations – called modal operators and often denoted by “” and “” or similar – such that for any proposition the expression is a new proposition whose interpretation is roughly as “ holds (only) in some mode” or “ holds (only) in a certain way”, such as: “ is possibly true”, “ will eventually become true”, “ is believed to be true”, etc.
There is no established axiom set that an operator on propositions has to satisfy to count as a modal operator. As a result, for instance in the preface of (Blackburn-deRijke-Venema) et al.) it says
‘Ask three modal logicians what modal logic is, and you are likely to get at least three different answers’.
Hence there is a good bit of flexibility in the notion modal logic. The archetypical example of a modal logic, often taken to be the default example, is a system, called S4 modal logic or some slight variants (S1, S2, …) of it, that aims to model the idea of propositions being “possibly true” or “necessarily true”. We list and discuss further examples of modal logic in more detail below in Examples.
One way to view the axioms of S4 modal logic is as being those of propositional logic together with a co-monad on the universe of propositions. Accordingly, many other flavours of modal operators that are being considered (but not all) are also (co)monads, see below at modal type theory – Relation to monads. This has an evident generalization to modal type theory, which is concerned with type theories equipped with (co)monads on their type universe. Hence when restricted to modalities that are required to be (co)monads, then modal logic is the counterpart in computational trinitarianism to category theory making use of closure operator monads and to computer science with monads in computer science.
Modal logics have semantics in terms of sets with relations, called Kripke frames in the context of modal logic. They also have algebraic semantics in terms of algebras with (co)-closure operators. For instance, temporal logics can have posets as models.
Modal logics are built on modal languages, that is the usual propositional language plus those extra modalities. (Note that modalities may also be added to predicate logic, see first-order modal logic.) The way the modalities work has to be laid down in an axiom system for the logic in question, for instance, for the temporal logic we might require an axiom saying ‘If is true, then is true’, which will read a ‘if it is going be true in the future that is going to be true in the future, then …’, see temporal logic. (Is this going to be something what we might want in ‘provability logic’; is it the case that we should expect that if it is provable that something is provable then that something must be itself provable. This concentrates the modelling process on exactly how we wish to have our ‘context’ to behave.) In this way the relational nature of a context that we are looking at can get encoded into the logic.
Modal languages add one or more modal operator, often denoted or into the usual propositional logics. (For the moment, we will keep things fairly simple so assume these to be unary operators and we will not be considering operators that have more than one input, for the moment at least. The general case will be considered later on, but in any case is discussed in detail in some of the books on modal logic listed below.)
We will give a modal language with modal operators, , , which can be applied to propositions of the language to form new propositions. If , we will refer to the language, defined below, as the basic modal language.
We suppose given a set of variables, the -operator basic modal language, , given by
where the are the propositional variables ordered by finite ordinals, , and, as usual, is a modality for each .
This form of definition needs a bit of interpreting if you have not met it before. It gives a way of deciding if a formula is ‘well-formed’. The well formed formulae of are defined as follows: A formula is either
a proposition variable,
the propositional constant , that is falsum,
a negated formula,
a disjunction of two formulae, or
a formula prefixed by one of the diamonds / modal operators.
The basic modal language will be . We will sometimes write for the set of propositional variables / atomic formulae or whatever other reasonable term is used in a context.
The interpretation of depends on the context (to some extent), but in the initial form here it is usually said to mean ‘possibly ’.
Some authors use an equivalent generation rule using , which is . Of course, this interprets as ‘necessarily ’ in this initial form. In epistemic logic the basic modal language interprets as saying ‘the agent knows that ’.
Other formulations replace and by implication , or by and .
A modal logic in is any set of -formulae such that
One of the basic axiom systems leads to normal modal logics.
Suppose given a normal modal logic, in . A formula is -deducible from a set, of formulae, if there are finitely many formulae such that
that is the formula is in .
As the set of all formulae in satisfies the conditions for a logic and any intersection of logics is itself also a logic, we have that given a set of formulae decreed to be ‘axioms’ for a logic, there is a smallest modal logic containing them.
Here is a brief list of flavors of modal logic. More details are discussed below.
dynamic logic?: after the program/computation/action finishes, the program enables, throughout the computation;
tense logic: henceforth, eventually, hitherto, previously, now, tomorrow, yesterday, since, until, inevitably, finally, ultimately, endlessly, it will have been, it is being …
deontic logic: it is obligatory/forbidden/permitted/unlawful that
doxastic logic: it is believed that
geometric logic: it is locally the case that
metalogic: it is valid/satisfiable/provable/consistent that (Goldblatt).
The metalogical version was important in the history of modern modal logic. Gödel played an important role there.
The usual semantics of modal languages is in terms of frames, and this is where the link with relational structures comes in. (These are quite often called ‘Kripke frames’ as Kripke was one of the first to use relational semantics in this context.
A discussion of the history can be found in (BlackburnDeRijkeVenema, page 42).
(As there is another sense to frame as the dual of a locale, we need to consider the terminology here and where necessary will use frame (modal logic) as the entry name.) A more detailed discussion of frames, models and the whole question of the semantics of modal logics is to be found at that entry.
Modal logics are thus also the logics of relational structures, in fact, Blackburn et al (see references) have as their first slogan: Modal languages are simple but expressive languages for talking about relational structures. The temporal logic that satisfies the axiom has models that are posets, for instance, whilst many of the epistemic logics have models which are sets with equivalence relations on them. In each case, the idea is that the relational structure gives all the possible states of some system and the modal logic describes that system. This explains the great interest in computer science and artificial intelligence of applications of modal logics.
The usual algebraic semantics of modal logic is in terms of Boolean algebras with operators and is described in the entry algebraic models for modal logic.
The geometric / relational /Kripke semantics of modal logics are instances of coalgebraic semantics. This type of semantics also provides an excellent motivation and intuition for various types of modal logic that arise naturally in computer science.
Every category comes with its internal logic. Modal operators in this internal logic can at least sometimes be identified with (co)reflectors into specified (co)reflective subcategories. See at modal type theory for more on this.
General texts on modal logics include
Marcus Kracht, Tools and Techniques in Modal Logic, Studies in Logic and the Foundation of Mathematics, 142, Elsevier, 1999.
Stanford Encyclopedia of Philosophy, Modern Origins of Modal Logic
Stanford Encyclopedia of Philosophy, modal logic
Here is what I consider one of the biggest mistakes in all of modal logic: concentration on a system with just one modal operator. (p. 161)