Introduction to Hybrid Logic
Patrick Blackburn
Department of Philosophy, Roskilde University, Denmark
NASSLLI 2012, University of Austin, Texas
Goals of the course
This mini-course (or, more accurately, extended lecture) introduces and
explores hybrid logic, a form of modal logic in which it is possible to
name worlds (or times, or computational states, or situations, or nodes in
parse trees, or people indeed, whatever it is that the elements of
Kripke Models are taken to represent).
The course has two main goals. The first is to convey, as clearly as
possible, the ideas and intuitions that have guided the development of
hybrid logic. The second is to gently hint at some technical themes, such
as the role of bisimulation and why hybrid logic is so useful proof
theoretically.
Course Outline
Lecture 1: From Modal to Hybrid Logic
Lecture 2: Hybrid deduction
Lecture 3: X marks the spot, or
Living Locally with Downarrow
Lecture 4: Going First-Order
Lecture 5: And Prior to that. . .
Lecture 6: Now for Yesterday, Today and Tomorrow, or
Actually Now Kamp Rules! or
I Can, You Can, We Can, Kaplan
Today: From Modal to Hybrid Logic
In todays lecture we discuss:
Orthodox modal logic from an Amsterdam perspective.
A problem with orthodox modal logic.
Fixing this problem with basic hybrid logic.
Technical theme: bisimulations.
Conceptual theme: What hybrid logic is, and why it is
genuinely modal.
The slides will uploaded to the NASSLLI website.
What is modal logic?
Slogan 1: Modal languages are simple yet expressive languages for
talking about relational structures.
Slogan 2: Modal languages provide an internal, local perspective
on relational structures.
Slogan 3: Modal languages are not isolated formal systems.
These slogans pretty much sum up the Amsterdam perspective
on modal logic.
Propositional Modal Logic
Given propositional symbols PROP = {p, q, r, . . .}, and modality symbols
MOD = {m, m0 , m00 , . . .} the basic modal language (over PROP and
MOD) is defined as follows:
WFF := > | | p | | | |
| hmi | [m]
If theres just one modality symbol in the language, we usually write 3
and 2 for its diamond and box forms.
2 can be regarded as shorthand for 3. And 3 can be regarded as
shorthand for 2.
Kripke Models
A Kripke model M is a triple (W , R, V ), where:
W is a non-empty set, whose elements can be thought of
possible worlds, or epistemic states, or times, or states in a
transition system, or geometrical points, or people standing in
various relationships, or nodes in a parse tree indeed, pretty
much anything you like.
R is a collection of binary relation on W (one for each
modality)
V is a valuation assigning subsets of W to propositional
symbols.
The component (W , R) traditionally call a frame.
Satisfaction Definition
M, w
p iff w V (p), where p PROP
M, w
iff M, w 6
M, w
iff M, w
and M, w
M, w
iff M, w
or M, w
M, w
iff M, w 6
or M, w
M, w
hmi iff w 0 (wR m w 0 & M, w 0
)
M, w
[m] iff w 0 (wR m w 0 M, w 0
).
Note the internal perspective: we evaluate formulas inside
models, at particular states. Modal formulas are like little
creatures that explore models by moving between related
points. This is a key modal intuition, gives rise to the notion
of bisimulation, and is the driving force for at least one
traditional application.
Tense logic
hfi means at some Future state
hpi means at some Past state.
hpi mia-unconscious is true iff we can look back in time from
the current state and see a state where Mia is unconscious.
Works a bit like the sentence Mia has been unconscious.
hfi mia-unconscious requires us to scan the states that lie in
the future looking for one where Mia is unconscious. Works a
bit like the sentence Mia will be unconscious.
Feature logic
Consider the following Attribute Value Matrix (AVM):
person 1st
agreement number singular
case dative
Feature logic
Consider the following Attribute Value Matrix (AVM):
person 1st
agreement number singular
case dative
This is a two-dimensional notational variant of the following modal
formula:
hagreementi (hpersoni 1st hnumberi singular)
hcasei dative
Description logic
And, moving into the heart of ordinary extensional logic, consider
the following ALC term:
killer u [Link]
Description logic
And, moving into the heart of ordinary extensional logic, consider
the following ALC term:
killer u [Link]
This means exactly the same thing as the modal formula:
killer hemployerigangster
But theres lots of other ways of talking about graphs
Theres nothing magic about frames or Kripke models.
Frames (W , R), are just a directed multigraphs (or labelled
transition systems).
Valuations simply decorate states with properties.
So a Kripke model for the basic modal language are just (very
simple) relational structures in the usual sense of first-order model
theory.
So we dont have to talk about Kripke models using modal logic
we could use first-order logic, or second-order logic, or infinitary
logic, or fix-point logic, or indeed any logic interpreted over
relational structures.
Lets see how. . .
First-order logic for Kripke models
Suppose we have a Kripke model (W , R, V ), for the modal
language over MOD and PROP. We talk about this model in
first-order logic by making use of the first-order language built
from the following symbols:
For each propositional symbol p it has a unary predicate
symbol P. Well use V to interpret these predicate symbols.
For each modality hri , it has a binary relation symbol R.
Well use the binary relations in R to interpret these symbols.
The first-order language built over these symbols is called the
first-order correspondence language (for the modal language over
MOD and PROP).
Doing it first-order style (I)
Consider the modal representation
hfi mia unconscious
Doing it first-order style (I)
Consider the modal representation
hfi mia unconscious
we could use instead the first-order representation
t(to <t MIA UNCONSCIOUS(t)).
Doing it first-order style (II)
And consider the modal representation
killer hemployerigangster
Doing it first-order style (II)
And consider the modal representation
killer hemployerigangster
We could use instead the first-order representation
KILLER(x) y (EMPLOYER(x, y ) GANGSTER(y ))
Standard Translation
And in fact, any modal representation can by converted into an
equi-satisfiable first-order representation:
stx (p) = Px
stx () = stx ()
stx ( ) = stx () stx ()
stx (hRi) = y (Rxy sty ())
Note that stx () always contains exactly one free variable (namely x).
Proposition: For any modal formula , any Kripke model M, and any
state w in M we have that: M, w
iff M |= stx ()[x w ].
So arent we better off with first-order logic . . . ?
Weve just seen that any modal formula can be systematically
converted into an equi-satisfiable first-order formula.
And as well later see, the reverse is not possible: first-order
logic can describe models in far more detail that modal logic
can. Some first-order formulas have no modal equivalent.
That is, modal languages are weaker than their corresponding
first-order languages.
So why bother with modal logic?
Reasons for going modal
Reasons for going modal
Simplicity. The standard translation shows us that modalities
are essentially macros encoding a quantification over related
states. Modal notation hides the bound variables, resulting in
a compact, easy to read, representations.
Reasons for going modal
Simplicity. The standard translation shows us that modalities
are essentially macros encoding a quantification over related
states. Modal notation hides the bound variables, resulting in
a compact, easy to read, representations.
Computability. First-order logic is undecidable over arbitrary
models. Modal logic is decidable over arbitrary models
(indeed, decidable in PSPACE). Modal logic trades
expressivity for computability.
Reasons for going modal
Simplicity. The standard translation shows us that modalities
are essentially macros encoding a quantification over related
states. Modal notation hides the bound variables, resulting in
a compact, easy to read, representations.
Computability. First-order logic is undecidable over arbitrary
models. Modal logic is decidable over arbitrary models
(indeed, decidable in PSPACE). Modal logic trades
expressivity for computability.
Internal perspective. A natural way of thinking about
models. And taken seriously, leads to an elegant
characterization of what modal logic can say about models.
Lets take a closer look. . .
Bisimulation (I)
Bisimulation (I)
The fundamental notion of equivalence between states for modal
logic.
Bisimulations are used in other disciplines besides modal logic. Its
role in all of them is to provide an appropriate notion of
equivalence.
Social Network Theory Here they capture the notion of two social
networks being functionally identical, even though they are not
isomorphic. Its the configurations in which the agents stand in various
roles that render two social networks the same.
Theoretical Computer Science Here they embody the notion of
behavioural equivalence for processes.
Non-well-founded Set Theory Here they replace the extensionality as
the criterion of equality: two non-well-founded sets (graphs) are equal iff
they are bisimilar.
Bisimulation (II)
Let M = (W , R, V ) and M0 = (W 0 , R0 , V 0 ) be models for the
same basic modal language. A relation Z W W 0 is a
bisimulation between M and M0 if the following conditions are
met:
Bisimulation (II)
Let M = (W , R, V ) and M0 = (W 0 , R0 , V 0 ) be models for the
same basic modal language. A relation Z W W 0 is a
bisimulation between M and M0 if the following conditions are
met:
1. Atomic harmony: if wZw 0 then w V (p) iff w 0 V 0 (p), for
all propositional symbols p.
Bisimulation (II)
Let M = (W , R, V ) and M0 = (W 0 , R0 , V 0 ) be models for the
same basic modal language. A relation Z W W 0 is a
bisimulation between M and M0 if the following conditions are
met:
1. Atomic harmony: if wZw 0 then w V (p) iff w 0 V 0 (p), for
all propositional symbols p.
2. Forth: if wZw 0 and wRv then there is a v 0 such that w 0 R 0 v 0
and vZv 0 .
Bisimulation (II)
Let M = (W , R, V ) and M0 = (W 0 , R0 , V 0 ) be models for the
same basic modal language. A relation Z W W 0 is a
bisimulation between M and M0 if the following conditions are
met:
1. Atomic harmony: if wZw 0 then w V (p) iff w 0 V 0 (p), for
all propositional symbols p.
2. Forth: if wZw 0 and wRv then there is a v 0 such that w 0 R 0 v 0
and vZv 0 .
3. Back: if wZw 0 and w 0 R 0 v 0 then there is a v such that wRv
and vZv 0 .
Modal formulas are invariant under bisimulation
Proposition: Let M = (W , R, V ) and M0 = (W 0 , R0 , V 0 ) be
models for the same basic modal language, and let Z be a
bisimulation between M and M0 . Then for all modal formulas ,
and all points w in M and w 0 in M such that w is bisimilar to w 0 :
M, w
iff M0 , w 0
.
In words: bisimilar points are modally equivalent, or to put it
another way: modal formulas are invariant under bisimulations.
Proof: Induction on the structure of .
Not all first-order formulas are bisimulation invariant
A first-order formula in one free variable (x) is
bisimulation-invariant if for all bisimulations Z between
models M and M0 , if wZw 0 then M |= [w ] iff M0 |= [w 0 ].
Not all first-order formulas are bisimulation invariant (which
shows that not all first-order formulas can be translated into
modal formulas).
But bisimulation invariance seems to be a natural property in
various domains, so it is natural to ask: precisely which
first-order formulas are bisimulation invariant? The answer is
elegant . . .
The van Benthem Characterization Theorem
For all first-order formulas (in the correspondence language)
containing exactly one free variable, is bisimulation-invariant iff
is equivalent to the standard translation of a modal formula.
In short, modal logic is a simple notation for capturing exactly the
bisimulation-invariant fragment of first-order logic.
Proof:
() Immediate from the invariance of modal formula under
bisimulation.
() Non-trivial (usually proved using elementary chains or by
appealing to the existence of saturated models).
Back to slogan 3
Slogan 3: Modal languages are not isolated formal systems.
Modal languages over models are essentially simple fragments of
first-order logic. These fragments have a number of attractive
properties such as robust decidability and bisimulation invariance.
Traditional modal notation is essentially a nice (quantifier free)
macro notation for working with this fragment.
Back to slogan 2
Slogan 2: Modal languages provide an internal, local perspective
on relational structures.
This is not just an intuition: the notion of bisimulation, and the
results associated with it, shows that this is the key model
theoretic fact at work in modal logic.
Back to slogan 1
Slogan 1: Modal languages are simple yet expressive languages for
talking about relational structures.
You can use modal logic for just about anything. Anywhere you
see a graph, you can use a modal language to talk about it.
That was the good news now comes the bad
Orthodox modal languages have an obvious drawback for many
applications: they dont let us refer to individual states (worlds,
times, situations, nodes, . . . ). That is, they dont allow us to say
things like
this happened there; or
this happened then; or
this state has property ; or
node peters-printer is marked out of paper.
and so on.
Temporal logic
Temporal representations in Artificial Intelligence (such as
Allens system, and the situation calculus) based around
temporal reference and for good reasons.
Worse, standard modal logics of time are completely
inadequate for the temporal semantics of natural language.
Vincent accidentally squeezed the trigger doesnt mean that
at some completely unspecified past time Vincent did in fact
accidentally squeeze the trigger, it means that at some
particular, contextually determined, past time he did so. The
representation, hpi vincent accidentally squeeze trigger
fails to capture this.
Tense in text
Vincent woke up. Something felt very wrong. Vincent reached
under his pillow for his Uzi.
The states described by the first two sentences hold at the same
time. The event described by the second takes place a little later.
In orthodox modal logics there is no way assert the identity of the
times needed for the first two sentences, nor to capture the move
forward in time needed by the third.
In fact, for this reason modal languages for temporal representation
have not been the tool of choice in natural language semantics for
over 15 years.
Feature logic
As weve mentioned, the following Attribute Value Matrix (AVM):
person 1st
agreement number plural
case dative
is a notational variant of the following modal formula:
hagreementi (hpersoni 1st hnumberi plural)
hcasei dative
Feature logic
But full AVM notation is richer. It can assert re-entrancies:
agr foo
subj 1
pred bar
comp [subj 1 ]
This cannot be captured in orthodox modal logic.
Description logic I
As we have already said, there is a transparent correspondence
between simple DL terms and modal formulas:
killer u [Link]
killer hemployerigangster
Nonetheless, this correspondence only involves what description
logicians call the TBox (Terminological Box).
Description logic II
Orthodox modal logic does not have anything to say about the
ABox (Assertional Box):
mia : Beautiful
(jules, vincent) : Friends
That is, it cant make assertions about individuals, for it has no
tools for naming individuals.
Ambition
Want to be able to refer to states, but want to do so without
destroying the simplicity of propositional modal logic.
But how can we do this propositional modal logic has very
few moving parts?
Answer: sort the atomic symbols. Use formulas as terms.
This will fix the obvious shortcoming and as we shall learn,
it will fix a lot more besides.
Extension #1
Take a language of basic modal logic (with propositional variables
p, q, r, and so on) and add a second sort of atomic formula.
The new atoms are called nominals, and are typically written i, j, k,
and l.
Both types of atom can be freely combined to form more complex
formulas in the usual way; for example,
3(i p) 3(i q) 3(p q)
is a well formed formula.
Insist that each nominal be true at exactly one world in any model.
A nominal names a state by being true there and nowhere else.
We already have a richer logic
Consider the orthodox formula
3(r p) 3(r q) 3(p q)
This is easy to falsify.
We already have a richer logic
Consider the orthodox formula
3(r p) 3(r q) 3(p q)
This is easy to falsify.
On the other hand, the hybrid formula
3(i p) 3(i q) 3(p q)
is valid (unfalsifiable). Nominals name, and this adds to the
expressive power at our disposal.
Extension #2
Add formulas of form @i .
Such formulas assert that is satisfied at the point named by
the nominal i.
Expressions of the form @i are called satisfaction operators.
Lets make these ideas precise . . .
Syntax
Given ordinary propositional symbols PROP = {p, q, r, . . .},
and modalities MOD, let NOM = {i, j, k, l, . . .} be a
nonempty set disjoint from PROP.
The elements of NOM are called nominals; they are second
sort of atomic symbol which will be used to name states. g
The basic hybrid language (over PROP, MOD and NOM) is
defined as follows:
WFF := i | p | > | | | |
| | hmi | [m] | @i
Semantics
As before, a model M is a triple (W , R, V ).
As before, (W , R) is just a frame (a labelled transition
system).
The difference lies in V . Now a valuation V is a function with
domain PROPNOM and range Pow (W ) such that for all
i NOM, V (i) is a singleton subset of W .
That is, a valuation makes each nominal true at a unique
state; the nominal labels this state by being true there and
nowhere else.
We call the unique state w that belongs to V (i) the
denotation of i under V .
Satisfaction Definition
M, w
a iff w V (a), where a PROP NOM
M, w
iff M, w 6
M, w
iff M, w
and M, w
M, w
iff M, w
or M, w
M, w
iff M, w 6
or M, w
M, w
hmi iff w 0 (wR m w 0 & M, w 0
)
M, w
[m] iff w 0 (wR m w 0 M, w 0
).
M, w
@i iff M, i
, where i is the
denotation of i under V.
Tense logic
On the road to capturing AI temporal representation
formalisms such as Allens logic of temporal reference; @ can
play the role of Holds.
And we can now handle natural language examples more
convincingly:
hPi(i Vincent accidentally squeeze the trigger )
locates the trigger-squeezing not merely in the past, but at a
specific temporal state there, namely the one named by i
better modelling the meaning of Vincent accidentally
squeezed the trigger. Lets take this a little further. . .
Reichenbach in hybrid logic
Structure Name English example Representation
ERS Pluperfect I had seen hpi (i hpi )
E,RS Past I saw hpi (i )
RES Future-in-the-past I would see hpi (i hfi )
RS,E Future-in-the-past I would see hpi (i hfi )
RSE Future-in-the-past I would see hpi (i hfi )
ES,R Perfect I have seen hpi
S,R,E Present I see
S,RE Prospective I am going to see hfi
SER Future perfect I will have seen hfi (i hpi )
S,ER Future perfect I will have seen hfi (i hpi )
ESR Future perfect I will have seen hfi (i hpi )
SR,E Future I will see hfi (i )
SRE Future-in-the-future (Latin: abiturus ero) hfi (i hfi )
Tense in text
Vincent woke up. Something felt very wrong. Vincent reached
under his pillow for his Uzi.
Tense in text
Vincent woke up. Something felt very wrong. Vincent reached
under his pillow for his Uzi.
P(i vincent-wake-up)
Tense in text
Vincent woke up. Something felt very wrong. Vincent reached
under his pillow for his Uzi.
P(i vincent-wake-up)
P(j something-feel-very-wrong)
Tense in text
Vincent woke up. Something felt very wrong. Vincent reached
under his pillow for his Uzi.
P(i vincent-wake-up)
P(j something-feel-very-wrong) @j i
Tense in text
Vincent woke up. Something felt very wrong. Vincent reached
under his pillow for his Uzi.
P(i vincent-wake-up)
P(j something-feel-very-wrong) @j i
P(k vincent-reach-under-pillow-for-uzi)
Tense in text
Vincent woke up. Something felt very wrong. Vincent reached
under his pillow for his Uzi.
P(i vincent-wake-up)
P(j something-feel-very-wrong) @j i
P(k vincent-reach-under-pillow-for-uzi) @k Pi
Feature logic
agr foo
subj 1
pred bar
comp [subj 1 ]
This corresponds to the following hybrid wff:
hsubji (i hagri foo hpredi ibar)
hcompi hsubji i
Description logic (I)
We can now make ABox statements. For example, to capture the
effect of the (conceptual) ABox assertion
mia : Beautiful
we can write
@mia Beautiful
Description logic (II)
Similarly, to capture the effect of the (relational) ABox assertion
(jules, vincent) : Friends
we can write
@jules hFriendsivincent
Basic hybrid language clearly modal
Neither syntactical nor computational simplicity, nor general style
of modal logic, has been compromised.
Nominals just atomic formulas.
Satisfaction operators are normal modal operators. That is,
for any nominal i we have that:
@i ( ) (@i @i ) is valid.
If is valid, then so is @i .
Indeed, satisfaction operators are even self-dual modal
operators: @i and @i say exactly the same thing.
Basic hybrid logic is computable
Enriching ordinary propositional modal logic with both nominals
and satisfaction operators does not effect computability. The basic
hybrid logic is decidable. Indeed we even have:
Theorem: The satisfiability problem for basic hybrid languages
over arbitrary models is pspace-complete. (Areces, Blackburn,
and Marx).
That is (up to a polynomial) the hybridized language has the same
complexity as the orthodox modal language we started with.
Standard Translation
Any basic hybrid formula can by converted into an equi-satisfiable
first-order formula. All we have to do is add a first-order constant (or
variable) i for each nominal i and translate as follows (note the use of
equality):
stx (p) = Px
stx (i) = (i = x)
stx () = stx ()
stx ( ) = stx () stx ()
stx (hRi) = y (Rxy sty ())
stx (@i ) = sti ()
Note that stx () always contains at most free variable (namely x).
Proposition: For any basic hybrid formula , any Kripke model M, and
any state w in M we have that: M, w
iff M |= stx ()[x w ].
Basic hybrid logic can specify Robinson Diagrams
Basic hybrid logic can specify Robinson Diagrams
@i p says that the states labelled i bears the information p, while
@i p denies this. That is, we can specify how atomic properties are
distributed modally.
Basic hybrid logic can specify Robinson Diagrams
@i p says that the states labelled i bears the information p, while
@i p denies this. That is, we can specify how atomic properties are
distributed modally.
@i j says that the states labelled i and j are identical, while @i j
says they are distinct. That is, we can specify theories of state
equality modally.
Basic hybrid logic can specify Robinson Diagrams
@i p says that the states labelled i bears the information p, while
@i p denies this. That is, we can specify how atomic properties are
distributed modally.
@i j says that the states labelled i and j are identical, while @i j
says they are distinct. That is, we can specify theories of state
equality modally.
@i 3j says that the state labelled j is a successor of the state
labelled i, and @i 3j denies this. That is, we can specify theories
of state succession modally.
Basic hybrid logic can specify Robinson Diagrams
@i p says that the states labelled i bears the information p, while
@i p denies this. That is, we can specify how atomic properties are
distributed modally.
@i j says that the states labelled i and j are identical, while @i j
says they are distinct. That is, we can specify theories of state
equality modally.
@i 3j says that the state labelled j is a successor of the state
labelled i, and @i 3j denies this. That is, we can specify theories
of state succession modally.
That is, we have all the tools needed to completely describe models (that
is, what model theorists call Robinson diagrams). This makes life very
straightforward when it comes to proving completeness and interpolation
results.
But what is basic hybrid logic?
We have seen many examples of what basic hybrid logic can do in
various applications.
Weve also seen that a number of the properties we liked about
modal logic are inherited by the basic hybrid language.
This is all very nice but none of it gives us a clear mathematical
characterization of what basic hybrid logic actually is.
And it is possible to give such a characterization, and a genuinely
modal one at that. Lets take a look . . .
Bisimulation-with-constants
Let M = (W , R, V ) and M0 = (W 0 , R0 , V 0 ) be models for the
same basic hybrid language. A relation Z W W 0 is a
bisimulation-with-constants between M and M0 if the following
conditions are met:
Bisimulation-with-constants
Let M = (W , R, V ) and M0 = (W 0 , R0 , V 0 ) be models for the
same basic hybrid language. A relation Z W W 0 is a
bisimulation-with-constants between M and M0 if the following
conditions are met:
1. Atomic harmony: if wZw 0 then w V (p) iff w 0 V 0 (p), for
all propositional symbols p, and all nominals i.
2. Forth: if wZw 0 and wRv then there is a v 0 such that w 0 R 0 v 0
and vZv 0 .
3. Back: if wZw 0 and w 0 R 0 v 0 then there is a v such that wRv
and vZv 0 .
4. All points named by nominals are related by Z .
Basic hybrid formulas are invariant under
bisimulations-with-constants
Proposition: Let M = (W , R, V ) and M0 = (W 0 , R0 , V 0 ) be
models for the same basic hybrid language, and let Z be a
bisimulation-with-constants between M and M0 . Then for all
basic hybrid formulas , and all points w in M and w 0 in M such
that w is bisimilar to w 0 :
M, w
iff M0 , w 0
.
Proof: Induction on the structure of .
Lifting the van Benthem Characterization theorem
For all first-order formulas (in the correspondence language with
constants and equality) containing at most one free variable, is
bisimulation-with-constants invariant iff is equivalent to the standard
translation of a basic hybrid formula iff (Areces, Blackburn, ten Cate, and
Marx)
In short, basic hybrid logic is a simple notation for capturing exactly the
bisimulation-invariant fragment of first-order logic when we make use of
constants and equality.
Proof:
() Immediate from the invariance of hybrid formulas under
bisimulation.
() Can be proved using elementary chains or by appealing to the
existence of saturated models.
Summing up . . .
We learned about some of the good points of orthodox modal
logic, but also saw that its inability to refer to states is a
weakness for various applications.
We saw that adding nominals and satisfaction operators fixes
these weaknesses without sacrificing what we liked about
modal logic in the first place. Basic hybrid logic is a natural
generalization of orthodox modal logic.
Summing up . . .
We learned about some of the good points of orthodox modal
logic, but also saw that its inability to refer to states is a
weakness for various applications.
We saw that adding nominals and satisfaction operators fixes
these weaknesses without sacrificing what we liked about
modal logic in the first place. Basic hybrid logic is a natural
generalization of orthodox modal logic.
But as we shall soon learn, hybridization has fixed some less
obvious shortcomings of orthodox modal logic too. In
particular, it has given us a logical formalism that is is easy to
use deductively as we shall see tomorrow