Introduction to Hybrid Logic Patrick Blackburn Department of - - PowerPoint PPT Presentation

introduction to hybrid logic
SMART_READER_LITE
LIVE PREVIEW

Introduction to Hybrid Logic Patrick Blackburn Department of - - PowerPoint PPT Presentation

Introduction to Hybrid Logic Patrick Blackburn Department of Philosophy, Roskilde University, Denmark NASSLLI 2012, University of Austin, Texas What we did yesterday... What we did yesterday... We talked about boxes and diamonds, and showed


slide-1
SLIDE 1

Introduction to Hybrid Logic

Patrick Blackburn Department of Philosophy, Roskilde University, Denmark

NASSLLI 2012, University of Austin, Texas

slide-2
SLIDE 2

What we did yesterday...

slide-3
SLIDE 3

What we did yesterday...

  • We talked about boxes and diamonds, and showed that they were like

little animals, or automata, exploring graphs from the inside. Modal logics are local, internal.

slide-4
SLIDE 4

What we did yesterday...

  • We talked about boxes and diamonds, and showed that they were like

little animals, or automata, exploring graphs from the inside. Modal logics are local, internal.

  • We talked about decidability, bisimulations, the first-order

correspondence language, and the van Benthem Correspondence Theorem, and concluded that modal logic was beautiful. . .

slide-5
SLIDE 5

What we did yesterday...

  • We talked about boxes and diamonds, and showed that they were like

little animals, or automata, exploring graphs from the inside. Modal logics are local, internal.

  • We talked about decidability, bisimulations, the first-order

correspondence language, and the van Benthem Correspondence Theorem, and concluded that modal logic was beautiful. . .

  • But orthodox modal logic can’t refer to the worlds, times, intervals,

states, or whatever it is that the nodes in Kripke models are taken to be!

slide-6
SLIDE 6

What we did yesterday...

  • We talked about boxes and diamonds, and showed that they were like

little animals, or automata, exploring graphs from the inside. Modal logics are local, internal.

  • We talked about decidability, bisimulations, the first-order

correspondence language, and the van Benthem Correspondence Theorem, and concluded that modal logic was beautiful. . .

  • But orthodox modal logic can’t refer to the worlds, times, intervals,

states, or whatever it is that the nodes in Kripke models are taken to be!

  • We solved this by introducing nominals—propositional symbols i, j, k

constrained in their interpretation symbols to be true at a unique world in any model. We also introduced it the @-operator.

slide-7
SLIDE 7

What we did yesterday...

  • We talked about boxes and diamonds, and showed that they were like

little animals, or automata, exploring graphs from the inside. Modal logics are local, internal.

  • We talked about decidability, bisimulations, the first-order

correspondence language, and the van Benthem Correspondence Theorem, and concluded that modal logic was beautiful. . .

  • But orthodox modal logic can’t refer to the worlds, times, intervals,

states, or whatever it is that the nodes in Kripke models are taken to be!

  • We solved this by introducing nominals—propositional symbols i, j, k

constrained in their interpretation symbols to be true at a unique world in any model. We also introduced it the @-operator.

  • We showed that our new hybrid tools both dealt with the expressive

shortcomings and had inherited modal beauty. And, by lifting the van Benthem Characterization Theorem to cover them, we concluded that we were still doing honest-to-goodness, down-home, good-’ol modal logic....

slide-8
SLIDE 8

Hybrid deduction

Let’s continue with an example-driven introduction to hybrid

  • deduction. We concentrate on tableau systems. We shall:
  • Discuss the goals and problems of orthodox modal deduction.
  • Present a hybrid tableau system for reasoning about arbitrary

models.

  • Show how this can be extended to hybrid tableau systems for

special classes of models.

  • Round off by discussing further themes in hybrid deduction,

including their implementation.

slide-9
SLIDE 9

Different models, different logics

Key fact about modal logic: when you work with different kinds of models (graphs) the logic typically changes. For example:

  • ✷p ∧ ✷q → ✷(p ∧ q) is valid on all models: it’s part of the

basic, universally applicable, logic.

  • But ✸✸p → ✸p is only valid on transitive graphs. It’s not

part of the basic logic, rather it’s part of the special (stronger) logic that we need to use when working with transitive models.

slide-10
SLIDE 10

Modal deduction should be general

  • Quite rightly, modal logicians have insisted on developing

proof methods which are general — that is, which can be easily adapted to cope with the logics of many kinds of models (transitive, reflexive, symmetric, dense, and so on).

  • They achieve this goal by making use of Hilbert-style systems

(that is, axiomatic systems).

  • There is a basic axiomatic systems (called K) for dealing with

arbitrary models.

  • To deal with special classes of models, further axioms are

added to K. For example, adding ✸✸p → ✸p as an axiom gives us the logic of transitive frames.

slide-11
SLIDE 11

Generality clashes with easy of use

  • Unfortunately, Hilbert systems are hard to use and completely

unsuitable for computational implementation.

  • For ease of use we want (say) natural deduction systems or

tableau systems. For computational implementation we want (say) resolution systems or tableau systems.

  • But it is hard to develop tableau, or natural deduction, or

resolution in a general way in orthodox modal logic.

  • Why is this?
slide-12
SLIDE 12

Getting behind the diamonds

  • The difficulty is extracting information from under the scope
  • f diamonds.
  • That is, given ✸ϕ, how do we lay hands on ϕ? And given

¬✷ϕ (that is, ✸¬ϕ), how do we lay hands on ¬ϕ?

  • In first order logic, the analogous problem is trivial. There is a

simple rule for stripping away existential quantifiers: from ∃xϕ we conclude ϕ[x ← a] for some brand new constant a (this rule is usually called Existential Elimination).

  • But in orthodox modal logic there is no simple way of

stripping off the diamonds.

slide-13
SLIDE 13

Hybrid deduction

  • Hybrid deduction is based on a simple observation: it’s easy

to get at the information under the scope of diamonds — for there is an natural way of stripping the diamonds away.

  • We shall explore this idea in the setting of tableau — but it

can (and has been) used in a variety of proof styles, including resolution and natural deduction.

  • Moreover, once the tableau system for reasoning about

arbitrary models has been defined, it is straightforward to extend it to to cover the logics of special classes of models. That is, hybridization enables us to achieve the traditional modal goal of generality without resorting to Hilbert-systems.

slide-14
SLIDE 14
  • Moreover. . .

Hybrid reasoning is arguably quite natural. In what follows we shall sometimes give an informal proof before we give the tableau proof. As we shall see, our tableau proofs mimic the informal reasoning fairly closely.

slide-15
SLIDE 15

Hip and cute

Consider the following statement: If everyone you hate is hip, and someone you hate is cute, then someone you hate is both hip and cute. We can represent it as follows: [hate] hip ∧ hate cute → hate (hip ∧ cute) This is a valid statement, and it’s validity is easy to establish

  • informally. . .
slide-16
SLIDE 16

Informal argument

slide-17
SLIDE 17

Informal argument

  • Suppose “If everyone you hate is hip, and someone you hate is

cute, then someone you hate is both hip and cute” is not true.

slide-18
SLIDE 18

Informal argument

  • Suppose “If everyone you hate is hip, and someone you hate is

cute, then someone you hate is both hip and cute” is not true.

  • Then everyone you hate is hip, and someone you hate is cute.

However no one you hate is both hip and cute.

slide-19
SLIDE 19

Informal argument

  • Suppose “If everyone you hate is hip, and someone you hate is

cute, then someone you hate is both hip and cute” is not true.

  • Then everyone you hate is hip, and someone you hate is cute.

However no one you hate is both hip and cute.

  • So there is someone that you hate—let’s call him Jim—who is

cute.

slide-20
SLIDE 20

Informal argument

  • Suppose “If everyone you hate is hip, and someone you hate is

cute, then someone you hate is both hip and cute” is not true.

  • Then everyone you hate is hip, and someone you hate is cute.

However no one you hate is both hip and cute.

  • So there is someone that you hate—let’s call him Jim—who is

cute.

  • But as Jim is someone you hate, he will be hip as well as cute

(for everyone you hate is hip).

slide-21
SLIDE 21

Informal argument

  • Suppose “If everyone you hate is hip, and someone you hate is

cute, then someone you hate is both hip and cute” is not true.

  • Then everyone you hate is hip, and someone you hate is cute.

However no one you hate is both hip and cute.

  • So there is someone that you hate—let’s call him Jim—who is

cute.

  • But as Jim is someone you hate, he will be hip as well as cute

(for everyone you hate is hip).

  • But Jim can’t be both hip and cute (for no one you hate is

both hip and cute). Contradiction!. So the original statement was true after all.

slide-22
SLIDE 22

[hate] hip ∧ hate cute → hate (hip ∧ cute)

slide-23
SLIDE 23

[hate] hip ∧ hate cute → hate (hip ∧ cute)

1 ¬@i([hate] hip ∧ hate cute → hate (hip ∧ cute))

slide-24
SLIDE 24

[hate] hip ∧ hate cute → hate (hip ∧ cute)

1 ¬@i([hate] hip ∧ hate cute → hate (hip ∧ cute)) 2 @i([hate] hip ∧ hate cute) 2′ ¬@ihate (hip ∧ cute)

slide-25
SLIDE 25

[hate] hip ∧ hate cute → hate (hip ∧ cute)

1 ¬@i([hate] hip ∧ hate cute → hate (hip ∧ cute)) 2 @i([hate] hip ∧ hate cute) 2′ ¬@ihate (hip ∧ cute) 3 @i[hate] hip 3′ @ihate cute

slide-26
SLIDE 26

[hate] hip ∧ hate cute → hate (hip ∧ cute)

1 ¬@i([hate] hip ∧ hate cute → hate (hip ∧ cute)) 2 @i([hate] hip ∧ hate cute) 2′ ¬@ihate (hip ∧ cute) 3 @i[hate] hip 3′ @ihate cute 4 @ihate jim 4′ @jimcute

slide-27
SLIDE 27

[hate] hip ∧ hate cute → hate (hip ∧ cute)

1 ¬@i([hate] hip ∧ hate cute → hate (hip ∧ cute)) 2 @i([hate] hip ∧ hate cute) 2′ ¬@ihate (hip ∧ cute) 3 @i[hate] hip 3′ @ihate cute 4 @ihate jim 4′ @jimcute 5 @jimhip

slide-28
SLIDE 28

[hate] hip ∧ hate cute → hate (hip ∧ cute)

1 ¬@i([hate] hip ∧ hate cute → hate (hip ∧ cute)) 2 @i([hate] hip ∧ hate cute) 2′ ¬@ihate (hip ∧ cute) 3 @i[hate] hip 3′ @ihate cute 4 @ihate jim 4′ @jimcute 5 @jimhip 6 ¬@jim(hip ∧ cute)

slide-29
SLIDE 29

[hate] hip ∧ hate cute → hate (hip ∧ cute)

1 ¬@i([hate] hip ∧ hate cute → hate (hip ∧ cute)) 2 @i([hate] hip ∧ hate cute) 2′ ¬@ihate (hip ∧ cute) 3 @i[hate] hip 3′ @ihate cute 4 @ihate jim 4′ @jimcute 5 @jimhip 6 ¬@jim(hip ∧ cute) 7 ¬@jimhip ¬@jimcute ⊥5,7 ⊥4′,7

slide-30
SLIDE 30

Internalizing Labelled Deduction

slide-31
SLIDE 31

Internalizing Labelled Deduction

¬ rules @i¬ϕ ¬@iϕ ¬@i¬ϕ @iϕ

slide-32
SLIDE 32

Internalizing Labelled Deduction

¬ rules @i¬ϕ ¬@iϕ ¬@i¬ϕ @iϕ ∧ rules @i(ϕ ∧ ψ) @iϕ @iψ ¬@i(ϕ ∧ ψ) ¬@iϕ ¬@iψ

slide-33
SLIDE 33

Internalizing Labelled Deduction

¬ rules @i¬ϕ ¬@iϕ ¬@i¬ϕ @iϕ ∧ rules @i(ϕ ∧ ψ) @iϕ @iψ ¬@i(ϕ ∧ ψ) ¬@iϕ ¬@iψ @ rules @i@jϕ @jϕ ¬@i@jϕ ¬@jϕ

slide-34
SLIDE 34

Extracting information from modal contexts

In the statement of these rules we write j to indicate a nominal new to the branch where the rule is being applied.

slide-35
SLIDE 35

Extracting information from modal contexts

In the statement of these rules we write j to indicate a nominal new to the branch where the rule is being applied. ✸ rules @ir ϕ @ir j ¬@ir ϕ @ir k ¬@kϕ @jϕ

slide-36
SLIDE 36

Extracting information from modal contexts

In the statement of these rules we write j to indicate a nominal new to the branch where the rule is being applied. ✸ rules @ir ϕ @ir j ¬@ir ϕ @ir k ¬@kϕ @jϕ ✷ rules @i[r] ϕ @ir k @kϕ ¬@i[r] ϕ @ir j ¬@jϕ

slide-37
SLIDE 37

Link with first-order deduction (Live Version)

Hybrid Logic First Order Logic @i✸φ

slide-38
SLIDE 38

Link with first-order deduction (Live Version)

Hybrid Logic First Order Logic @i✸φ ∃y(Riy ∧ STy(φ))

slide-39
SLIDE 39

Link with first-order deduction (Live Version)

Hybrid Logic First Order Logic @i✸φ ∃y(Riy ∧ STy(φ)) @i✸j @jφ

slide-40
SLIDE 40

Link with first-order deduction (Live Version)

Hybrid Logic First Order Logic @i✸φ ∃y(Riy ∧ STy(φ)) @i✸j @jφ Rij ∧ STj(φ)

slide-41
SLIDE 41

Link with first-order deduction (Live Version)

Hybrid Logic First Order Logic @i✸φ ∃y(Riy ∧ STy(φ)) @i✸j @jφ Rij ∧ STj(φ) Rij STj(φ)

slide-42
SLIDE 42

Link with first-order deduction (Studio Version)

  • The hybrid rule from @i✸ϕ conclude @i✸j and @jϕ is

essentially the first-order rule of Existential Elimination (from ∃xϕ conclude ϕ[x ← j]).

  • Recall that (via the Standard Translation) we know that ✸ϕ

is shorthand for ∃y(Riy ∧ sty(ϕ)).

  • Applying Existential Elimination to this yields Rij ∧ stj(ϕ).

But this is just @i✸j ∧ @jϕ, the output of the tableau rule.

  • In short, nominals give us exactly the grip we need on the

bound variables hidden by modal notation. They give us the benefits of first-order techniques in a decidable logic.

slide-43
SLIDE 43

Equality rules

But more rules are needed. Why? Nothing we have said so far gets to grips with fact that nominals have an intrinsic logic. Nominals give us a modal theory of equality, and we need to get to deal with

  • this. Here’s one way of doing this:

(i occurs on branch) @ii @ij @iϕ @jϕ @i✸j @jk @i✸k

slide-44
SLIDE 44

(✸p ∧ ✸¬p) → (✷(q → i) → ✸¬q)

slide-45
SLIDE 45

(✸p ∧ ✸¬p) → (✷(q → i) → ✸¬q)

1 ¬@i((✸p ∧ ✸¬p) → (✷(q → i) → ✸¬q))

slide-46
SLIDE 46

(✸p ∧ ✸¬p) → (✷(q → i) → ✸¬q)

1 ¬@i((✸p ∧ ✸¬p) → (✷(q → i) → ✸¬q)) 2 @i(✸p ∧ ✸¬p) 2′ ¬@i(✷(q → i) → ✸¬q) Propositional rule on 1

slide-47
SLIDE 47

(✸p ∧ ✸¬p) → (✷(q → i) → ✸¬q)

1 ¬@i((✸p ∧ ✸¬p) → (✷(q → i) → ✸¬q)) 2 @i(✸p ∧ ✸¬p) 2′ ¬@i(✷(q → i) → ✸¬q) Propositional rule on 1 3 @i✸p 3′ @i✸¬p Propositional rule on 2

slide-48
SLIDE 48

(✸p ∧ ✸¬p) → (✷(q → i) → ✸¬q)

1 ¬@i((✸p ∧ ✸¬p) → (✷(q → i) → ✸¬q)) 2 @i(✸p ∧ ✸¬p) 2′ ¬@i(✷(q → i) → ✸¬q) Propositional rule on 1 3 @i✸p 3′ @i✸¬p Propositional rule on 2 4 @i✸j 4′ @jp ✸ rule on 3

slide-49
SLIDE 49

(✸p ∧ ✸¬p) → (✷(q → i) → ✸¬q)

1 ¬@i((✸p ∧ ✸¬p) → (✷(q → i) → ✸¬q)) 2 @i(✸p ∧ ✸¬p) 2′ ¬@i(✷(q → i) → ✸¬q) Propositional rule on 1 3 @i✸p 3′ @i✸¬p Propositional rule on 2 4 @i✸j 4′ @jp ✸ rule on 3 5 @i✸k 5′ @k¬p ✸ rule on 3’

slide-50
SLIDE 50

(✸p ∧ ✸¬p) → (✷(q → i) → ✸¬q)

1 ¬@i((✸p ∧ ✸¬p) → (✷(q → i) → ✸¬q)) 2 @i(✸p ∧ ✸¬p) 2′ ¬@i(✷(q → i) → ✸¬q) Propositional rule on 1 3 @i✸p 3′ @i✸¬p Propositional rule on 2 4 @i✸j 4′ @jp ✸ rule on 3 5 @i✸k 5′ @k¬p ✸ rule on 3’ 6 @i✷(q → i) 6′ ¬@i✸¬q Propositional rule on 2’

slide-51
SLIDE 51

The proof continued. . .

4 @i✸j 4′ @jp 5 @i✸k 5′ @k¬p 6 @i✷(q → i) 6′ ¬@i✸¬q

slide-52
SLIDE 52

The proof continued. . .

4 @i✸j 4′ @jp 5 @i✸k 5′ @k¬p 6 @i✷(q → i) 6′ ¬@i✸¬q 7 @jq ¬✸ rule on 4 and 6’, then ¬@ rule

slide-53
SLIDE 53

The proof continued. . .

4 @i✸j 4′ @jp 5 @i✸k 5′ @k¬p 6 @i✷(q → i) 6′ ¬@i✸¬q 7 @jq ¬✸ rule on 4 and 6’, then ¬@ rule 8 @j(q → i) ✷ rule on 4 and 6

slide-54
SLIDE 54

The proof continued. . .

4 @i✸j 4′ @jp 5 @i✸k 5′ @k¬p 6 @i✷(q → i) 6′ ¬@i✸¬q 7 @jq ¬✸ rule on 4 and 6’, then ¬@ rule 8 @j(q → i) ✷ rule on 4 and 6 9 ¬@jq @ji Propositional rule on 7 and 8 ⊥7,9

slide-55
SLIDE 55

The proof continued. . .

4 @i✸j 4′ @jp 5 @i✸k 5′ @k¬p 6 @i✷(q → i) 6′ ¬@i✸¬q 7 @jq ¬✸ rule on 4 and 6’, then ¬@ rule 8 @j(q → i) ✷ rule on 4 and 6 9 ¬@jq @ji Propositional rule on 7 and 8 ⊥7,9

slide-56
SLIDE 56

The proof continued. . .

4 @i✸j 4′ @jp 5 @i✸k 5′ @k¬p 6 @i✷(q → i) 6′ ¬@i✸¬q 9 @ji

slide-57
SLIDE 57

The proof continued. . .

4 @i✸j 4′ @jp 5 @i✸k 5′ @k¬p 6 @i✷(q → i) 6′ ¬@i✸¬q 9 @ji 10 @kq ¬✸ rule on 5 and 6’, then ¬@ rule

slide-58
SLIDE 58

The proof continued. . .

4 @i✸j 4′ @jp 5 @i✸k 5′ @k¬p 6 @i✷(q → i) 6′ ¬@i✸¬q 9 @ji 10 @kq ¬✸ rule on 5 and 6’, then ¬@ rule 11 @k(q → i) ✷ rule on 5 and 6

slide-59
SLIDE 59

The proof continued. . .

4 @i✸j 4′ @jp 5 @i✸k 5′ @k¬p 6 @i✷(q → i) 6′ ¬@i✸¬q 9 @ji 10 @kq ¬✸ rule on 5 and 6’, then ¬@ rule 11 @k(q → i) ✷ rule on 5 and 6 12 @ki Modus Ponens on 10 and 11

slide-60
SLIDE 60

The proof continued. . .

4 @i✸j 4′ @jp 5 @i✸k 5′ @k¬p 6 @i✷(q → i) 6′ ¬@i✸¬q 9 @ji 10 @kq ¬✸ rule on 5 and 6’, then ¬@ rule 11 @k(q → i) ✷ rule on 5 and 6 12 @ki Modus Ponens on 10 and 11 13 @ip Nom on 4’ and 9

slide-61
SLIDE 61

The proof continued. . .

4 @i✸j 4′ @jp 5 @i✸k 5′ @k¬p 6 @i✷(q → i) 6′ ¬@i✸¬q 9 @ji 10 @kq ¬✸ rule on 5 and 6’, then ¬@ rule 11 @k(q → i) ✷ rule on 5 and 6 12 @ki Modus Ponens on 10 and 11 13 @ip Nom on 4’ and 9 14 @i¬p Nom on 5’ and 12

slide-62
SLIDE 62

The proof continued. . .

4 @i✸j 4′ @jp 5 @i✸k 5′ @k¬p 6 @i✷(q → i) 6′ ¬@i✸¬q 9 @ji 10 @kq ¬✸ rule on 5 and 6’, then ¬@ rule 11 @k(q → i) ✷ rule on 5 and 6 12 @ki Modus Ponens on 10 and 11 13 @ip Nom on 4’ and 9 14 @i¬p Nom on 5’ and 12 15 ¬@ip ¬ rule on 14 — contradiction!

slide-63
SLIDE 63

Reasoning over other classes of models

  • Our tableau system deals (correctly and completely) with

reasoning over arbitrary models, that is, models where we have made no special assumptions about the underlying

  • relations. For some applications this is sufficient.
  • But (as we said at the start of the lecture) in many

applications we are interested in models where the relations interpreting the modalities have special properties, such as symmetry, transitivity, irreflexivity, density, discreteness, antisymmetry, determinism, and so on. We need to find a way

  • f coping with such frame conditions in hybrid logic.
  • Our basic tableau system can easily be extended to cope with

them, thus meeting the traditional modal goal of generality. We’ll look at two examples.

slide-64
SLIDE 64

Nice neighbours

Consider the following statement: If you have a neighbour who only has nice neighbours, then you are nice. We can represent it as follows: neighbour [neighbour] nice → nice This is true no matter how the adjective “nice” is interpreted. Its truth hinges on the fact that neighbourhood is a symmetric relation.

slide-65
SLIDE 65

Informal Argument

slide-66
SLIDE 66

Informal Argument

  • Suppose neighbour [neighbour] nice → nice is false of

you.

slide-67
SLIDE 67

Informal Argument

  • Suppose neighbour [neighbour] nice → nice is false of

you.

  • Then neighbour [neighbour] nice is true of you, but nice

is false of you (that is, you are not nice).

slide-68
SLIDE 68

Informal Argument

  • Suppose neighbour [neighbour] nice → nice is false of

you.

  • Then neighbour [neighbour] nice is true of you, but nice

is false of you (that is, you are not nice).

  • Then you have a neighbour (let’s call him Julio) who only has

nice neighbours (that is, [neighbour] nice is true of Julio).

slide-69
SLIDE 69

Informal Argument

  • Suppose neighbour [neighbour] nice → nice is false of

you.

  • Then neighbour [neighbour] nice is true of you, but nice

is false of you (that is, you are not nice).

  • Then you have a neighbour (let’s call him Julio) who only has

nice neighbours (that is, [neighbour] nice is true of Julio).

  • But neighbourhood is a symmetric relation, hence you are one
  • f Julio’s neighbours.
slide-70
SLIDE 70

Informal Argument

  • Suppose neighbour [neighbour] nice → nice is false of

you.

  • Then neighbour [neighbour] nice is true of you, but nice

is false of you (that is, you are not nice).

  • Then you have a neighbour (let’s call him Julio) who only has

nice neighbours (that is, [neighbour] nice is true of Julio).

  • But neighbourhood is a symmetric relation, hence you are one
  • f Julio’s neighbours.
  • But all Julio’s neighbours are nice — so you must be nice too.

Contradiction!

slide-71
SLIDE 71

Informal Argument

  • Suppose neighbour [neighbour] nice → nice is false of

you.

  • Then neighbour [neighbour] nice is true of you, but nice

is false of you (that is, you are not nice).

  • Then you have a neighbour (let’s call him Julio) who only has

nice neighbours (that is, [neighbour] nice is true of Julio).

  • But neighbourhood is a symmetric relation, hence you are one
  • f Julio’s neighbours.
  • But all Julio’s neighbours are nice — so you must be nice too.

Contradiction!

  • So neighbour [neighbour] nice → nice must true of you

after all.

slide-72
SLIDE 72

Informal Argument

  • Suppose neighbour [neighbour] nice → nice is false of

you.

  • Then neighbour [neighbour] nice is true of you, but nice

is false of you (that is, you are not nice).

  • Then you have a neighbour (let’s call him Julio) who only has

nice neighbours (that is, [neighbour] nice is true of Julio).

  • But neighbourhood is a symmetric relation, hence you are one
  • f Julio’s neighbours.
  • But all Julio’s neighbours are nice — so you must be nice too.

Contradiction!

  • So neighbour [neighbour] nice → nice must true of you

after all. But can we mimic this argument using our existing tableau system? Let’s try. . .

slide-73
SLIDE 73

neighbour [neighbour] nice → nice

slide-74
SLIDE 74

neighbour [neighbour] nice → nice

1 ¬@i(neighbour [neighbour] nice → nice)

slide-75
SLIDE 75

neighbour [neighbour] nice → nice

1 ¬@i(neighbour [neighbour] nice → nice) 2 @ineighbour [neighbour] nice 2′ ¬@inice Propositional rule on 1

slide-76
SLIDE 76

neighbour [neighbour] nice → nice

1 ¬@i(neighbour [neighbour] nice → nice) 2 @ineighbour [neighbour] nice 2′ ¬@inice Propositional rule on 1 3 @ineighbour julio 3′ @julio[neighbour] nice ✸ rule on 2

slide-77
SLIDE 77

neighbour [neighbour] nice → nice

1 ¬@i(neighbour [neighbour] nice → nice) 2 @ineighbour [neighbour] nice 2′ ¬@inice Propositional rule on 1 3 @ineighbour julio 3′ @julio[neighbour] nice ✸ rule on 2 Now we are blocked. There is no way to close this branch.

slide-78
SLIDE 78

But there is an easy solution

Add the following rule when working with symmetric relations: @ineighbour j @jneighbour i (Here i and j are any nominals on the branch we are working on). This rule is a direct expression of symmetry, and with its help we can finish off our proof.

slide-79
SLIDE 79

neighbour [neighbour] nice → nice

1 i@julio(neighbour [neighbour] nice → nice) 2 @ineighbour [neighbour] nice 2′ ¬@inice Propositional rule on 1 3 @ineighbour julio 3′ @julio[neighbour] nice ✸ rule on 2

slide-80
SLIDE 80

neighbour [neighbour] nice → nice

1 i@julio(neighbour [neighbour] nice → nice) 2 @ineighbour [neighbour] nice 2′ ¬@inice Propositional rule on 1 3 @ineighbour julio 3′ @julio[neighbour] nice ✸ rule on 2 4 @julioneighbour i Symmetry rule on 3

slide-81
SLIDE 81

neighbour [neighbour] nice → nice

1 i@julio(neighbour [neighbour] nice → nice) 2 @ineighbour [neighbour] nice 2′ ¬@inice Propositional rule on 1 3 @ineighbour julio 3′ @julio[neighbour] nice ✸ rule on 2 4 @julioneighbour i Symmetry rule on 3 5 @inice ✷ rule on 3’ and 4

slide-82
SLIDE 82

neighbour [neighbour] nice → nice

1 i@julio(neighbour [neighbour] nice → nice) 2 @ineighbour [neighbour] nice 2′ ¬@inice Propositional rule on 1 3 @ineighbour julio 3′ @julio[neighbour] nice ✸ rule on 2 4 @julioneighbour i Symmetry rule on 3 5 @inice ✷ rule on 3’ and 4 ⊥2′,5

slide-83
SLIDE 83

Loop-free time

Consider the following statement: If time i precedes time j, then time j does not precede time i. We can represent the statement as follows (where f is the Priorean diamond meaning “sometime-in-the-future”): @if j → ¬@jf i If you accept that temporal precedence is both transitive and irreflexive (the usual assumption) then this is a valid statement.

slide-84
SLIDE 84

Informal Argument

slide-85
SLIDE 85

Informal Argument

  • Suppose that “if i precedes time j, then time j does not

precede time i” is false.

slide-86
SLIDE 86

Informal Argument

  • Suppose that “if i precedes time j, then time j does not

precede time i” is false.

  • Then time i precedes time j, but time j precedes time i too.
slide-87
SLIDE 87

Informal Argument

  • Suppose that “if i precedes time j, then time j does not

precede time i” is false.

  • Then time i precedes time j, but time j precedes time i too.
  • But temporal flow is transitive, so time i precedes time i.
slide-88
SLIDE 88

Informal Argument

  • Suppose that “if i precedes time j, then time j does not

precede time i” is false.

  • Then time i precedes time j, but time j precedes time i too.
  • But temporal flow is transitive, so time i precedes time i.
  • But temporal precedence is irreflexive, so time i cannot

precede time i.

slide-89
SLIDE 89

Informal Argument

  • Suppose that “if i precedes time j, then time j does not

precede time i” is false.

  • Then time i precedes time j, but time j precedes time i too.
  • But temporal flow is transitive, so time i precedes time i.
  • But temporal precedence is irreflexive, so time i cannot

precede time i.

  • From this contradiction we conclude that our original

statement was true after all.

slide-90
SLIDE 90

But can we prove @if j → ¬@jf i using our existing tableau system? Let’s try. . .

slide-91
SLIDE 91

But can we prove @if j → ¬@jf i using our existing tableau system? Let’s try. . .

1 ¬@k(@if j → ¬@jf i)

slide-92
SLIDE 92

But can we prove @if j → ¬@jf i using our existing tableau system? Let’s try. . .

1 ¬@k(@if j → ¬@jf i) 2 @k@if j 2′ ¬@k¬@jf i) Propositional rule on 1

slide-93
SLIDE 93

But can we prove @if j → ¬@jf i using our existing tableau system? Let’s try. . .

1 ¬@k(@if j → ¬@jf i) 2 @k@if j 2′ ¬@k¬@jf i) Propositional rule on 1 3 @if j @ rule on 2

slide-94
SLIDE 94

But can we prove @if j → ¬@jf i using our existing tableau system? Let’s try. . .

1 ¬@k(@if j → ¬@jf i) 2 @k@if j 2′ ¬@k¬@jf i) Propositional rule on 1 3 @if j @ rule on 2 4 @jf i ¬@¬ rule on 2’

slide-95
SLIDE 95

But can we prove @if j → ¬@jf i using our existing tableau system? Let’s try. . .

1 ¬@k(@if j → ¬@jf i) 2 @k@if j 2′ ¬@k¬@jf i) Propositional rule on 1 3 @if j @ rule on 2 4 @jf i ¬@¬ rule on 2’ Now we are blocked. There is no way to close this branch.

slide-96
SLIDE 96

But there is an easy solution

Add the following rules when working with irreflexive and transitive relations: @i¬f i @if j @jf k @if k (Here i, j and k can be any nominals on the branch we are working

  • n).

These rules are a direct expression of irreflexivity and transitivity, and with their help we can finish off our proof.

slide-97
SLIDE 97

@if j → ¬@jf i

1 ¬@k(@if j → ¬@jf i) 2 @k@if j 2′ ¬@k¬@jf i) Propositional rule on 1 3 @if j @ rule on 2 4 @jf i ¬@¬ rule on 2’

slide-98
SLIDE 98

@if j → ¬@jf i

1 ¬@k(@if j → ¬@jf i) 2 @k@if j 2′ ¬@k¬@jf i) Propositional rule on 1 3 @if j @ rule on 2 4 @jf i ¬@¬ rule on 2’ 5 @if i Transitivity rule on 3 and 4

slide-99
SLIDE 99

@if j → ¬@jf i

1 ¬@k(@if j → ¬@jf i) 2 @k@if j 2′ ¬@k¬@jf i) Propositional rule on 1 3 @if j @ rule on 2 4 @jf i ¬@¬ rule on 2’ 5 @if i Transitivity rule on 3 and 4 6 ¬@if i Irreflexivity rule

slide-100
SLIDE 100

@if j → ¬@jf i

1 ¬@k(@if j → ¬@jf i) 2 @k@if j 2′ ¬@k¬@jf i) Propositional rule on 1 3 @if j @ rule on 2 4 @jf i ¬@¬ rule on 2’ 5 @if i Transitivity rule on 3 and 4 6 ¬@if i Irreflexivity rule ⊥5,6

slide-101
SLIDE 101

Pure formulas

  • It’s time to be more precise about what completeness results

are possible here.

  • To do this we need to think about pure formulas.
  • A formula of the basic hybrid language is pure if it contains

no propositional variables. That is, the only atoms in pure formulas are nominals (and ⊤ and ⊥ if we have them in the language).

  • We’ll first discuss what we can say about frames using pure

formulas, and then we’ll state a general result about how they can help us in hybrid deduction.

slide-102
SLIDE 102

Frame definability (I)

A formula defines a class of frames if it is valid on precisely the frames belonging to that class class. We can define many important classes of frames using pure formulas: @i✸i Reflexivity @i✸j → @j✸i Symmetry @i✸j ∧ @j✸k → @i✸k Transitivity

slide-103
SLIDE 103

Frame definability (II)

These previous three examples are also definable using orthodox modal language. But pure formulas can also define frame classes which are not definable in orthodox modal logic: @i¬✸i Irreflexivity @i✸j → @j¬✸i Asymmetry @i✷(✸i → i) Antisymmetry @j✸i ∨ @ji ∨ @i✸j Trichotomy

slide-104
SLIDE 104

From formulas to tableau rules

Let @iϕ be a pure formula, built out of nominals i, i1, . . . , in. Then the simplest (though not always the smartest!) way of turning this formula into a tableau rule is as follows: (j, j1, . . . , jn on branch) @iϕ[i ← j, i1 ← j1, . . . , in ← jn] This rule simply says: for any branch B of the tableau you are building, you are free to instantiate @iϕ with nominals occurring

  • n B and add the resulting formula to the end of B.
slide-105
SLIDE 105

Frame definability and deduction match for pure formulas

Completeness Theorem Suppose you extend the basic tableau system with the tableau rules for the pure formulas @jϕ, . . . , @kψ (that is, the rules of the form just described). Then the resulting system is (sound and) complete with respect to the class of frames defined by these formulas. That is, the frame-defining and deductive powers of pure formulas match perfectly for pure formulas. Two comments should be made about this result. . .

slide-106
SLIDE 106

We can use any pure formula

At first glance, it seems that this completeness result only covers pure formulas of the form @iϕ. But many interesting pure formulas are not of this form. For example symmetry: @i✸j → @j✸i. Note, however, that for any pure formula ϕ, and any nominals i, ϕ and @iϕ define exactly the same class of frames. For example symmetry can be defined by @k(@i✸j → @j✸i). So our completeness theorem is fully general: it covers all classes

  • f frames definable by a pure formulas.
slide-107
SLIDE 107

But we can often be smarter

Suppose we want a complete system for symmetry. We could do this by adding the rule suggested by the previous system: @k(@i✸j → @j✸i) . But in the nice neighbours example we used the following rule instead: @i✸j @j✸i This rule is smarter: it saves us having to use tableau rules to get rid of the outermost @k, and then break down the implication.

slide-108
SLIDE 108

Slightly more generally

Given a pure formula of the form (@iϕ1 ∧ · · · ∧ @jϕn) → (@kϕn+1 ∨ · · · ∨ @lϕn+m) we can turn it into the tableau rule @iϕ1, . . . , @jϕn @kϕn+1 | · · · | @lϕn+m without losing completeness.

slide-109
SLIDE 109

Further themes in hybrid deduction

To conclude, let’s briefly address the following questions:

  • Why are general completeness proof easy to come by in hybrid

logic?

  • Can we really adapt these ideas to other proof styles?
  • Is any of this stuff implementable?
slide-110
SLIDE 110

Why are general completeness proofs so easy to come by in hybrid logic?

  • Essentially because the basic hybrid logic enables us to use

first-order techniques to build models.

  • For example, when proving completeness for hybrid Hilbert

systems, it’s not necessary to use modal-style canonical models — you can build what are basically first-order Henkin models.

  • And for tableau completeness proofs, observe that the tableau

rules crunch formulas down into expressions of the form (¬)@ip, (¬)@ij and (¬)@i✸j. Open branches are thus Robinson diagrams of satisfying models.

slide-111
SLIDE 111

Named models are important

  • Moreover, the models we build in this way are named. (A

named model is a model in which every point is named by some nominal.)

  • A simple model theoretic argument shows that if all instances
  • f a pure formula ϕ are true at all states in a named model,

then the underlying frame validates φ. This gives us completeness for any extension by pure axioms.

slide-112
SLIDE 112

Can we really adapt these ideas to other proof styles?

  • Yes. The key insight is that the combination of nominals and @

allow us to extract information from behind the scope of diamonds. This idea has been successfully applied to define general sequent calculi (Seligman), natural deduction systems (Seligman, Bra¨ uner), and resolution calculi (Areces), and display calculi (Demri and Gor´ e). Let’s take a quick look at the way Torben Bra¨ uner handles natural deduction in hybrid logic.

slide-113
SLIDE 113

Some basic natural deduction rules

[@iϕ] · · · @iψ (→ I) @i(ϕ → ψ) @i(ϕ → ψ) @iϕ (→ E) @iψ @iϕ (@I) @k@iϕ @k@iϕ (@E) @iϕ

slide-114
SLIDE 114

Natural deduction rules for modalities

[@i✸j] · · · @jϕ (✷I)∗ @i✷ϕ @i✷ϕ @i✸k (✷E) @kϕ ∗ j does not occur in @i✷ϕ or in any undischarged assumptions

  • ther than the specified occurrences of @i✸j.
slide-115
SLIDE 115

An example: ✷(ϕ → ψ) → (✷ϕ → ✷ψ)

[@i✷(ϕ → ψ)]3 [@i✸j]1 (✷E) @j(ϕ → ψ) [@i✷ϕ]2 [@i✸j]1 (✷E) @jϕ (→ E) @jψ (✷I)1 @i✷ψ (→ I)2 @i(✷ϕ → ✷ψ) (→ I)3 @i(✷(ϕ → ψ) → (✷ϕ → ✷ψ))

slide-116
SLIDE 116

Is any of this stuff implementable?

Yes — but we need to be careful. For example, the equality rules discussed today are nice for hand calculation, but naive computationally. The HTab system (Areces and Hoffmann) implements more sophisticated rules (due to Bolander and Blackburn) which guarantee termination. The system is optimised in several ways, and is a competitive prover. Though not as fast as the more recent Spartacus prover (Smolka and Kaminski).

slide-117
SLIDE 117

And then there’s resolution

A significant development is the adaptation of the resolution method for hybrid logic (Areces) and the implementation of the HyLoRes prover (Areces, Gor´ ın, and Heguiabehere). Strictly speaking, the method is resolution, plus a little paramodulation to handle the equality reasoning. The hybrid resolution rule is significantly simpler than other known approaches to modal resolution — @ and nominals allow us to pull resolvents

  • ut of the scope of modalities.

Many first-order resolution optimization techniques transfer to hybrid logic, and Areces and Gorin have incorporated such improvements into HyLoRes.

slide-118
SLIDE 118

Summing up . . .

  • Orthodox modal logic demands proof methods that are

applicable to a wide range to of logics. But because it is hard to extract information from under the scope of diamonds it has been forced to rely on Hilbert-systems, thereby sacrificing ease-of-use.

  • The new tools offered by the basic hybrid language (nominals

and @) enable us to define usable proof systems, such as tableau and natural deduction, basically because they make it easy to pull information out of modal scope.

  • These proof methods can be generalized to a wide range of

logics (completeness is automatic for pure formulas). Mature implementations now exist.